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 <dsavinea@redhat.com>
(cherry picked from commit 7e5e21741e)
pull/4433/head
Dimitri Savineau 2019-09-04 14:35:20 -04:00 committed by mergify[bot]
parent 51f18f9076
commit 3fded4b8ec
4 changed files with 14 additions and 9 deletions

View File

@ -30,6 +30,7 @@ dummy:
#ceph_rbd_mirror_configure: false #ceph_rbd_mirror_configure: false
#ceph_rbd_mirror_pool: "" #ceph_rbd_mirror_pool: ""
#ceph_rbd_mirror_mode: pool
# NOTE (leseb): the following variable needs the name of the remote cluster. # 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 # The name of this cluster must be different than your local cluster simply

View File

@ -22,6 +22,7 @@ ceph_rbd_mirror_local_user: "admin"
ceph_rbd_mirror_configure: false ceph_rbd_mirror_configure: false
ceph_rbd_mirror_pool: "" ceph_rbd_mirror_pool: ""
ceph_rbd_mirror_mode: pool
# NOTE (leseb): the following variable needs the name of the remote cluster. # 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 # The name of this cluster must be different than your local cluster simply

View File

@ -1,4 +1,9 @@
--- ---
- name: add a peer - name: enable mirroring on the pool
command: "rbd mirror pool peer add {{ ceph_rbd_mirror_pool }} {{ ceph_rbd_mirror_remote_user }}@{{ ceph_rbd_mirror_remote_cluster }}" command: "{{ container_exec_cmd | default('') }} rbd --cluster {{ cluster }} mirror pool enable {{ ceph_rbd_mirror_pool }} {{ ceph_rbd_mirror_mode }}"
changed_when: false changed_when: false
- name: add a mirroring peer
command: "{{ container_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

View File

@ -8,14 +8,8 @@
when: cephx | bool when: cephx | bool
- name: tasks for non-containerized deployment - name: tasks for non-containerized deployment
include_tasks: start_rbd_mirror.yml
when: not containerized_deployment | bool when: not containerized_deployment | bool
block:
- name: include start_rbd_mirror.yml
include_tasks: start_rbd_mirror.yml
- name: include configure_mirroring.yml
include_tasks: configure_mirroring.yml
when: ceph_rbd_mirror_configure | bool
- name: tasks for containerized deployment - name: tasks for containerized deployment
when: containerized_deployment | bool when: containerized_deployment | bool
@ -26,3 +20,7 @@
- name: include container/main.yml - name: include container/main.yml
include_tasks: container/main.yml include_tasks: container/main.yml
- name: include configure_mirroring.yml
include_tasks: configure_mirroring.yml
when: ceph_rbd_mirror_configure | bool