From: Alfredo Deza Date: Tue, 13 Nov 2018 13:30:23 +0000 (-0500) Subject: ceph-volume lvm.zap remove vgs|lvs when --destroy is used X-Git-Tag: v12.2.10~7^2~5 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=8622b0050eebb2a679acebcd4111a0ab4841becd;p=ceph.git ceph-volume lvm.zap remove vgs|lvs when --destroy is used Signed-off-by: Alfredo Deza (cherry picked from commit 677cbbb059185fe2808746b36bd3f988ff2af41c) --- diff --git a/src/ceph-volume/ceph_volume/devices/lvm/zap.py b/src/ceph-volume/ceph_volume/devices/lvm/zap.py index 70a24f0f776b..8e0e3a3c5e97 100644 --- a/src/ceph-volume/ceph_volume/devices/lvm/zap.py +++ b/src/ceph-volume/ceph_volume/devices/lvm/zap.py @@ -108,8 +108,19 @@ class Zap(object): 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))