I would like to add to DevStack the ability to stand up Nova with LVM ephemeral
storage. Below is a draft of the blueprint describing the proposed feature.

Suggestions on architecture, implementation and the blueprint in general are very


Enable LVM ephemeral storage for Nova

Currently DevStack supports only file based ephemeral storage for Nova, e.g., raw and qcow2. This is an obstacle to Tempest testing of Nova with LVM ephemeral
storage, which in the past has been inadvertantly broken
(see for example, https://bugs.launchpad.net/nova/+bug/1373962), and to Tempest testing of new features based on LVM ephemeral storage, such as LVM ephemeral
storage encryption.

To enable Nova to come up with LVM ephemeral storage it must be provided a
volume group. Based on an initial discussion with Dean Troyer, this is best
achieved by creating a single volume group for all services that potentially
need LVM storage; at the moment these are Nova and Cinder.

Implementation of this feature will:

 * move code in lib/cinder/cinder_backends/lvm to lib/lvm with appropriate

 * rename the Cinder volume group to something generic, e.g., devstack-vg

 * modify the Cinder initialization and cleanup code appropriately to use
   the new volume group

 * initialize the volume group in stack.sh, shortly before services are

 * cleanup the volume group in unstack.sh after the services have been

The question of how large to make the common Nova-Cinder volume group in order
to enable LVM ephemeral Tempest testing will have to be explored. Although,
given the tiny instance disks used in Nova Tempest tests, the current
Cinder volume group size may already be adequate.

No new configuration options will be necessary, assuming the volume group size
will not be made configurable.

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

OpenStack-dev mailing list

Reply via email to