Limit ceph iscsi ubuntu support only to Focal. As only Focal has the required packages and we don't want to install ceph-iscsi from master source code which is changing all the way is not a good way for CI. Remove api_host setting, let it be ceph iscsi default setting "::"[1], Which references to ceph-ansible configuration[2]. This makes rbd-target-api accessible for both localhost(gwcli) and HOST_IP. Otherwise iscsi gateway creation will fail in newer version ceph-iscsi[3]. Change minimum-gateways default to 1 for newer version ceph-iscsi, otherwise client creation will fail on all-in-one setup[4]. Fix gateway creation failure with error: "The first gateway defined must be the local machine" Ceph-iscsi requires gateway name to be FQDN, sometimes hostname is not the same as FQDN. Fix stop_ceph_iscsi run twice. Remove setup_packages_for_iscsi as openstack won't support projects that require packages installed with git clone. [1]: https://github.com/ceph/ceph-iscsi/blob/master/ceph_iscsi_config/gateway_setting.py#L174 [2]: https://github.com/ceph/ceph-ansible/blob/master/roles/ceph-iscsi-gw/templates/iscsi-gateway.cfg.j2 [3]: https://github.com/ceph/ceph-iscsi/issues/193 [4]: https://github.com/ceph/ceph-iscsi/issues/195 Change-Id: I215b870c66cc27f10f8a6bf18d93feda477a3970
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