From 24899a1f8d77bc3c10ef158bb463349d615f7c57 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 --- 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 3892b69b05a..a68377169ff 100644 --- a/src/ceph-volume/ceph_volume/util/device.py +++ b/src/ceph-volume/ceph_volume/util/device.py @@ -408,11 +408,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.")