From 15b78ae252d3ca402d854b28b3631226ec102b48 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 dc0cf920d..3231db994 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: