--- # Defines deployment design and assigns role to server groups - hosts: - mons - agents - osds - mdss - rgws - nfss - restapis - rbdmirrors - clients - iscsigws - mgrs tasks: - name: gather and delegate facts setup: delegate_to: "{{ item }}" delegate_facts: True with_items: "{{ groups['all'] }}" - hosts: mons become: True gather_facts: false roles: - ceph-defaults - ceph-docker-common - ceph-config - ceph-mon serial: 1 # MUST be '1' WHEN DEPLOYING MONITORS ON DOCKER CONTAINERS - hosts: osds become: True roles: - ceph-defaults - ceph-docker-common - ceph-config - ceph-osd - hosts: mdss become: True roles: - ceph-defaults - ceph-docker-common - ceph-config - ceph-mds - hosts: rgws become: True roles: - ceph-defaults - ceph-docker-common - ceph-config - ceph-rgw - hosts: nfss become: True roles: - ceph-defaults - ceph-docker-common - ceph-config - ceph-nfs - hosts: rbd_mirrors become: True roles: - ceph-defaults - ceph-docker-common - ceph-config - ceph-rbd-mirror - hosts: restapis become: True roles: - ceph-defaults - ceph-docker-common - ceph-config - ceph-restapi - hosts: mgrs become: True roles: - { role: ceph-defaults, when: "ceph_release_num.{{ ceph_stable_release }} > ceph_release_num.jewel" } - { role: ceph-docker-common, when: "ceph_release_num.{{ ceph_stable_release }} > ceph_release_num.jewel" } - { role: ceph-config, when: "ceph_release_num.{{ ceph_stable_release }} > ceph_release_num.jewel" } - { role: ceph-mgr, when: "ceph_release_num.{{ ceph_stable_release }} > ceph_release_num.jewel" } - hosts: clients become: True roles: - ceph-defaults - ceph-common - ceph-config - ceph-client