--- - name: install packages apt: name: - ceph-osd - ceph-mds - ceph-mon - ceph-mgr - radosgw state: latest - name: install sysctl tweaks template: src: ceph/sysctl.conf.j2 dest: /etc/sysctl.d/pvc-ceph.conf - name: activate sysctl tweaks command: sysctl -p /etc/sysctl.d/pvc-ceph.conf - name: install user limits overrides template: src: ceph/limits.conf.j2 dest: /etc/security/limits.d/99-pvc-ceph.conf - name: install ceph default config template: src: ceph/default.conf.j2 dest: /etc/default/ceph - name: create ceph configuration directory file: dest: /etc/ceph state: directory - include: ceph/bootstrap.yml when: bootstrap is defined and bootstrap run_once: yes - name: install configurations copy: src: ceph/{{ cluster_group }}/ceph/{{ item }} dest: /etc/ceph/{{ item }} owner: ceph group: ceph mode: 0640 notify: - restart ceph-mon - restart ceph-mgr with_items: - ceph.conf - ceph.mon.keyring - ceph.client.admin.keyring - ceph.osd.bootstrap.keyring - monmap - name: create monitor and manager data directories file: dest: /var/lib/ceph/{{ item }}/ceph-{{ ansible_hostname }} state: directory owner: ceph group: ceph mode: 0750 with_items: - mon - mgr when: newhost is defined and newhost - name: populate monitor with map and keys command: ceph-mon --cluster ceph --mkfs -i {{ ansible_hostname }} --monmap /etc/ceph/monmap --keyring /etc/ceph/ceph.mon.keyring become_user: ceph when: newhost is defined and newhost - name: touch monitor and manager done files file: dest: /var/lib/ceph/{{ item }}/ceph-{{ ansible_hostname }}/done state: touch become_user: ceph with_items: - mon - mgr when: newhost is defined and newhost - name: start monitor daemon service: name: "{{ item }}" state: started with_items: - ceph-mon@{{ ansible_hostname }} when: newhost is defined and newhost - name: set msgr2 enabled command: ceph mon enable-msgr2 run_once: true - name: create mgr auth keyring command: ceph auth get-or-create mgr.{{ ansible_hostname }} mon 'allow profile mgr' osd 'allow *' mds 'allow *' --out-file /var/lib/ceph/mgr/ceph-{{ ansible_hostname }}/keyring become_user: ceph args: creates: /var/lib/ceph/mgr/ceph-{{ ansible_hostname }}/keyring - name: install OSD bootstrap keyring file: dest: /var/lib/ceph/bootstrap-osd/ceph.keyring src: /etc/ceph/ceph.osd.bootstrap.keyring state: link - name: start but disable daemons service: name: "{{ item }}" state: started enabled: no with_items: - ceph-mon@{{ ansible_hostname }} - ceph-mgr@{{ ansible_hostname }} - meta: flush_handlers