mirror of https://github.com/ceph/ceph-ansible.git
82 lines
3.3 KiB
YAML
82 lines
3.3 KiB
YAML
---
|
|
- 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)
|
|
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
|