Device examples: vg-name/lv-name, /dev/vg-name/lv-name
Requirements: Must be a logical volume (LV)
"""
- lv = api.get_first_lv(filters={'lv_name': device.lv_name, 'vg_name':
- device.vg_name})
+ lv = api.get_single_lv(filters={'lv_name': device.lv_name, 'vg_name':
+ device.vg_name})
self.unmount_lv(lv)
wipefs(device.abspath)
mlogger.info('Zapping lvm member {}. lv_path is {}'.format(device.abspath, lv.lv_path))
self.zap_lv(Device(lv.lv_path))
else:
- vg = api.get_first_vg(filters={'vg_name': lv.vg_name})
+ vg = api.get_single_vg(filters={'vg_name': lv.vg_name})
if vg:
mlogger.info('Found empty VG {}, removing'.format(vg.vg_name))
api.remove_vg(vg.vg_name)
for device in devices:
mlogger.info("Zapping: %s", device.abspath)
- if device.is_mapper:
+ if device.is_mapper and not device.is_mpath:
terminal.error("Refusing to zap the mapper device: {}".format(device))
raise SystemExit(1)
if device.is_lvm_member:
parser.add_argument(
'--osd-id',
+ type=arg_validators.valid_osd_id,
help='Specify an OSD ID to detect associated devices for zapping',
)