ceph-ansible/roles/ceph-osd/tasks/scenarios/dmcrypt-journal-collocation...

38 lines
1.3 KiB
YAML

---
## SCENARIO 5: DMCRYPT
- include: ../check_devices.yml
# NOTE (leseb): the prepare process must be parallelized somehow...
# if you have 64 disks with 4TB each, this will take a while
# since Ansible will sequential process the loop
# NOTE (alahouze): if the device is a partition, the parted command below has
# failed, this is why we check if the device is a partition too.
- name: automatic prepare dmcrypt osd disk(s) without partitions with collocated osd data and journal
command: ceph-disk prepare --dmcrypt --cluster "{{ cluster }}" "/dev/{{ item.key }}"
with_dict: "{{ ansible_devices }}"
when:
- ansible_devices is defined
- item.value.removable == "0"
- item.value.partitions|count == 0
- item.value.holders|count == 0
- dmcrypt_journal_collocation
- osd_auto_discovery
- name: manually prepare dmcrypt osd disk(s) with collocated osd data and journal
command: ceph-disk prepare --dmcrypt --cluster "{{ cluster }}" "{{ item.2 }}"
with_together:
- "{{ parted_results.results }}"
- "{{ ispartition_results.results }}"
- "{{ devices }}"
when:
- not item.0.get("skipped")
- not item.1.get("skipped")
- item.0.get("rc", 0) != 0
- item.1.get("rc", 0) != 0
- dmcrypt_journal_collocation
- not osd_auto_discovery
- include: ../activate_osds.yml