From: Dimitri Savineau Date: Tue, 11 Feb 2020 21:53:55 +0000 (-0500) Subject: ceph-volume: fix is_ceph_device for lvm batch X-Git-Tag: v15.1.1~447^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a82582364c7b65a4a5e2673e3886acd6d2066130;p=ceph.git ceph-volume: fix is_ceph_device for lvm batch This is a regression introduced by 634a709 The lvm batch command fails to prepare the OSDs on the created LV. When using lvm batch, the LV/VG are created prior the OSD prepare. During that creation, multiple tags are set with null value. $ lvs -o lv_tags --noheadings ceph.cluster_fsid=null,ceph.osd_fsid=null,ceph.osd_id=null,ceph.type=null Since we call is_ceph_device which returns True if the ceph.osd_id LVM tag exists but doesn't test the value then we raise an execption. When the tag value is set to 'null' then we can consider that the device isn't part of the ceph cluster (because not yet prepared). Closes: https://tracker.ceph.com/issues/44069 Signed-off-by: Dimitri Savineau --- diff --git a/src/ceph-volume/ceph_volume/api/lvm.py b/src/ceph-volume/ceph_volume/api/lvm.py index 83239386f949..7f41f56ff531 100644 --- a/src/ceph-volume/ceph_volume/api/lvm.py +++ b/src/ceph-volume/ceph_volume/api/lvm.py @@ -274,7 +274,10 @@ def is_ceph_device(lv): logger.warning('device is not part of ceph: %s', lv) return False - return True + if lv.tags['ceph.osd_id'] == 'null': + return False + else: + return True ####################################