2015-07-28 21:44:52 +08:00
|
|
|
---
|
2017-09-15 06:48:53 +08:00
|
|
|
- name: include copy_configs.yml
|
|
|
|
include: copy_configs.yml
|
2017-09-11 16:54:03 +08:00
|
|
|
when: not containerized_deployment_with_kv
|
|
|
|
|
2017-09-15 06:48:53 +08:00
|
|
|
- name: include start_docker_monitor.yml
|
|
|
|
include: start_docker_monitor.yml
|
2016-03-16 00:32:17 +08:00
|
|
|
|
2017-02-03 05:52:24 +08:00
|
|
|
- name: wait for monitor socket to exist
|
2018-02-02 16:45:07 +08:00
|
|
|
command: "docker exec ceph-mon-{{ ansible_hostname }} sh -c 'stat /var/run/ceph/{{ cluster }}-mon.{{ ansible_hostname }}.asok || stat /var/run/ceph/{{ cluster }}-mon.{{ ansible_fqdn }}.asok'"
|
2017-02-03 05:52:24 +08:00
|
|
|
register: monitor_socket
|
|
|
|
retries: 5
|
2017-03-16 18:16:49 +08:00
|
|
|
delay: 15
|
2017-02-03 05:52:24 +08:00
|
|
|
until: monitor_socket.rc == 0
|
|
|
|
|
2017-08-25 20:36:07 +08:00
|
|
|
- name: ipv4 - force peer addition as potential bootstrap peer for cluster bringup - monitor_interface
|
|
|
|
command: docker exec ceph-mon-{{ ansible_hostname }} ceph --admin-daemon /var/run/ceph/{{ cluster }}-mon.{{ monitor_name }}.asok add_bootstrap_peer_hint {{ hostvars[groups[mon_group_name][0]]['ansible_' + monitor_interface].ipv4.address }}
|
2017-02-03 05:52:24 +08:00
|
|
|
changed_when: false
|
|
|
|
failed_when: false
|
|
|
|
when:
|
2017-04-13 01:57:33 +08:00
|
|
|
- not containerized_deployment_with_kv
|
2017-08-24 01:09:49 +08:00
|
|
|
- ip_version == 'ipv4'
|
2017-08-25 20:36:07 +08:00
|
|
|
- hostvars[groups[mon_group_name][0]]['monitor_interface'] is defined
|
|
|
|
- hostvars[groups[mon_group_name][0]]['monitor_interface'] != 'interface'
|
2017-08-24 01:09:49 +08:00
|
|
|
|
2017-08-25 20:36:07 +08:00
|
|
|
- name: ipv4 - force peer addition as potential bootstrap peer for cluster bringup - monitor_address
|
|
|
|
command: docker exec ceph-mon-{{ ansible_hostname }} ceph --admin-daemon /var/run/ceph/{{ cluster }}-mon.{{ monitor_name }}.asok add_bootstrap_peer_hint {{ hostvars[groups[mon_group_name][0]]['monitor_address'] }}
|
|
|
|
changed_when: false
|
|
|
|
failed_when: false
|
|
|
|
when:
|
|
|
|
- not containerized_deployment_with_kv
|
|
|
|
- ip_version == 'ipv4'
|
|
|
|
- hostvars[groups[mon_group_name][0]]['monitor_address'] is defined
|
|
|
|
- hostvars[groups[mon_group_name][0]]['monitor_address'] != '0.0.0.0'
|
|
|
|
|
|
|
|
- name: ipv4 - force peer addition as potential bootstrap peer for cluster bringup - monitor_address_block
|
|
|
|
command: docker exec ceph-mon-{{ ansible_hostname }} ceph --admin-daemon /var/run/ceph/{{ cluster }}-mon.{{ monitor_name }}.asok add_bootstrap_peer_hint {{ hostvars[groups[mon_group_name][0]]['ansible_all_' + ip_version + '_addresses'] | ipaddr(monitor_address_block) | first }}
|
|
|
|
changed_when: false
|
|
|
|
failed_when: false
|
|
|
|
when:
|
|
|
|
- not containerized_deployment_with_kv
|
|
|
|
- ip_version == 'ipv4'
|
|
|
|
- hostvars[groups[mon_group_name][0]]['monitor_address_block'] is defined
|
2017-10-19 00:03:30 +08:00
|
|
|
- hostvars[groups[mon_group_name][0]]['monitor_address_block'] != 'subnet'
|
2017-08-25 20:36:07 +08:00
|
|
|
|
|
|
|
- name: ipv6 - force peer addition as potential bootstrap peer for cluster bringup - monitor_interface
|
|
|
|
command: docker exec ceph-mon-{{ ansible_hostname }} ceph --admin-daemon /var/run/ceph/{{ cluster }}-mon.{{ monitor_name }}.asok add_bootstrap_peer_hint [{{ hostvars[groups[mon_group_name][0]]['ansible_' + monitor_interface].ipv6[0].address }}]
|
|
|
|
changed_when: false
|
|
|
|
failed_when: false
|
|
|
|
when:
|
|
|
|
- not containerized_deployment_with_kv
|
|
|
|
- ip_version == 'ipv6'
|
|
|
|
- hostvars[groups[mon_group_name][0]]['monitor_interface'] is defined
|
|
|
|
- hostvars[groups[mon_group_name][0]]['monitor_interface'] != 'interface'
|
|
|
|
|
|
|
|
- name: ipv6 - force peer addition as potential bootstrap peer for cluster bringup - monitor_address
|
|
|
|
command: docker exec ceph-mon-{{ ansible_hostname }} ceph --admin-daemon /var/run/ceph/{{ cluster }}-mon.{{ monitor_name }}.asok add_bootstrap_peer_hint [{{ hostvars[groups[mon_group_name][0]]['monitor_address'] }}]
|
|
|
|
changed_when: false
|
|
|
|
failed_when: false
|
|
|
|
when:
|
|
|
|
- not containerized_deployment_with_kv
|
|
|
|
- ip_version == 'ipv6'
|
|
|
|
- hostvars[groups[mon_group_name][0]]['monitor_address'] is defined
|
|
|
|
- hostvars[groups[mon_group_name][0]]['monitor_address'] != '0.0.0.0'
|
|
|
|
|
|
|
|
- name: ipv6 - force peer addition as potential bootstrap peer for cluster bringup - monitor_address_block
|
|
|
|
command: docker exec ceph-mon-{{ ansible_hostname }} ceph --admin-daemon /var/run/ceph/{{ cluster }}-mon.{{ monitor_name }}.asok add_bootstrap_peer_hint [{{ hostvars[groups[mon_group_name][0]]['ansible_all_' + ip_version + '_addresses'] | ipaddr(monitor_address_block) | first }}]
|
2017-08-24 01:09:49 +08:00
|
|
|
changed_when: false
|
|
|
|
failed_when: false
|
|
|
|
when:
|
|
|
|
- not containerized_deployment_with_kv
|
|
|
|
- ip_version == 'ipv6'
|
2017-08-25 20:36:07 +08:00
|
|
|
- hostvars[groups[mon_group_name][0]]['monitor_address_block'] is defined
|
2017-10-19 00:03:30 +08:00
|
|
|
- hostvars[groups[mon_group_name][0]]['monitor_address_block'] != 'subnet'
|
2016-11-06 12:15:26 +08:00
|
|
|
|
2017-09-15 06:48:53 +08:00
|
|
|
- name: include fetch_configs.yml
|
|
|
|
include: fetch_configs.yml
|
2017-04-13 01:57:33 +08:00
|
|
|
when: not containerized_deployment_with_kv
|
2016-03-22 23:58:20 +08:00
|
|
|
|
|
|
|
- name: create ceph rest api keyring when mon is containerized
|
2017-02-20 17:03:49 +08:00
|
|
|
command: docker exec ceph-mon-{{ ansible_hostname }} ceph --cluster {{ cluster }} auth get-or-create client.restapi osd 'allow *' mon 'allow *' -o /etc/ceph/{{ cluster }}.client.restapi.keyring
|
2016-03-22 23:58:20 +08:00
|
|
|
args:
|
2017-06-23 22:05:35 +08:00
|
|
|
creates: "{{ ceph_conf_key_directory }}/{{ cluster }}.client.restapi.keyring"
|
2016-03-22 23:58:20 +08:00
|
|
|
changed_when: false
|
|
|
|
when:
|
2016-05-09 22:08:33 +08:00
|
|
|
- cephx
|
2017-04-13 01:57:33 +08:00
|
|
|
- containerized_deployment
|
2016-05-09 22:08:33 +08:00
|
|
|
- groups[restapi_group_name] is defined
|
2017-03-24 14:40:15 +08:00
|
|
|
- "{{ inventory_hostname == groups[mon_group_name] | last }}"
|
2017-04-13 01:57:33 +08:00
|
|
|
- not containerized_deployment_with_kv
|
2017-02-24 17:22:16 +08:00
|
|
|
|
2017-04-11 20:20:11 +08:00
|
|
|
- block:
|
|
|
|
- name: create ceph mgr keyring(s) when mon is containerized
|
2017-04-20 22:17:45 +08:00
|
|
|
command: docker exec ceph-mon-{{ ansible_hostname }} ceph --cluster {{ cluster }} auth get-or-create mgr.{{ hostvars[item]['ansible_hostname'] }} mon 'allow profile mgr' osd 'allow *' mds 'allow *' -o /etc/ceph/{{ cluster }}.mgr.{{ hostvars[item]['ansible_hostname'] }}.keyring
|
2017-04-11 20:20:11 +08:00
|
|
|
args:
|
2017-06-23 22:05:35 +08:00
|
|
|
creates: "{{ ceph_conf_key_directory }}/{{ cluster }}.mgr.{{ hostvars[item]['ansible_hostname'] }}.keyring"
|
2017-04-11 20:20:11 +08:00
|
|
|
changed_when: false
|
|
|
|
when:
|
|
|
|
- cephx
|
2017-04-13 01:57:33 +08:00
|
|
|
- containerized_deployment
|
2017-04-11 20:20:11 +08:00
|
|
|
- "{{ groups.get(mgr_group_name, []) | length > 0 }}"
|
2017-04-13 01:57:33 +08:00
|
|
|
- not containerized_deployment_with_kv
|
2017-04-11 20:20:11 +08:00
|
|
|
with_items: "{{ groups.get(mgr_group_name, []) }}"
|
|
|
|
|
|
|
|
- name: stat for ceph mgr key(s)
|
|
|
|
stat:
|
2017-06-23 22:05:35 +08:00
|
|
|
path: "{{ ceph_conf_key_directory }}/{{ cluster }}.mgr.{{ hostvars[item]['ansible_hostname'] }}.keyring"
|
2017-04-11 20:20:11 +08:00
|
|
|
with_items: "{{ groups.get(mgr_group_name, []) }}"
|
|
|
|
changed_when: false
|
|
|
|
become: false
|
|
|
|
failed_when: false
|
|
|
|
register: stat_mgr_keys
|
2017-10-25 22:53:34 +08:00
|
|
|
check_mode: no
|
2017-04-11 20:20:11 +08:00
|
|
|
when:
|
|
|
|
- "{{ groups.get(mgr_group_name, []) | length > 0 }}"
|
|
|
|
|
2017-09-11 16:54:03 +08:00
|
|
|
- name: fetch ceph mgr key(s)
|
2017-04-11 20:20:11 +08:00
|
|
|
fetch:
|
2017-06-23 22:05:35 +08:00
|
|
|
src: "{{ ceph_conf_key_directory }}/{{ cluster }}.mgr.{{ hostvars[item.item]['ansible_hostname'] }}.keyring"
|
2017-07-13 22:22:54 +08:00
|
|
|
dest: "{{ fetch_directory }}/{{ fsid }}/{{ item.stat.path }}"
|
2017-04-11 20:20:11 +08:00
|
|
|
flat: yes
|
|
|
|
with_items:
|
|
|
|
- "{{ stat_mgr_keys.results }}"
|
|
|
|
when:
|
|
|
|
- item.stat.exists == true
|
2017-03-16 17:17:08 +08:00
|
|
|
when:
|
|
|
|
- inventory_hostname == groups[mon_group_name]|last
|
2017-10-13 00:27:36 +08:00
|
|
|
- ceph_release_num[ceph_release] >= ceph_release_num.luminous
|