Jump to: navigation, search

Difference between revisions of "FileDriverSpec"

(fixed my name.. :/)
m (Text replace - "NovaSpec" to "NovaSpec")
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
__NOTOC__
+
 
* '''Launchpad Entry''': [[NovaSpec]]:filedriver
+
* '''Launchpad Entry''': NovaSpec:filedriver
 
* '''Created''': 2011-02-08
 
* '''Created''': 2011-02-08
 
* '''Contributors''': [[ChristianBerendt|Christian Berendt]]
 
* '''Contributors''': [[ChristianBerendt|Christian Berendt]]
  
 
== 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 ==
  
This section should include a paragraph describing the end-user impact of this change.  It is meant to be included in the release notes of the first release in which it is implemented.  (Not all of these will actually be included in the release notes, at the release manager's discretion; but writing them is a useful exercise.)
+
* no code provided for a release at the moment, so no release notes
  
It is mandatory.
+
== Rationale ==
  
== 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 ==
  
You can have subsections that better describe specific parts of the issue.
+
* at the moment "local" storage can only be used by using LVM2
  
 
== Implementation ==
 
== Implementation ==
  
This section should describe a plan of action (the "how") to implement the changes discussed. Could include subsections like:
+
* 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 ===
  
Should cover changes required to the UI, or specific UI that is required to implement this
+
* add a new list in the dashboard to choose the format to use by newly created volume
  
 
=== Code Changes ===
 
=== Code Changes ===
  
Code changes should include an overview of what needs to change, and in some cases even the specific details.
+
* create new method [[FileDriver]]() in nova/volume/driver.py implementing the points described unter ''Implementation''
  
 
=== Migration ===
 
=== Migration ===
  
Include:
+
* I don't know if it's possible at the momentan to use 2 volume drivers in one Nova setup
* data migration, if any
+
** if it's possible there has to be implemented a method to migrate from and to migrate to a file image
* redirects from old URLs to new ones, if any
 
* how users will be pointed to the new way of doing things, if necessary.
 
  
 
== Test/Demo Plan ==
 
== Test/Demo Plan ==
Line 47: Line 68:
 
== Unresolved issues ==
 
== Unresolved issues ==
  
This should highlight any issues that should be addressed in further specifications, and not problems with the specification itself; since any specification with problems cannot be approved.
+
* no implementation at the moment, so there are no unresolved issues
  
 
== BoF agenda and discussion ==
 
== BoF agenda and discussion ==
  
Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected.
+
* no discussion at the moment
  
 
----
 
----
 
[[Category:Spec]]
 
[[Category:Spec]]

Latest revision as of 23:31, 17 February 2013

  • 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