when:
- osd_objectstore == 'bluestore'
- not osd_containerized_deployment
+ # Hard code this so we will skip the entire file instead of individual tasks (Default isn't Consistent)
+ static: False
- - include: ./scenarios/dmcrypt-journal-colocation.yml
+ - include: ./scenarios/dmcrypt-journal-collocation.yml
when:
- - dmcrypt_journal_colocation
+ - dmcrypt_journal_collocation
- not osd_containerized_deployment
+ # Hard code this so we will skip the entire file instead of individual tasks (Default isn't Consistent)
+ static: False
- include: ./scenarios/dmcrypt-dedicated-journal.yml
when:
--- /dev/null
- - combined_parted_results.results
- - combined_ispartition_results.results
+ ---
+ ## 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 osd disk(s) without partitions (dmcrypt)
+ 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
+ - dmcrypt_journal_collocation
+ - osd_auto_discovery
+
+ - name: manually prepare osd disk(s) (dmcrypt)
+ 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