--- - name: check if a cluster is already running shell: "docker ps | grep -sq '{{ceph_mon_docker_username}}/{{ceph_mon_docker_imagename}}:{{ceph_mon_docker_image_tag}}'" register: ceph_health changed_when: false failed_when: false always_run: true - name: check if it is Atomic host stat: path=/run/ostree-booted register: stat_ostree always_run: true - name: set fact for using Atomic host set_fact: is_atomic: '{{ stat_ostree.stat.exists }}' - include: checks.yml when: - ceph_health.rc != 0 - not mon_containerized_deployment_with_kv - not "{{ rolling_update | default(false) }}" - include: pre_requisite.yml when: not is_atomic - 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 - include: "{{ playbook_dir }}/roles/ceph-common/tasks/docker/fetch_image.yml" vars: ceph_docker_username: "{{ ceph_mon_docker_username }}" ceph_docker_imagename: "{{ ceph_mon_docker_imagename }}" ceph_docker_image_tag: "{{ ceph_mon_docker_image_tag }}" - include: dirs_permissions.yml # let the first mon create configs and keyrings - include: create_configs.yml when: - not mon_containerized_default_ceph_conf_with_kv - include: fetch_configs.yml when: not mon_containerized_deployment_with_kv - include: selinux.yml when: ansible_os_family == 'RedHat' - include: start_docker_monitor.yml # NOTE: if we don't wait we will attempt to copy config to ansible host # before admin key is ready, preventing future daemons e.g. ceph-mds from # properly retrieving key - name: "wait for {{ cluster }}.client.admin.keyring exists" wait_for: path: /etc/ceph/{{ cluster }}.client.admin.keyring when: cephx - include: copy_configs.yml when: not mon_containerized_deployment_with_kv - name: create ceph rest api keyring when mon is containerized command: docker exec {{ ansible_hostname }} ceph auth get-or-create client.restapi osd 'allow *' mon 'allow *' -o /etc/ceph/ceph.client.restapi.keyring args: creates: /etc/ceph/ceph.client.restapi.keyring changed_when: false when: - cephx - mon_containerized_deployment - groups[restapi_group_name] is defined - inventory_hostname == groups.mons|last - not mon_containerized_deployment_with_kv