juju deploy manila
A REST API for folder shares Read more
Discuss this charm
Share your thoughts on this charm with the community on discourse.
This charm provides the Manila shared file service for an OpenStack Cloud.
In order to use the manila charm, a suitable backend charm is needed to configure a share backend. Without a backend subordinate charm related to the manila-charm there will be no manila backends configured; the manila charm will be stuck in the blocked state.
Manila share backends are configured using subordinate charms
It's necessary to have the ability to configure a share backend independently of the main charm. This means that plugin charms will be used to configure each backend. Multiple backend charms can be related to the manila charm to allow a manaila (juju) application to support multiple share backends.
Essentially, a plugin needs to be able to configure:
- it's section in the manila.conf along with any network plugin's that it needs (assuming that it's a share that manages it's own share-instance).
- ensure that the relevant services are restarted.
This pre-release of manila provides (in the charm store):
- charm-manila: the main charm,
- interface-manila-plugin : the interface for plugging in the generic backend (and other interfaces),
- charm-manila-generic: the plugin for configuring the generic backend.
The backend provides a piece of the manila.conf configuration file with the sections necessary to configure the backend. This is mostly for the share, rather than the api level.
Manila (plus manila-generic) relies on services from the mysql/percona, rabbitmq-server, keystone charms, and a storage backend charm. The following yaml file will create a small, unconfigured, OpenStack system with the necessary components to start testing with Manila. Note that these target the 'next' OpenStack charms which are essentially 'edge' charms.
# vim: set ts=2 et: # Juju 2.0 deploy bundle for development ('next') charms # UOSCI relies on this for OS-on-OS deployment testing series: xenial automatically-retry-hooks: False services: mysql: charm: cs:~openstack-charmers/xenial/percona-cluster num_units: 1 constraints: mem=1G options: dataset-size: 50% root-password: mysql rabbitmq-server: charm: cs:~openstack-charmers/xenial/rabbitmq-server num_units: 1 constraints: mem=1G keystone: charm: cs:~openstack-charmers/xenial/keystone num_units: 1 constraints: mem=1G options: admin-password: openstack admin-token: ubuntutesting preferred-api-version: "2" glance: charm: cs:~openstack-charmers/xenial/glance num_units: 1 constraints: mem=1G nova-cloud-controller: charm: cs:~openstack-charmers/xenial/nova-cloud-controller num_units: 1 constraints: mem=1G options: network-manager: Neutron nova-compute: charm: cs:~openstack-charmers/xenial/nova-compute num_units: 1 constraints: mem=4G neutron-gateway: charm: cs:~openstack-charmers/xenial/neutron-gateway num_units: 1 constraints: mem=1G options: bridge-mappings: physnet1:br-ex instance-mtu: 1300 neutron-api: charm: cs:~openstack-charmers/xenial/neutron-api num_units: 1 constraints: mem=1G options: neutron-security-groups: True flat-network-providers: physnet1 neutron-openvswitch: charm: cs:~openstack-charmers/xenial/neutron-openvswitch cinder: charm: cs:~openstack-charmers/xenial/cinder num_units: 1 constraints: mem=1G options: block-device: vdb glance-api-version: 2 overwrite: 'true' ephemeral-unmount: /mnt manila: charm: cs:~openstack-charmers/xenial/manila num_units: 1 options: debug: True manila-generic: charm: cs:~openstack-charmers/xenial/manila-generic options: debug: True relations: - [ keystone, mysql ] - [ manila, mysql ] - [ manila, rabbitmq-server ] - [ manila, keystone ] - [ manila, manila-generic ] - [ glance, keystone] - [ glance, mysql ] - [ glance, "cinder:image-service" ] - [ nova-compute, "rabbitmq-server:amqp" ] - [ nova-compute, glance ] - [ nova-cloud-controller, rabbitmq-server ] - [ nova-cloud-controller, mysql ] - [ nova-cloud-controller, keystone ] - [ nova-cloud-controller, glance ] - [ nova-cloud-controller, nova-compute ] - [ cinder, keystone ] - [ cinder, mysql ] - [ cinder, rabbitmq-server ] - [ cinder, nova-cloud-controller ] - [ "neutron-gateway:amqp", "rabbitmq-server:amqp" ] - [ neutron-gateway, nova-cloud-controller ] - [ neutron-api, mysql ] - [ neutron-api, rabbitmq-server ] - [ neutron-api, nova-cloud-controller ] - [ neutron-api, neutron-openvswitch ] - [ neutron-api, keystone ] - [ neutron-api, neutron-gateway ] - [ neutron-openvswitch, nova-compute ] - [ neutron-openvswitch, rabbitmq-server ] - [ neutron-openvswitch, manila ]
and then (with juju 2.x):
juju deploy manila.yaml
Note that this OpenStack system will need to be configured (in terms of networking, images, etc.) before testing can commence.
Please report bugs on Launchpad.
For general questions please refer to the OpenStack Charm Guide.