Difference between revisions of "FileDriverSpec"
(fixed my name.. :/) |
|||
Line 5: | Line 5: | ||
== Summary == | == Summary == | ||
+ | |||
+ | Implementation of a file based volume driver to manage images created by and creating with qemu-img, for example on a mounted NFS export. | ||
== Release Note == | == Release Note == | ||
− | + | * no code provided for a release at the moment, so no release notes | |
− | + | == Rationale == | |
− | + | * ??? what should i write here ??? | |
== User stories == | == User stories == | ||
+ | |||
+ | * often there are existing big filers only accessible per NFS and not per iSCSI | ||
== Assumptions == | == Assumptions == | ||
+ | |||
+ | * storage is already mounted on the system, it should not be mounted by the driver | ||
+ | * storage is readable and writable by the nova-volume process | ||
+ | * storage is mounted, readable and writable on all compute nodes | ||
+ | ** for example by using NFS or OCFS2 | ||
+ | * it's possible to use more than one mountpoint to storage the images | ||
+ | * it's possible to specify the used format | ||
== Design == | == Design == | ||
− | + | * at the moment "local" storage can only be used by using LVM2 | |
== Implementation == | == Implementation == | ||
− | + | * check if the specified storage is correctly mounted and writable before creating a new image | |
+ | * create a new images with ''qemu-img'' | ||
+ | * remove images with ''rm'' | ||
+ | ** mabye better to use a Python library here | ||
+ | * check needed free storage on the storage with ''df'' | ||
+ | ** mabye better to use a Python library here | ||
+ | * add a new FLAG to set the default format | ||
+ | * add a new FLAG to specify one or more mountpoints to be used to store new images | ||
+ | * add the possibility to import already created images as a new volume | ||
+ | ** useful for migrating and using existing images into/in the cloud | ||
+ | * add the possibility to choose the used format per volume | ||
+ | * add the possibility to choose the used mountpoint per volume | ||
+ | * add the possibility to move one image from a mountpoint to an other one | ||
=== UI Changes === | === UI Changes === | ||
− | + | * add a new list in the dashboard to choose the format to use by newly created volume | |
=== Code Changes === | === Code Changes === | ||
− | + | * create new method [[FileDriver]]() in nova/volume/driver.py implementing the points described unter ''Implementation'' | |
=== Migration === | === Migration === | ||
− | + | * I don't know if it's possible at the momentan to use 2 volume drivers in one Nova setup | |
− | * | + | ** if it's possible there has to be implemented a method to migrate from and to migrate to a file image |
− | * | ||
− | |||
== Test/Demo Plan == | == Test/Demo Plan == | ||
Line 47: | Line 68: | ||
== Unresolved issues == | == Unresolved issues == | ||
− | + | * no implementation at the moment, so there are no unresolved issues | |
== BoF agenda and discussion == | == BoF agenda and discussion == | ||
− | + | * no discussion at the moment | |
---- | ---- | ||
[[Category:Spec]] | [[Category:Spec]] |
Revision as of 12:52, 8 February 2011
- Launchpad Entry: NovaSpec:filedriver
- Created: 2011-02-08
- Contributors: Christian Berendt
Summary
Implementation of a file based volume driver to manage images created by and creating with qemu-img, for example on a mounted NFS export.
Release Note
- no code provided for a release at the moment, so no release notes
Rationale
- ??? what should i write here ???
User stories
- often there are existing big filers only accessible per NFS and not per iSCSI
Assumptions
- storage is already mounted on the system, it should not be mounted by the driver
- storage is readable and writable by the nova-volume process
- storage is mounted, readable and writable on all compute nodes
- for example by using NFS or OCFS2
- it's possible to use more than one mountpoint to storage the images
- it's possible to specify the used format
Design
- at the moment "local" storage can only be used by using LVM2
Implementation
- check if the specified storage is correctly mounted and writable before creating a new image
- create a new images with qemu-img
- remove images with rm
- mabye better to use a Python library here
- check needed free storage on the storage with df
- mabye better to use a Python library here
- add a new FLAG to set the default format
- add a new FLAG to specify one or more mountpoints to be used to store new images
- add the possibility to import already created images as a new volume
- useful for migrating and using existing images into/in the cloud
- add the possibility to choose the used format per volume
- add the possibility to choose the used mountpoint per volume
- add the possibility to move one image from a mountpoint to an other one
UI Changes
- add a new list in the dashboard to choose the format to use by newly created volume
Code Changes
- create new method FileDriver() in nova/volume/driver.py implementing the points described unter Implementation
Migration
- I don't know if it's possible at the momentan to use 2 volume drivers in one Nova setup
- if it's possible there has to be implemented a method to migrate from and to migrate to a file image
Test/Demo Plan
This need not be added or completed until the specification is nearing beta.
Unresolved issues
- no implementation at the moment, so there are no unresolved issues
BoF agenda and discussion
- no discussion at the moment