2015-07-28 21:44:52 +08:00
|
|
|
---
|
2015-10-21 08:12:43 +08:00
|
|
|
- name: check if a cluster is already running
|
2017-02-09 22:16:39 +08:00
|
|
|
command: "docker ps -q -a --filter='ancestor={{ ceph_docker_image }}:{{ ceph_docker_image_tag }}'"
|
2015-10-21 08:12:43 +08:00
|
|
|
register: ceph_health
|
|
|
|
changed_when: false
|
|
|
|
failed_when: false
|
2016-11-27 04:05:32 +08:00
|
|
|
always_run: true
|
2015-10-21 08:12:43 +08:00
|
|
|
|
2016-01-28 03:50:05 +08:00
|
|
|
- name: check if it is Atomic host
|
|
|
|
stat: path=/run/ostree-booted
|
|
|
|
register: stat_ostree
|
2016-11-27 04:05:32 +08:00
|
|
|
always_run: true
|
2016-01-28 03:50:05 +08:00
|
|
|
|
|
|
|
- name: set fact for using Atomic host
|
|
|
|
set_fact:
|
2016-05-02 22:33:16 +08:00
|
|
|
is_atomic: '{{ stat_ostree.stat.exists }}'
|
2016-03-22 23:58:20 +08:00
|
|
|
|
2015-10-21 08:12:43 +08:00
|
|
|
- include: checks.yml
|
2016-04-01 19:02:02 +08:00
|
|
|
when:
|
2016-05-09 22:08:33 +08:00
|
|
|
- ceph_health.rc != 0
|
|
|
|
- not mon_containerized_deployment_with_kv
|
2016-11-06 12:15:26 +08:00
|
|
|
- not "{{ rolling_update | default(false) }}"
|
2015-10-21 08:12:43 +08:00
|
|
|
|
2015-07-28 21:44:52 +08:00
|
|
|
- include: pre_requisite.yml
|
2016-11-06 12:15:26 +08:00
|
|
|
when: not is_atomic
|
2016-03-16 00:32:17 +08:00
|
|
|
|
2016-07-28 22:42:19 +08:00
|
|
|
- include: "{{ playbook_dir }}/roles/ceph-common/tasks/misc/ntp_atomic.yml"
|
|
|
|
when:
|
|
|
|
- is_atomic
|
|
|
|
- ansible_os_family == 'RedHat'
|
|
|
|
- ntp_service_enabled
|
|
|
|
|
|
|
|
- include: "{{ playbook_dir }}/roles/ceph-common/tasks/misc/ntp_redhat.yml"
|
|
|
|
when:
|
|
|
|
- not is_atomic
|
|
|
|
- ansible_os_family == 'RedHat'
|
|
|
|
- ntp_service_enabled
|
|
|
|
|
|
|
|
- include: "{{ playbook_dir }}/roles/ceph-common/tasks/misc/ntp_debian.yml"
|
|
|
|
when:
|
|
|
|
- ansible_os_family == 'Debian'
|
|
|
|
- ntp_service_enabled
|
|
|
|
|
2016-03-24 21:21:07 +08:00
|
|
|
- include: "{{ playbook_dir }}/roles/ceph-common/tasks/docker/fetch_image.yml"
|
|
|
|
|
2016-05-02 22:33:16 +08:00
|
|
|
- include: dirs_permissions.yml
|
|
|
|
|
2016-02-06 02:50:57 +08:00
|
|
|
# let the first mon create configs and keyrings
|
|
|
|
- include: create_configs.yml
|
2016-04-01 19:02:02 +08:00
|
|
|
when:
|
2016-05-09 22:08:33 +08:00
|
|
|
- not mon_containerized_default_ceph_conf_with_kv
|
2016-03-16 00:32:17 +08:00
|
|
|
|
2015-07-28 21:44:52 +08:00
|
|
|
- include: fetch_configs.yml
|
2016-03-16 00:32:17 +08:00
|
|
|
when: not mon_containerized_deployment_with_kv
|
|
|
|
|
2016-04-01 17:18:40 +08:00
|
|
|
- include: selinux.yml
|
|
|
|
when: ansible_os_family == 'RedHat'
|
|
|
|
|
2015-07-28 21:44:52 +08:00
|
|
|
- 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
|
|
|
|
command: docker exec {{ ansible_hostname }} stat /var/run/ceph/{{ cluster }}-mon.{{ ansible_hostname }}.asok
|
|
|
|
register: monitor_socket
|
|
|
|
retries: 5
|
|
|
|
delay: 10
|
|
|
|
until: monitor_socket.rc == 0
|
|
|
|
|
|
|
|
- name: force peer addition as potential bootstrap peer for cluster bringup
|
|
|
|
command: docker exec {{ ansible_hostname }} ceph --admin-daemon /var/run/ceph/{{ cluster }}-mon.{{ ansible_hostname }}.asok add_bootstrap_peer_hint {{ hostvars[item]['ansible_' + ceph_mon_docker_interface].ipv4.address }}
|
|
|
|
with_items: "{{ groups.mons }}"
|
|
|
|
changed_when: false
|
|
|
|
failed_when: false
|
|
|
|
when:
|
|
|
|
- inventory_hostname == groups.mons[0]
|
|
|
|
- not mon_containerized_deployment_with_kv
|
2016-11-06 12:15:26 +08:00
|
|
|
|
2016-03-22 23:58:20 +08:00
|
|
|
- include: copy_configs.yml
|
|
|
|
when: not mon_containerized_deployment_with_kv
|
|
|
|
|
|
|
|
- name: create ceph rest api keyring when mon is containerized
|
2017-02-02 16:32:12 +08:00
|
|
|
command: docker exec {{ 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-02-02 16:32:12 +08:00
|
|
|
creates: /etc/ceph/{{ 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
|
|
|
|
- mon_containerized_deployment
|
|
|
|
- groups[restapi_group_name] is defined
|
|
|
|
- inventory_hostname == groups.mons|last
|
|
|
|
- not mon_containerized_deployment_with_kv
|