]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph-volume: allow zapping partitions on multipath devices 62173/head
authorGuillaume Abrioux <gabrioux@ibm.com>
Fri, 7 Mar 2025 16:23:02 +0000 (17:23 +0100)
committerGuillaume Abrioux <gabrioux@ibm.com>
Fri, 7 Mar 2025 16:44:04 +0000 (17:44 +0100)
ceph-volume refuses to zap a device if it is a partition on a multipath
device due to an overly strict condition. This change ensures that only
full mapper devices (excluding partitions) are blocked from being zapped,
allowing partitions on multipath devices to be processed correctly.

Fixes: https://tracker.ceph.com/issues/70363
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
src/ceph-volume/ceph_volume/devices/lvm/zap.py
src/ceph-volume/ceph_volume/tests/devices/test_zap.py

index 2b6c1be31e71f25fea1562d205a2f1cc5a966689..fea5346df15226a8ffb654f3b4be2a79410cbfca 100644 (file)
@@ -398,7 +398,7 @@ class Zap:
         devices = self.args.devices
         for device in devices:
             mlogger.info("Zapping: %s", device.path)
-            if device.is_mapper and not device.is_mpath:
+            if device.is_mapper and not device.is_mpath and not device.is_partition:
                 terminal.error("Refusing to zap the mapper device: {}".format(device))
                 raise SystemExit(1)
             if device.is_lvm_member:
index 63bdc9d789513ad402ec094a6c0f34ee4d35a964..5f72ea0221b9ef38f544fc046c9ce8d4a3403585 100644 (file)
@@ -30,7 +30,8 @@ class TestZap(object):
             exists=True,
             has_partitions=False,
             has_gpt_headers=False,
-            has_fs=False
+            has_fs=False,
+            is_partition=False
         )
         with pytest.raises(SystemExit):
             lvm.zap.Zap(argv=[device_name]).main()