This functionality simply did not work, with Libvirt continuing to dump its processes into the root cset thus defeating the purpose entirely. Just remove it, from some very initial testing it isn't worth the headache.
142 lines
3.4 KiB
YAML
142 lines
3.4 KiB
YAML
---
|
|
- name: install packages
|
|
apt:
|
|
name:
|
|
- ceph-osd
|
|
- ceph-mds
|
|
- ceph-mon
|
|
- ceph-mgr
|
|
- radosgw
|
|
state: latest
|
|
|
|
- name: add admin users to ceph groups
|
|
user:
|
|
name: "{{ item.name }}"
|
|
groups: ceph
|
|
append: yes
|
|
with_items: "{{ admin_users }}"
|
|
|
|
- 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: yes
|
|
retries: 6
|
|
delay: 5
|
|
register: result
|
|
until: result.rc == 0
|
|
|
|
- name: set insecure_global_id_reclaim disabled
|
|
command: ceph config set mon auth_allow_insecure_global_id_reclaim false
|
|
run_once: yes
|
|
ignore_errors: yes
|
|
|
|
- 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 }}
|
|
|
|
# Single-node cluster ruleset
|
|
- name: remove default CRUSH replicated_rule ruleset
|
|
command: ceph osd crush rule rm replicated_rule
|
|
when: "{{ pvc_nodes | length }} == 1"
|
|
|
|
- name: add single-node CRUSH replicated_rule ruleset
|
|
command: ceph osd crush rule create-replicated replicated_rule default osd
|
|
when: "{{ pvc_nodes | length }} == 1"
|
|
|
|
- meta: flush_handlers
|