disk = device.Device("/dev/sda")
assert disk.is_ceph_disk_member
+ def test_is_ceph_disk_member_not_available(self, device_info):
+ lsblk = {"PARTLABEL": "ceph data"}
+ device_info(lsblk=lsblk)
+ disk = device.Device("/dev/sda")
+ assert disk.is_ceph_disk_member
+ assert not disk.available
+ assert "Used by ceph-disk" in disk.rejected_reasons
+
def test_is_not_ceph_disk_member_lsblk(self, device_info):
lsblk = {"PARTLABEL": "gluster partition"}
device_info(lsblk=lsblk)
dev_id.replace(' ', '_')
return dev_id
-
-
-
def _set_lvm_membership(self):
if self._is_lvm_member is None:
# this is contentious, if a PV is recognized by LVM but has no
@property
def is_ceph_disk_member(self):
- return self.ceph_disk.is_member
+ is_member = self.ceph_disk.is_member
+ if self.sys_api.get("partitions"):
+ for part in self.sys_api.get("partitions").keys():
+ part = Device("/dev/%s" % part)
+ if part.is_ceph_disk_member:
+ is_member = True
+ break
+ return is_member
@property
def is_mapper(self):
]
rejected = [reason for (k, v, reason) in reasons if
self.sys_api.get(k, '') == v]
+ if self.is_ceph_disk_member:
+ rejected.append("Used by ceph-disk")
+
return len(rejected) == 0, rejected