]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph-volume: do not fail when trying to remove crypt mapper 30554/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:38:40 +0000 (14:38 -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 4beac7c640fc02a9c17efa6f1776202b3763777b..72a0ccf121e9722f77df4897e30a135ceb9754c9 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):