mirror of https://github.com/ceph/ceph-ansible.git
43 lines
1.6 KiB
YAML
43 lines
1.6 KiB
YAML
---
|
||
- name: check if /var/lib/ceph/mon/{{ cluster }}-{{ monitor_name }}/keyring already exists
|
||
stat:
|
||
path: /var/lib/ceph/mon/{{ cluster }}-{{ monitor_name }}/keyring
|
||
register: initial_mon_keyring
|
||
|
||
- name: fail if /var/lib/ceph/mon/{{ cluster }}-{{ monitor_name }}/keyring doesn't exist
|
||
fail:
|
||
msg: "/var/lib/ceph/mon/{{ cluster }}-{{ monitor_name }}/keyring not found"
|
||
when:
|
||
- not initial_mon_keyring.stat.exists
|
||
|
||
- name: get existing initial mon keyring if it already exists but not monitor_keyring.conf in {{ fetch_directory }}
|
||
shell: |
|
||
grep key /var/lib/ceph/mon/{{ cluster }}-{{ monitor_name }}/keyring | sed 's/^.*= //'
|
||
register: monitor_keyring
|
||
when:
|
||
- not monitor_keyring_conf.stat.exists
|
||
|
||
- name: test existing initial mon keyring
|
||
command: ceph --connect-timeout 3 --cluster {{ cluster }} --keyring /var/lib/ceph/mon/{{ cluster }}-{{ monitor_name }}/keyring -n mon. fsid
|
||
register: test_initial_monitor_keyring
|
||
ignore_errors: true
|
||
|
||
- name: fail if initial mon keyring found doesn't work
|
||
fail:
|
||
msg: "Initial mon keyring found doesn't work."
|
||
when:
|
||
- test_initial_monitor_keyring.rc != 0
|
||
|
||
- name: write initial mon keyring in {{ fetch_directory }}/monitor_keyring.conf if it doesn't exist
|
||
local_action:
|
||
module: shell
|
||
echo {{ monitor_keyring.stdout }} | tee {{ fetch_directory }}/monitor_keyring.conf
|
||
become: false
|
||
when:
|
||
- test_initial_monitor_keyring.rc == 0
|
||
|
||
- name: put initial mon keyring in mon kv store
|
||
command: ceph --cluster {{ cluster }} config-key put initial_mon_keyring {{ monitor_keyring.stdout }}
|
||
when:
|
||
- test_initial_monitor_keyring.rc == 0
|