DevStack plugin to configure Ceph backend.
Go to file
Sean Mooney f6aebfc076 [Partial Backport] Revert "Temporary pin the ceph jobs nodeset to Focal"
Note(sean-k-mooney):
This is a partail backport of I899822fec863f43cd6c58b25cf4688c6a3ac1e9b
contianing only the change to enable validations in the base job
and the swap/concurrency/mysql changes to account for the high memory
pressure in the job which leads to instablity. All changes outside
of the .zuul.yaml change are dropped as is the depend on for the
cinder-tempest-plugin. cinder-tempest-plugin is branchless
so we do not need to backport it and it is already merged on master
so the depency is fulfilled.

This reverts commit 863a01b032.

Partial revert only for the pin to focal, leaves the broken other jobs
commented out.

Update paste-deploy workaround to be used always.
Add qemu-block-extra and podman deps to the debs list.
Running on the newer ceph and distro causes some quite different
performance characteristics that cause tests that used to pass to fail
more often. This includes some performance optimizations to help
reduce the memory footprint, as well as depends on changes to
tempest tests to improve the reliability of those tests by enabling
validation via SSH.

This also moves the cephadm job to be the voting/gating job as that
seems to be the clear consensus about "the future" of how we deploy
ceph for testing.

Co-Authored-By: Dan Smith <dms@danplanet.com>
Change-Id: I899822fec863f43cd6c58b25cf4688c6a3ac1e9b
(cherry picked from commit 41b6a8c227)
(cherry picked from commit 2d61c38586)
2023-07-12 10:58:37 +00:00
devstack Add cephfs_nfs_cluster_id option 2022-09-14 17:12:43 +00:00
doc Update IRC network to OFTC 2021-05-31 15:05:57 -05:00
.gitignore Set up the doc infra and add doc job 2020-04-22 00:54:27 +00:00
.gitreview Update .gitreview for stable/zed 2022-09-28 10:52:28 +00:00
.zuul.yaml [Partial Backport] Revert "Temporary pin the ceph jobs nodeset to Focal" 2023-07-12 10:58:37 +00:00
CONTRIBUTING.rst [ussuri][goal] Update contributor documentation 2020-04-22 14:07:07 +00:00
LICENSE Initial commit 2015-11-27 19:43:03 +00:00
README.rst TrivialFix: PDF and doc corrections 2020-10-08 15:25:43 -07:00
tempest_skiplist.txt tempest: Use a more appropriate name for the skip list 2021-03-12 17:24:09 +00:00
tempest_skiplist_multinode.txt zuul: Introduce a multinode ceph job 2021-03-12 17:22:54 +00:00
tox.ini Update TOX_CONSTRAINTS_FILE for stable/zed 2022-09-28 10:52:29 +00:00

README.rst

Devstack Ceph Plugin

image

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=True in your localrc
  • 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-ceph

Run stack.sh in 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 resources

Change any of the above lines to False to 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=True

CephFS 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=cephfsnfs

Make sure that the manila plugin is enabled before devstack-plugin-ceph in the local.conf file.

  • Then run stack.sh and 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
  • 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

Bugs