FileDriverSpec


 * 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