]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
shrink-osd: follow up on 36fb3cde
authorGuillaume Abrioux <gabrioux@redhat.com>
Fri, 14 Sep 2018 11:45:48 +0000 (13:45 +0200)
committermergify[bot] <mergify[bot]@users.noreply.github.com>
Tue, 18 Sep 2018 07:27:41 +0000 (07:27 +0000)
- Adds loop in bash to satisfy the 1:n relation between `osd_hosts` and the
different device lists.
- Fixes some container name which were using the host hostname instead
of the actual container one.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
infrastructure-playbooks/shrink-osd.yml

index 25e9047d16e5c0fa93f679a36dba5cdb781e12ac..50e97a422ad2c013d34cb7a75c8664e6669ae8ce 100644 (file)
       shell: |
         docker run --rm \
         --privileged=true \
-        --name ceph-osd-zap-{{ ansible_hostname }}-{{ item.0.stdout }} \
+        --name ceph-osd-zap-{{ hostvars[item.1]['ansible_hostname'] }}-{{ item.0.stdout }} \
         -v /dev/:/dev/ \
         -e OSD_DEVICE=/dev/{{ item.0.stdout }} \
         {{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }} \
 
     - name: zap ceph osd partitions from dedicated devices
       shell: |
-        docker run --rm \
-        --privileged=true \
-        --name ceph-osd-zap-{{ ansible_hostname }}-{{ item.1.stdout }} \
-        -v /dev/:/dev/ \
-        -e OSD_DEVICE={{ item.1.stdout }} \
-        {{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }} \
-        zap_device
+        for osd in {{ ' '.join(item.1.stdout_lines) }}
+        do
+          if [ -b "${osd}" ];
+          pkname=$(lsblk --nodeps -no PKNAME "${osd}");
+          then
+            echo zapping ceph osd partitions "${osd}";
+            docker run --rm \
+            --privileged=true \
+            --name ceph-osd-zap-{{ hostvars[item.0]['ansible_hostname'] }}-$(basename "${osd}") \
+            -v /dev/:/dev/ \
+            -e OSD_DEVICE="${osd}" \
+            {{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }} \
+            zap_device;
+            partprobe /dev/"${pkname}";
+          fi
+        done
       with_together:
         - "{{ osd_hosts }}"
         - "{{ osd_to_kill_disks_dedicated.results }}"
 
     - name: zap dedicated partitions
       shell: |
-        pkname=$(lsblk --nodeps -no PKNAME {{ item.1.stdout_lines }})
-        wipefs --all {{ item.1.stdout_lines }}
-        dd if=/dev/zero of={{ item.1.stdout_lines }} bs=1M count=10
-        partition_nb=$(echo {{ item.1.stdout_lines }} | grep -oE '[0-9]{1,2}$')
-        sgdisk --delete $partition_nb /dev/$pkname
+          for osd in {{ ' '.join(item.1.stdout_lines) }}
+          do
+            if [ -b "${osd}" ];
+            then
+            echo zapping dedicated partition "${osd}"
+            pkname=$(lsblk --nodeps -no PKNAME "${osd}")
+            wipefs --all "${osd}"
+            dd if=/dev/zero of="${osd}" bs=1M count=10
+            partition_nb=$(echo "${osd}" | grep -oE '[0-9]{1,2}$')
+            sgdisk --delete $partition_nb /dev/"${pkname}"
+            partprobe /dev/"${pkname}"
+            fi
+          done
       with_together:
         - "{{ osd_hosts }}"
         - "{{ osd_to_kill_disks_dedicated_non_container.results }}"