From 9066792764edcab1d0c2b3178d6f8f9784e30f85 Mon Sep 17 00:00:00 2001 From: Alfredo Deza Date: Tue, 14 Aug 2018 11:59:25 -0400 Subject: [PATCH] ceph-volume lvm.zap loop over all vgs from a pv to destroy them Signed-off-by: Alfredo Deza --- src/ceph-volume/ceph_volume/devices/lvm/zap.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/ceph-volume/ceph_volume/devices/lvm/zap.py b/src/ceph-volume/ceph_volume/devices/lvm/zap.py index 475be18a6b83..b640f76d4a94 100644 --- a/src/ceph-volume/ceph_volume/devices/lvm/zap.py +++ b/src/ceph-volume/ceph_volume/devices/lvm/zap.py @@ -86,6 +86,7 @@ class Zap(object): # name of device pvs = api.PVolumes() pvs.filter(pv_name=device) + vgs = set([pv.vg_name for pv in pvs]) for pv in pvs: vg_name = pv.vg_name lv = api.get_lv(vg_name=vg_name, lv_uuid=pv.lv_uuid) @@ -93,15 +94,12 @@ class Zap(object): if lv: self.unmount_lv(lv) - if args.destroy and pvs: - logger.info("Found a physical volume created from %s, will destroy all it's vgs and lvs", device) - vg_name = pv.vg_name - mlogger.info("Destroying volume group %s because --destroy was given", vg_name) - api.remove_vg(vg_name) + if args.destroy: + for vg_name in vgs: + mlogger.info("Destroying volume group %s because --destroy was given", vg_name) + api.remove_vg(vg_name) mlogger.info("Destroying physical volume %s because --destroy was given", device) api.remove_pv(device) - elif args.destroy and not pvs: - mlogger.info("Skipping --destroy because no associated physical volumes are found for %s", device) wipefs(path) zap_data(path) -- 2.47.3