From 27217af369bb317b76965c426bf94a6fcab20934 Mon Sep 17 00:00:00 2001 From: Dimitri Savineau Date: Wed, 4 Sep 2019 14:35:20 -0400 Subject: [PATCH] rbd-mirror: configure pool and peer The rbd mirror configuration was only available for non containerized deployment and was also imcomplete. We now enable the mirroring on the pool and add the remote peer in both scenarios. The default mirroring mode is set to 'pool' but can be configured via the ceph_rbd_mirror_mode variable. This commit also fixes an issue on the rbd mirror command if the ceph cluster name isn't using the default value (ceph) due to a missing --cluster parameter to the command. Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1665877 Signed-off-by: Dimitri Savineau (cherry picked from commit 7e5e21741eb0143e3d981dc1891253ad331d9753) --- group_vars/rbdmirrors.yml.sample | 1 + roles/ceph-rbd-mirror/defaults/main.yml | 1 + roles/ceph-rbd-mirror/tasks/configure_mirroring.yml | 10 ++++++++-- roles/ceph-rbd-mirror/tasks/main.yml | 10 ++++------ 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/group_vars/rbdmirrors.yml.sample b/group_vars/rbdmirrors.yml.sample index 58e6f7016..a0a3a6769 100644 --- a/group_vars/rbdmirrors.yml.sample +++ b/group_vars/rbdmirrors.yml.sample @@ -30,6 +30,7 @@ dummy: #ceph_rbd_mirror_configure: false #ceph_rbd_mirror_pool: "" +#ceph_rbd_mirror_mode: pool # NOTE (leseb): the following variable needs the name of the remote cluster. # The name of this cluster must be different than your local cluster simply diff --git a/roles/ceph-rbd-mirror/defaults/main.yml b/roles/ceph-rbd-mirror/defaults/main.yml index c7f1172a3..afe7228a7 100644 --- a/roles/ceph-rbd-mirror/defaults/main.yml +++ b/roles/ceph-rbd-mirror/defaults/main.yml @@ -22,6 +22,7 @@ ceph_rbd_mirror_local_user: "admin" ceph_rbd_mirror_configure: false ceph_rbd_mirror_pool: "" +ceph_rbd_mirror_mode: pool # NOTE (leseb): the following variable needs the name of the remote cluster. # The name of this cluster must be different than your local cluster simply diff --git a/roles/ceph-rbd-mirror/tasks/configure_mirroring.yml b/roles/ceph-rbd-mirror/tasks/configure_mirroring.yml index 66c32e19e..54163c202 100644 --- a/roles/ceph-rbd-mirror/tasks/configure_mirroring.yml +++ b/roles/ceph-rbd-mirror/tasks/configure_mirroring.yml @@ -1,3 +1,9 @@ --- -- name: add a peer - shell: "rbd mirror pool peer add {{ ceph_rbd_mirror_pool }} {{ ceph_rbd_mirror_remote_user }}@{{ ceph_rbd_mirror_remote_cluster }}" +- name: enable mirroring on the pool + command: "{{ docker_exec_cmd | default('') }} rbd --cluster {{ cluster }} mirror pool enable {{ ceph_rbd_mirror_pool }} {{ ceph_rbd_mirror_mode }}" + changed_when: false + +- name: add a mirroring peer + shell: "{{ docker_exec_cmd | default('') }} rbd --cluster {{ cluster }} mirror pool peer add {{ ceph_rbd_mirror_pool }} {{ ceph_rbd_mirror_remote_user }}@{{ ceph_rbd_mirror_remote_cluster }}" + changed_when: false + failed_when: false diff --git a/roles/ceph-rbd-mirror/tasks/main.yml b/roles/ceph-rbd-mirror/tasks/main.yml index 82a33975d..70f55b3c7 100644 --- a/roles/ceph-rbd-mirror/tasks/main.yml +++ b/roles/ceph-rbd-mirror/tasks/main.yml @@ -18,13 +18,11 @@ when: - not containerized_deployment -- name: include configure_mirroring.yml - include_tasks: configure_mirroring.yml - when: - - ceph_rbd_mirror_configure - - not containerized_deployment - - name: include docker/main.yml include_tasks: docker/main.yml when: - containerized_deployment + +- name: include configure_mirroring.yml + include_tasks: configure_mirroring.yml + when: ceph_rbd_mirror_configure | bool -- 2.39.5