X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=ceph%2Fsrc%2Fceph-volume%2Fceph_volume%2Fdevices%2Flvm%2Fzap.py;fp=ceph%2Fsrc%2Fceph-volume%2Fceph_volume%2Fdevices%2Flvm%2Fzap.py;h=8e0e3a3c5e974af2b24fcf636268f8a18d620783;hb=91327a770de101c8d859649fa82e887fff521e13;hp=90c5447c0e1e8959d5c27e21ef2a4777eac8da67;hpb=b32d239b4982c57cf7d9816de026050a5af8d14f;p=ceph.git diff --git a/ceph/src/ceph-volume/ceph_volume/devices/lvm/zap.py b/ceph/src/ceph-volume/ceph_volume/devices/lvm/zap.py index 90c5447c0..8e0e3a3c5 100644 --- a/ceph/src/ceph-volume/ceph_volume/devices/lvm/zap.py +++ b/ceph/src/ceph-volume/ceph_volume/devices/lvm/zap.py @@ -100,15 +100,27 @@ class Zap(object): 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) + if not lv: + mlogger.info("Destroying physical volume %s because --destroy was given", device) + api.remove_pv(device) wipefs(path) zap_data(path) if lv and not pvs: - # remove all lvm metadata - lv.clear_tags() + if args.destroy: + lvs = api.Volumes() + lvs.filter(vg_name=lv.vg_name) + if len(lvs) <= 1: + mlogger.info('Only 1 LV left in VG, will proceed to destroy volume group %s', lv.vg_name) + api.remove_vg(lv.vg_name) + else: + mlogger.info('More than 1 LV left in VG, will proceed to destroy LV only') + mlogger.info('Removing LV because --destroy was given: %s', lv) + api.remove_lv(lv) + else: + # just remove all lvm metadata, leaving the LV around + lv.clear_tags() terminal.success("Zapping successful for: %s" % ", ".join(args.devices))