From: Guillaume Abrioux Date: Mon, 4 Nov 2019 14:59:39 +0000 (+0100) Subject: purge: use sysfs to unmap rbd devices X-Git-Tag: v6.0.0alpha1~226 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3cfcc7a105156dfde65b23e9d8662cd848537094;p=ceph-ansible.git purge: use sysfs to unmap rbd devices in containerized context, using the binary provided in atomic os won't work because it's an old version provided by ceph-common based on 10.2.5. Using a container could be an idea but for large cluster with hundreds of client nodes, that would require to pull the image of each of them just to unmap the rbd devices. Let's use the sysfs method in order to avoid any issue related to ceph version that is shipped on the host. Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1766064 Signed-off-by: Guillaume Abrioux --- diff --git a/infrastructure-playbooks/purge-docker-cluster.yml b/infrastructure-playbooks/purge-docker-cluster.yml index f4bd38540..4b0406ea2 100644 --- a/infrastructure-playbooks/purge-docker-cluster.yml +++ b/infrastructure-playbooks/purge-docker-cluster.yml @@ -68,8 +68,15 @@ - name: ensure cephfs mountpoint are unmounted command: umount -a -t ceph - - name: ensure rbd devices are unmapped - command: rbdmap unmap-all + - name: find mapped rbd ids + find: + paths: /sys/bus/rbd/devices + file_type: any + register: rbd_mapped_ids + + - name: use sysfs to unmap rbd devices + shell: "echo {{ item.path | basename }} > /sys/bus/rbd/remove_single_major" + with_items: "{{ rbd_mapped_ids.files }}" - name: unload ceph kernel modules modprobe: