We were using Jewel/Luminous. Being a developer tool, we should be sticking with newer versions. This patch set also adds the following changes - Refactor setup_packages_for_manila_on_<distro> functions - Removes ceph_init call. Seems it lost relevance - Removes APT repositories setup. We directly use shaman/chacra packages directly - Removes RUN_AS env var. It has been a while since Ceph defaults to ceph user to run all the services. No longer needed. - Removes sleep calls for services start checks. We use systemctl checks. - Adds more debugging logs - Uses the search API from ceph shaman instead of hardwiring urls - Adds the jq (JSON processor) dependency Change-Id: I51c90e592070b99422e692d5e9e97083d93146e8
Team and repository tags
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
- (Optionally) Sets up & configures Rados gateway (aka rgw or radosgw) as a Swift endpoint with Keystone integration
- Set
ENABLE_CEPH_RGW=Truein yourlocalrc
- Set
- 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
Usage
-
To get started quickly, just enable the plugin in your
local.conf:enable_plugin devstack-plugin-ceph https://opendev.org/openstack/devstack-plugin-cephRun
stack.shin your devstack tree and boom! You're good to go. -
Ceph is setup as the default storage backend for Cinder, Cinder Backup, Glance and Nova services. You have the ability to control each of the enabled services with the following configuration in your
local.conf:ENABLE_CEPH_CINDER=True # ceph backend for cinder ENABLE_CEPH_GLANCE=True # store images in ceph ENABLE_CEPH_C_BAK=True # backup volumes to ceph ENABLE_CEPH_NOVA=True # allow nova to use ceph resourcesChange any of the above lines to
Falseto disable that feature specifically. -
Ceph can be enabled as the storage backend for Manila with the following setting in your
local.conf:ENABLE_CEPH_MANILA=TrueCephFS Native driver that supports native Ceph protocol is used by default. To use CephFS NFS-Ganesha driver that supports NFS protocol add the setting:
MANILA_CEPH_DRIVER=cephfsnfsMake sure that the manila plugin is enabled before devstack-plugin-ceph in the
local.conffile. -
Then run
stack.shand wait for the magic to happen :)
Known Issues / Limitations
- Rados Gateway with Keystone for Swift - works on Ubuntu only
- Tempest test failures when using RGW as swift endpoint
- Tempest fails due to verify-tempest-config erroring out, when using RGW as swift endpoint
- Patch sent @ https://review.openstack.org/#/c/264179/
- Manila with CephFS - for Ubuntu, support only for Trusty Tahr (14.04 LTS) and beyond
TODOs
- Fix Rados Gateway with Keystone for Swift on Fedora