This patch adds support for installing, configuring all required ceph-iscsi related packages and daemons. ceph-iscsi requires kernel version 4.16 or greater. To enable set ENABLE_CEPH_ISCSI=True Adds new config options CEPH_ISCSI_TARGET_IQN - the rbd-target-gw iqn to use to export volumes CEPH_ISCSI_API_HOST - the rbd-target-api ip to use to listen on CEPH_ISCSI_API_PORT - the rbd-target-api port CEPH_ISCSI_API_USER - the rbd-target-api user for auth against the api CEPH_ISCSI_API_PASSWORD - the rbd-target-api password for auth against the api The following packages are required and their deps tcmu-runner - this requires kernel version 4.16 and > to work. Ubuntu doesn't have a prebuilt package for this, so we pull it down and compile it. rtslib-fb - has a pypi package configshell-fb - has a pypi package targetcli-fb - doesn't have a pypi package. ceph-iscsi - doesn't have a pypi package. The reference documentaion to setup ceph-iscsi targets and daemons: http://docs.ceph.com/docs/master/rbd/iscsi-target-cli-manual-install Change-Id: Idfac4883b9d31e80124b8f2f1cc60dd9ce18c594
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