Skip to content

Commit

Permalink
ceph-validate: check block presence first
Browse files Browse the repository at this point in the history
Instead of doing two parted calls we can check first if the device exist
and then test the partition table.

Signed-off-by: Dimitri Savineau <dsavinea@redhat.com>
(cherry picked from commit 14d458b)
  • Loading branch information
dsavineau authored and guits committed Jul 2, 2021
1 parent a3b5b15 commit 11bb1ec
Showing 1 changed file with 12 additions and 22 deletions.
34 changes: 12 additions & 22 deletions roles/ceph-validate/tasks/check_devices.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,27 +54,6 @@
msg: "{{ root_device }} found in either lvm_volumes or devices variable"
when: root_device in lvm_volumes_data_devices | default([]) or root_device in _devices | default([])

- name: check no gpt header is present when osd scenario is lvm/lvm-batch
block:
- name: read information about the devices
parted:
device: "{{ item.data if item.data_vg is undefined and lvm_volumes is defined else item if devices is defined else omit }}"
unit: MiB
register: parted_results
with_items: "{{ lvm_volumes | default(devices) }}"
when:
- inventory_hostname in groups.get(osd_group_name, [])
- (item.data is defined and item.data_vg is undefined) or devices is defined

- name: fail when gpt header found on osd devices
fail:
msg: "{{ item.disk.dev }} has gpt header, please remove it."
with_items: "{{ parted_results.results }}"
when:
- item.skipped is undefined
- item.disk.table == 'gpt'
- item.partitions | length == 0

- name: check devices are block devices
block:
- name: get devices information
Expand All @@ -83,10 +62,21 @@
unit: MiB
register: devices_parted
failed_when: False
with_items: "{{ devices | default([]) }}"
with_items:
- "{{ devices | default([]) }}"
- "{{ lvm_volumes_data_devices | default([]) }}"

- name: fail if one of the devices is not a device
fail:
msg: "{{ item.item }} is not a block special file!"
when: item.rc is defined
with_items: "{{ devices_parted.results }}"

- name: fail when gpt header found on osd devices
fail:
msg: "{{ item.disk.dev }} has gpt header, please remove it."
with_items: "{{ devices_parted.results }}"
when:
- item.skipped is undefined
- item.disk.table == 'gpt'
- item.partitions | length == 0

0 comments on commit 11bb1ec

Please sign in to comment.