Let the plugin setup and configure CephFS as the storage backend for Manila. This is not done by default. Refer the README to do so. Add 'pre_test_hook' and 'post_test_hook' scripts that would be needed to configure Manila-Ceph CI jobs. The following changes are also made: * Install a development version of Ceph that is compatible with Manila's CephFSNative driver. * The development version is a version greater than Infernalis. And from Infernalis onwards, the ceph daemons are run as user "ceph". So allow the daemons to run as user "ceph" for such versions. * Enhance get_ceph_version to check Ceph version even when the ceph mon daemon is not up, by checking the CLI version. Co-Authored-By: John Spray <john.spray@redhat.com> Change-Id: I74314bfcc6b52d524bb84f2232a988f275b9afbf
Devstack Ceph Plugin
Overview
Devstack plugin to configure Ceph as the storage backend for openstack services
As part of stack.sh:
- Installs Ceph (client and server) packages
- Creates a Ceph cluster for use with openstack services
- Configures Ceph as the storage backend for Cinder, Cinder Backup, Nova, Manila (not by default), and Glance services
- Supports Ceph cluster running local or remote to openstack services
As part of unstack.sh | clean.sh:
- Tears down the Ceph cluster and its related services
This plugin also gets used to configure Ceph as the storage backend for the upstream Ceph CI job named gate-tempest-dsvm-full-devstack-plugin-ceph
How to use
-
Enable the plugin in
localrc:enable_plugin devstack-plugin-ceph git://git.openstack.org/openstack/devstack-plugin-ceph -
Ceph is setup as the default storage backend for Cinder, Cinder Backup, Glance and Nova services. To disable Ceph disable as the storage backend for a service use the following setting in the
localrcfile,ENABLE_CEPH_$SERVICE=Falsewhere $SERVICE can be CINDER, C_BAK, GLANCE or NOVA corresponding to Cinder, Cinder Backup, Glance, and Nova services respectively.
-
Ceph can be enabled as the storage backend for Manila with the following setting in the
localrcfile,ENABLE_CEPH_MANILA=TrueMake sure that the manila plugin is enabled before devstack-plugin-ceph in the
localrcfile. -
Then run
stack.shand wait for the magic to happen :)
TODOs
- Configuring Rados Gateway with Keystone for Swift
- Add support for Ceph Infernalis release
- Add support for distro specific ceph repos
- Add Manila support for non-Ubuntu systems