]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commit
rgw: multisite refact
authorGuillaume Abrioux <gabrioux@redhat.com>
Thu, 14 Jan 2021 16:52:39 +0000 (17:52 +0100)
committerGuillaume Abrioux <gabrioux@redhat.com>
Wed, 27 Jan 2021 14:46:43 +0000 (15:46 +0100)
commit71a5e666e39b11cd7945afa28a9f6fbe7de8c2b7
treeacdbe476fcf03a3439d19efb537afa307a4d8e26
parentfedb36688dbf05521966ee22e831283f0967d17a
rgw: multisite refact

Add the possibility to deploy rgw multisite configuration with a mix of
secondary and primary zones on a same rgw node.
Before that, on a same node, all instances were either primary
zones *OR* secondary.

Now you can define a rgw instance like following:

```
rgw_instances:
  - instance_name: 'rgw0'
    rgw_zonemaster: false
    rgw_zonesecondary: true
    rgw_zonegroupmaster: false
    rgw_realm: 'france'
    rgw_zonegroup: 'zonegroup-france'
    rgw_zone: paris-00
    radosgw_address: "{{ _radosgw_address }}"
    radosgw_frontend_port: 8080
    rgw_zone_user: jacques.chirac
    rgw_zone_user_display_name: "Jacques Chirac"
    system_access_key: P9Eb6S8XNyo4dtZZUUMy
    system_secret_key: qqHCUtfdNnpHq3PZRHW5un9l0bEBM812Uhow0XfB
    endpoint: http://192.168.101.12:8080
```

Basically it's now possible to define `rgw_zonemaster`,
`rgw_zonesecondary` and `rgw_zonegroupmaster` at the intsance
level instead of the whole node level.

Also, this commit adds an option `deploy_secondary_zones` (default True)
which can be set to `False` in order to explicitly ask the playbook to
not deploy secondary zones in case where the corresponding endpoint are
not deployed yet.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1915478
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
34 files changed:
module_utils/ca_common.py
roles/ceph-config/templates/ceph.conf.j2
roles/ceph-rgw/tasks/multisite/create_realm_zonegroup_zone_lists.yml [deleted file]
roles/ceph-rgw/tasks/multisite/create_zone_user.yml
roles/ceph-rgw/tasks/multisite/main.yml
roles/ceph-rgw/tasks/multisite/secondary.yml
roles/ceph-rgw/tasks/start_radosgw.yml
roles/ceph-validate/tasks/check_rgw_multisite.yml
tests/functional/rgw-multisite/container/group_vars/all
tests/functional/rgw-multisite/container/group_vars/rgws
tests/functional/rgw-multisite/container/host_vars/osd0
tests/functional/rgw-multisite/container/host_vars/rgw0 [new file with mode: 0644]
tests/functional/rgw-multisite/container/hosts
tests/functional/rgw-multisite/container/secondary/group_vars/all
tests/functional/rgw-multisite/container/secondary/group_vars/rgws
tests/functional/rgw-multisite/container/secondary/host_vars/osd0
tests/functional/rgw-multisite/container/secondary/host_vars/rgw0 [new file with mode: 0644]
tests/functional/rgw-multisite/container/secondary/hosts
tests/functional/rgw-multisite/container/secondary/vagrant_variables.yml
tests/functional/rgw-multisite/container/vagrant_variables.yml
tests/functional/rgw-multisite/group_vars/all
tests/functional/rgw-multisite/group_vars/rgws
tests/functional/rgw-multisite/host_vars/osd0
tests/functional/rgw-multisite/host_vars/rgw0 [new file with mode: 0644]
tests/functional/rgw-multisite/hosts
tests/functional/rgw-multisite/secondary/group_vars/all
tests/functional/rgw-multisite/secondary/group_vars/rgws
tests/functional/rgw-multisite/secondary/host_vars/osd0
tests/functional/rgw-multisite/secondary/host_vars/rgw0 [new file with mode: 0644]
tests/functional/rgw-multisite/secondary/hosts
tests/functional/rgw-multisite/secondary/vagrant_variables.yml
tests/functional/rgw-multisite/vagrant_variables.yml
tests/functional/rgw_multisite.yml
tox.ini