From 66d0a07b34faa4514b1b7cb2d46ed90d83b91963 Mon Sep 17 00:00:00 2001 From: Guillaume Abrioux Date: Tue, 26 Jul 2022 16:24:31 +0200 Subject: [PATCH] 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) --- src/ceph-volume/ceph_volume/util/device.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/ceph-volume/ceph_volume/util/device.py b/src/ceph-volume/ceph_volume/util/device.py index d54c0d56e11b8..86249894e5417 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.") -- 2.39.5