from ceph_volume import decorators
from ceph_volume.util import disk
from ceph_volume.api import lvm as api
+from ceph_volume.exceptions import MultipleLVsError
logger = logging.getLogger(__name__)
# name of device
pv = api.get_pv(pv_name=device)
if pv and not lv:
- lv = api.get_lv(vg_name=pv.vg_name)
+ try:
+ lv = api.get_lv(vg_name=pv.vg_name)
+ except MultipleLVsError:
+ lvs.filter(vg_name=pv.vg_name)
+ return self.full_report(lvs=lvs)
if lv:
try:
)
return report
- def full_report(self):
+ def full_report(self, lvs=None):
"""
Generate a report for all the logical volumes and associated devices
that have been previously prepared by Ceph
"""
- lvs = api.Volumes()
+ if lvs is None:
+ lvs = api.Volumes()
report = {}
for lv in lvs:
try: