From 5db0b239f6131a0a40776c2a6c65420db438c057 Mon Sep 17 00:00:00 2001 From: Guillaume Abrioux Date: Mon, 4 Nov 2019 15:59:39 +0100 Subject: [PATCH] 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 (cherry picked from commit 3cfcc7a105156dfde65b23e9d8662cd848537094) --- infrastructure-playbooks/purge-docker-cluster.yml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/infrastructure-playbooks/purge-docker-cluster.yml b/infrastructure-playbooks/purge-docker-cluster.yml index 3550148f3..5c6cac130 100644 --- a/infrastructure-playbooks/purge-docker-cluster.yml +++ b/infrastructure-playbooks/purge-docker-cluster.yml @@ -69,8 +69,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: -- 2.39.5