Enable creation of BDM via Instance Flavor Extra-Specs

Registered by John Griffith on 2017-02-10

This blueprint has been superseded. See the newer blueprint "Nova using ephemeral storage with cinder" for updated plans.

There has been an expressed desire among OpenStack Deployers to have the ability to use Cinder Volumes as ephemeral backing stores for their Nova Instances. We have offered the ability to specify this via the block-device options to Nova boot, but it is a bit of an awkward command line, and more importantly there are a number of folks that would prefer to just use a Cinder volume for their Instances as a default.

We can do this pretty easily via the Flavor Extra-Specs. We can just add some simple logic to Nova to check the extra-specs of a flavor during Instance creation and if indicated by the Flavor build the BDM and use a Cinder Volume.

Additionally in the future, we can use this is conjunction with Cinder backed Glance and optimize a number of things in the image creation process and migration for any Cinder backend.

The idea here is simply to provide a mechanism to utilize a Cinder deployment for disk space for Nova Ephemeral Instances. There are lots of other ways to go about this, including API changes or actually going through and implementing instance backing in Nova like:
  Ceph
  NFS
  Gluster
  Scality
  ...

Honestly though, that seems like a ton of code for a simple thing; AND I am attempting to provide a general mechanism for multiple backends to use as opposed to continuing to proliferate one-off vendor-specific implementations that are far reaching inside the Nova code and introduce a significant maintenance and test burden.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
John Griffith
Direction:
Needs approval
Assignee:
John Griffith
Definition:
Superseded
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
Matt Riedemann

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/create-bdm-from-flavor-extra-specs,n,z

Addressed by: https://review.openstack.org/432503
    Enable specifying BDM in Flavor Extra-Specs

mgagne shared what they do in their cloud, which is the same idea, just implemented via API paste middleware:

https://gist.github.com/mgagne/161bd7eaeb4c747fa1ae97c0bc43c093

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.