From c148d77e29af6faebc1c9b012ae08aed447cd179 Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Mon, 22 Jul 2019 12:10:01 -0400 Subject: [PATCH] rbd: start using active-active This patch drops the hacky workaround of using backend_host which is not recommended by the Cinder team and instead uses active-active RBD which has been implemented since Rocky. Closes-Bug: #1837403 Change-Id: I0c8aed4d0608c1f117e1baa1f428875956159ffd --- .../notes/enable-active-active-9af1551759468dc8.yaml | 12 ++++++++++++ templates/cinder.conf.j2 | 7 ++++--- 2 files changed, 16 insertions(+), 3 deletions(-) create mode 100644 releasenotes/notes/enable-active-active-9af1551759468dc8.yaml diff --git a/releasenotes/notes/enable-active-active-9af1551759468dc8.yaml b/releasenotes/notes/enable-active-active-9af1551759468dc8.yaml new file mode 100644 index 00000000..ac46bfee --- /dev/null +++ b/releasenotes/notes/enable-active-active-9af1551759468dc8.yaml @@ -0,0 +1,12 @@ +--- +features: + - Cinder is deployed with Active-Active enabled by default if you are using + Ceph as a backend storage. +issues: + - The previous way of using a common backend_host across all deployments + was not recommended by the Cinder team and it will cause duplicate + messages that cause problems in the environment. +upgrade: + - It is possible that you may need to use the cinder-manage command to migrate + volumes to a specific host. In addition, you will have to remove the old + ``rbd:volumes`` service which will be stale. diff --git a/templates/cinder.conf.j2 b/templates/cinder.conf.j2 index f281e9b0..405627d7 100644 --- a/templates/cinder.conf.j2 +++ b/templates/cinder.conf.j2 @@ -14,6 +14,10 @@ rootwrap_config = /etc/cinder/rootwrap.conf api_paste_config = /etc/cinder/api-paste.ini auth_strategy = {{ cinder_auth_strategy }} +{% if cinder_backend_rbd_inuse | bool %} +cluster = ceph +{% endif %} + ## Cinder Scheduler {% if cinder_scheduler_default_filters is defined %} scheduler_default_filters={{ cinder_scheduler_default_filters | join(',') }} @@ -101,9 +105,6 @@ allowed_direct_url_schemes = cinder {% for backend_section in cinder_backends|dictsort %} [{{ backend_section.0 }}] {% for key, value in (backend_section.1 | dictsort) if key not in ['extra_volume_types', 'shares'] %} -{% if key == "volume_driver" and value == "cinder.volume.drivers.rbd.RBDDriver" %} -backend_host="rbd:volumes" -{% endif %} {{ key }}={{ value }} {% endfor %}