nova volume #8

Supports: precise


OpenStack is a reliable cloud infrastructure. Its mission is to produce the ubiquitous cloud computing platform that will meet the needs of public and private cloud providers regardless of size, by being simple to implement and massively scalable. . OpenStack Compute, codenamed Nova, is a cloud computing fabric controller. In addition to its "native" API (the OpenStack API), it also supports the Amazon EC2 API. . Nova is intended to be modular and easy to extend and adapt. It supports many different hypervisors (KVM and Xen to name a few), different database backends (SQLite, MySQL, and PostgreSQL, for instance), different types of user databases (LDAP or SQL), etc. . This is the package you will install on your storage nodes.

Openstack Nova Volume service provides EBS-like storage to Openstack instances.

This charm will configure Nova volume on a given unit to serve logical volumes over iSCSI via the nova-volume service. All communication between nova-volume and the rest of the Openstack deployment happens over the database and messaging queue thus the charm has two required relations: mysql:shared-db and rabbitmq:amqp.

To deploy along side an existing Openstack deployment, simply:

juju deploy --repository=. local:nova-volume juju add-relation mysql nova-volume juju add-relation rabbitmq nova-volume

Assuming the rest of the Openstack cloud is functioning properly, the volume service will come online.

Overview of config options and corresponding defaults:

nova-release: distro

From which installation source to install the required Nova packages. The default is to install from the Ubuntu archive. You may also specify one of the following: - trunk: upstream trunk PPA (ppa:nova-core/trunk) - milestone: upstream milestone PPA (ppa:nova-core/milestone) - milestone-proposed: upstream milestone PPA (ppa:nova-core/milestone-proposed) - A valid PPA with in LP PPA format: ppa:myaccount/ppaname - A custom URL formated ala: 'deb http://host/ubuntu oneiric main' You may append a GPG Key ID to the end of the line after a |, and the charm will attempt to import it from

block-device: sdb

Nova Volume requires a volume group be created from which to carve out logical volumes. This block device will be initialized as the physical volume that backs this volume group.

You may use either /dev/, , or /path/to/file[|size]. In the third format, '|size' is optional, defaulting to 5G. Example: "/var/lib/nova-volumes/my-vol.img|2G". The size parameter is passed to 'truncate --size'

volume-group: nova-volumes

The volume group to create and use when creating new volumes.

overwrite: false

By default, LVM2 and the charm will refuse to initialize a block device that has existing LVM signatures or is mounted. If this is set to true, the charm will attempt to unmount the block device if is mounted and wipe any traces of LVM from it, prior to initializing it as a new volume group. BEWARE

rabbit-user: nova

Username with which to request access to the messaging queue.

rabbit-vhost: nova

Name of the RabbitMQ virtual host to access. This must be the same across all Nova components.

db-user: nova

Database user with which to request access to the shared MySQL database.

nova-db: nova

Database to request access to. This must be the same across all Nova components.


(string) The *available* block device to create LVM volume group upon.
(string) Comma separated list of key=value config flags to be set in nova.conf.
(string) Username for database access
(string) Database name
(string) Repository from which to install. May be one of the following: distro (default), ppa:somecustom/ppa, a deb url sources entry, or a supported Cloud Archive release pocket. Supported Cloud Archive sources include: cloud:precise-folsom, cloud:precise-folsom/updates, cloud:precise-folsom/staging, cloud:precise-folsom/proposed. Note that updating this setting to a source that is known to provide a later version of OpenStack will trigger a software upgrade.
(string) If 'true', charm will attempt to overwrite storage containing previous filesystems or LVM, assuming it is not in use.
(string) Username used to access rabbitmq queue
(string) Rabbitmq vhost
(string) Name of volume group to create on top of block-device