--- - name: create list secondary_realms set_fact: secondary_realms: "{{ secondary_realms | default([]) | union([{ 'realm': item.rgw_realm, 'zonegroup': item.rgw_zonegroup, 'zone': item.rgw_zone, 'endpoint': item.endpoint, 'system_access_key': item.system_access_key, 'system_secret_key': item.system_secret_key, 'is_master': item.rgw_zonemaster | default(hostvars[item.host]['rgw_zonemaster']) }]) }}" loop: "{{ rgw_instances_all }}" run_once: true when: not item.rgw_zonemaster | default(hostvars[item.host]['rgw_zonemaster']) | bool - 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 }}" when: not item.rgw_zonemaster | default(rgw_zonemaster) | bool - name: fetch the realm(s) radosgw_realm: name: "{{ item.realm }}" cluster: "{{ cluster }}" url: "{{ item.endpoint }}" access_key: "{{ item.system_access_key }}" secret_key: "{{ item.system_secret_key }}" state: pull delegate_to: "{{ groups[mon_group_name][0] }}" run_once: true loop: "{{ secondary_realms }}" when: secondary_realms is defined 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: 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