From: Guillaume Abrioux Date: Fri, 17 Nov 2017 16:32:23 +0000 (+0100) Subject: osd: ensure a gpt label is set on device X-Git-Tag: v3.0.14^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F2200%2Fhead;p=ceph-ansible.git osd: ensure a gpt label is set on device ceph-disk prepare will fail on jewel if a GPT label is not present on device. Signed-off-by: Guillaume Abrioux (cherry picked from commit efe06be10ff6215fcc8a42919014650287b99ab7) Signed-off-by: Sébastien Han --- diff --git a/roles/ceph-osd/tasks/check_gpt.yml b/roles/ceph-osd/tasks/check_gpt.yml new file mode 100644 index 000000000..0cfc80ef5 --- /dev/null +++ b/roles/ceph-osd/tasks/check_gpt.yml @@ -0,0 +1,19 @@ +--- +- name: check the partition status of the osd disks + command: "parted --script {{ item }} print" + with_items: + - "{{ devices }}" + changed_when: false + failed_when: false + check_mode: no + register: osd_partition_status_results + +- name: create gpt disk label + command: parted --script {{ item.1 }} mklabel gpt + with_together: + - "{{ osd_partition_status_results.results }}" + - "{{ devices }}" + changed_when: false + when: + - not item.0.get("skipped") + - item.0.get("rc", 0) != 0 diff --git a/roles/ceph-osd/tasks/main.yml b/roles/ceph-osd/tasks/main.yml index be801dd7b..9a8bd1e6d 100644 --- a/roles/ceph-osd/tasks/main.yml +++ b/roles/ceph-osd/tasks/main.yml @@ -36,6 +36,9 @@ - containerized_deployment - not containerized_deployment_with_kv +- name: include check_gpt.yml + include: check_gpt.yml + - name: include scenarios/collocated.yml include: scenarios/collocated.yml when: