ceph-ansible/roles/ceph-osd/tasks/osd_fragment.yml

71 lines
1.9 KiB
YAML

---
- name: get osd path
shell: "df | grep {{ item }} | awk '{print $6}'"
with_items: devices
changed_when: false
failed_when: false
register: osd_path
when: not osd_directory
- name: get osd id
command: cat {{ item.stdout }}/whoami
with_items: osd_path.results
changed_when: false
failed_when: false
register: osd_id_non_dir_scenario
when: not osd_directory
- name: get osd id for directory scenario
command: cat {{ item.stdout }}/whoami
with_items: osd_directories
changed_when: false
failed_when: false
register: osd_id_dir_scenario
when: osd_directory
# NOTE (leseb): we must do this because of
# https://github.com/ansible/ansible/issues/4297
- name: combine osd_path results
set_fact:
combined_osd_id: "{{ osd_id_non_dir_scenario if not osd_directory else osd_id_dir_scenario }}"
- name: create a ceph fragment and assemble directory
file:
path: "{{ item }}"
state: directory
owner: "{{ dir_owner }}"
group: "{{ dir_group }}"
mode: "{{ dir_mode }}"
with_items:
- /etc/ceph/ceph.d/
- /etc/ceph/ceph.d/osd_fragments
- name: create the osd fragment
template:
src: osd.conf.j2
dest: /etc/ceph/ceph.d/osd_fragments/osd.{{ item.stdout }}.conf
owner: "{{ dir_owner }}"
group: "{{ dir_group }}"
mode: "{{ activate_file_mode }}"
with_items: combined_osd_id.results
- name: copy {{ cluster }}.conf for assembling
command: cp /etc/ceph/{{ cluster }}.conf /etc/ceph/ceph.d/
changed_when: false
- name: assemble osd sections
assemble:
src: /etc/ceph/ceph.d/osd_fragments/
dest: /etc/ceph/ceph.d/osd.conf
owner: "{{ dir_owner }}"
group: "{{ dir_group }}"
mode: "{{ activate_file_mode }}"
- name: assemble {{ cluster }}.conf and osd fragments
assemble:
src: /etc/ceph/ceph.d/
dest: /etc/ceph/{{ cluster }}.conf
owner: "{{ dir_owner }}"
group: "{{ dir_group }}"
mode: "{{ activate_file_mode }}"