]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
try to zap a device again if sgdisk fails on the first try 766/head
authorAlfredo Deza <adeza@redhat.com>
Mon, 9 May 2016 13:12:28 +0000 (09:12 -0400)
committerAlfredo Deza <adeza@redhat.com>
Mon, 9 May 2016 13:12:28 +0000 (09:12 -0400)
Signed-off-by: Alfredo Deza <adeza@redhat.com>
roles/ceph-osd/tasks/check_devices.yml

index bd735ca4208db554eb7fc7dada1b6a17ef455c1b..a11b4b0ec77993db5a163c15a7a20a1b0f11048e 100644 (file)
   register: journal_partition_status
   when: raw_multi_journal
 
+# NOTE: The following calls to sgdisk are retried because sgdisk is known to
+# fully wipe a device the first time around. There is no need to halt execution
+# of zapping the whole device so these try again. It is easier to use `||` to
+# keep the current flow of the task.
+# See: https://github.com/ceph/ceph-ansible/issues/759
 - name: fix partitions gpt header or labels of the osd disks
-  shell: sgdisk --zap-all --clear --mbrtogpt -g -- {{ item.1 }}
+  shell: "sgdisk --zap-all --clear --mbrtogpt -g -- {{ item.1 }} || sgdisk --zap-all --clear --mbrtogpt -g -- {{ item.1 }}"
   with_together:
     - combined_osd_partition_status_results.results
     - devices
@@ -86,7 +91,7 @@
     item.0.rc != 0
 
 - name: fix partitions gpt header or labels of the osd disks (autodiscover disks)
-  shell: sgdisk --zap-all --clear --mbrtogpt -g -- "/dev/{{ item.1.key }}"
+  shell: "sgdisk --zap-all --clear --mbrtogpt -g -- '/dev/{{ item.1.key }}' || sgdisk --zap-all --clear --mbrtogpt -g -- '/dev/{{ item.1.key }}'"
   with_together:
     - combined_osd_partition_status_results.results
     - ansible_devices
     item.0.rc != 0
 
 - name: fix partitions gpt header or labels of the journal devices
-  shell: sgdisk --zap-all --clear --mbrtogpt -g -- {{ item.1 }}
+  shell: "sgdisk --zap-all --clear --mbrtogpt -g -- {{ item.1 }} || shell: sgdisk --zap-all --clear --mbrtogpt -g -- {{ item.1 }}"
   with_together:
     - journal_partition_status.results
     - raw_journal_devices