ceph-ansible/roles/ceph-rgw/tasks/multisite/secondary.yml

74 lines
2.7 KiB
YAML

---
- name: ensure connection to primary cluster from mon
uri:
url: "{{ item.endpoint }}"
delegate_to: "{{ groups[mon_group_name][0] }}"
run_once: true
loop: "{{ secondary_realms }}"
when: secondary_realms is defined
- name: ensure connection to primary cluster from rgw
uri:
url: "{{ item.endpoint }}"
loop: "{{ rgw_instances }}"
- name: fetch the realm(s)
command: "{{ container_exec_cmd }} radosgw-admin realm pull --cluster={{ cluster }} --rgw-realm={{ item.realm }} --url={{ item.endpoint }} --access-key={{ item.system_access_key }} --secret={{ item.system_secret_key }}"
delegate_to: "{{ groups[mon_group_name][0] }}"
run_once: true
loop: "{{ secondary_realms }}"
when: secondary_realms is defined
- name: get the period(s)
command: "{{ container_exec_cmd }} radosgw-admin period get --cluster={{ cluster }} --rgw-realm={{ item.realm }}"
delegate_to: "{{ groups[mon_group_name][0] }}"
run_once: true
loop: "{{ secondary_realms }}"
when: secondary_realms is defined
- name: create the zone(s)
radosgw_zone:
name: "{{ item.zone }}"
cluster: "{{ cluster }}"
realm: "{{ item.realm }}"
zonegroup: "{{ item.zonegroup }}"
access_key: "{{ item.system_access_key }}"
secret_key: "{{ item.system_secret_key }}"
default: "{{ true if zones | length == 1 else false }}"
master: false
delegate_to: "{{ groups[mon_group_name][0] }}"
run_once: true
loop: "{{ zones }}"
when:
- zones is defined
- not item.is_master | bool
environment:
CEPH_CONTAINER_IMAGE: "{{ ceph_docker_registry + '/' + ceph_docker_image + ':' + ceph_docker_image_tag if containerized_deployment | bool else None }}"
CEPH_CONTAINER_BINARY: "{{ container_binary }}"
- name: add endpoints to their zone(s)
radosgw_zone:
name: "{{ item.zone }}"
cluster: "{{ cluster }}"
realm: "{{ item.realm }}"
zonegroup: "{{ item.zonegroup }}"
endpoints: "{{ item.endpoints.split(',') }}"
delegate_to: "{{ groups[mon_group_name][0] }}"
run_once: true
loop: "{{ zone_endpoints_list }}"
when:
- zone_endpoints_list is defined
- not item.is_master | bool
environment:
CEPH_CONTAINER_IMAGE: "{{ ceph_docker_registry + '/' + ceph_docker_image + ':' + ceph_docker_image_tag if containerized_deployment | bool else None }}"
CEPH_CONTAINER_BINARY: "{{ container_binary }}"
- name: update period for zone creation
command: "{{ container_exec_cmd }} radosgw-admin --cluster={{ cluster }} --rgw-realm={{ item.realm }} --rgw-zonegroup={{ item.zonegroup }} --rgw-zone={{ item.zone }} period update --commit"
delegate_to: "{{ groups[mon_group_name][0] }}"
run_once: true
loop: "{{ zone_endpoints_list }}"
when:
- zone_endpoints_list is defined
- not item.is_master | bool