]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph-volume: do not fail when trying to remove crypt mapper 30556/head
authorGuillaume Abrioux <gabrioux@redhat.com>
Fri, 20 Sep 2019 12:57:58 +0000 (14:57 +0200)
committerAlfredo Deza <adeza@redhat.com>
Tue, 24 Sep 2019 18:39:58 +0000 (14:39 -0400)
In a containerized context, at some point, need to run `simple scan` on a device
from a separate container (not the existing and running corresponding container
to that device), but this can't work because when it tries to remove the
mapper which is still in use by the corresponding running osd container,
it fails.
This can be a bit more permissive and simply throw a warning.

Closes: https://tracker.ceph.com/issues/41392
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
(cherry picked from commit 80d3e4ca054b4d1334c2fb99fede46ab54ca4305)

src/ceph-volume/ceph_volume/util/encryption.py

index e2b3ca1646423287b9babd3dae958393758e22e1..df7eb69d860455d2beb33b5f3653722f7c9cb369 100644 (file)
@@ -103,7 +103,8 @@ def dmcrypt_close(mapping):
         logger.debug('device mapper path does not exist %s' % mapping)
         logger.debug('will skip cryptsetup removal')
         return
-    process.run(['cryptsetup', 'remove', mapping])
+    # don't be strict about the remove call, but still warn on the terminal if it fails
+    process.run(['cryptsetup', 'remove', mapping], stop_on_error=False)
 
 
 def get_dmcrypt_key(osd_id, osd_fsid, lockbox_keyring=None):