From: Guillaume Abrioux Date: Tue, 26 Jul 2022 14:24:31 +0000 (+0200) Subject: ceph-volume: fix is_ceph_disk_member() X-Git-Tag: v17.2.4~149^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F47406%2Fhead;p=ceph.git ceph-volume: fix is_ceph_disk_member() `dev['NAME']` can't match `part` given that it's the name of the parent device being compared to the partition name. Signed-off-by: Guillaume Abrioux (cherry picked from commit 24899a1f8d77bc3c10ef158bb463349d615f7c57) --- diff --git a/src/ceph-volume/ceph_volume/util/device.py b/src/ceph-volume/ceph_volume/util/device.py index d54c0d56e11b..86249894e541 100644 --- a/src/ceph-volume/ceph_volume/util/device.py +++ b/src/ceph-volume/ceph_volume/util/device.py @@ -420,11 +420,14 @@ class Device(object): # If we come from Devices(), self.lsblk_all is set already. # Otherwise, we have to grab the data. details = self.lsblk_all or disk.lsblk_all() + _is_member = False if self.sys_api.get("partitions"): for part in self.sys_api.get("partitions").keys(): for dev in details: - if dev['NAME'] == part: - return is_member(dev) + if part.startswith(dev['NAME']): + if is_member(dev): + _is_member = True + return _is_member else: return is_member(self.disk_api) raise RuntimeError(f"Couln't check if device {self.path} is a ceph-disk member.")