From 4b81bc8b358390f37eb5bcc3e2764ee6ede0ceda Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 9 Dec 2019 07:38:13 -0600 Subject: [PATCH] ceph-volume: show devices with bluestore labels and unavailable Signed-off-by: Sage Weil --- src/ceph-volume/ceph_volume/util/device.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/ceph-volume/ceph_volume/util/device.py b/src/ceph-volume/ceph_volume/util/device.py index fc7d471f0a8..3974526c49c 100644 --- a/src/ceph-volume/ceph_volume/util/device.py +++ b/src/ceph-volume/ceph_volume/util/device.py @@ -2,7 +2,7 @@ import os from functools import total_ordering -from ceph_volume import sys_info +from ceph_volume import sys_info, process from ceph_volume.api import lvm from ceph_volume.util import disk from ceph_volume.util.constants import ceph_disk_guids @@ -317,6 +317,15 @@ class Device(object): break return is_member + @property + def has_bluestore_label(self): + out, err, ret = process.call([ + 'ceph-bluestore-tool', 'show-label', + '--dev', self.path]) + if ret: + return False + return True + @property def is_mapper(self): return self.path.startswith(('/dev/mapper', '/dev/dm-')) @@ -394,6 +403,8 @@ class Device(object): rejected.append('Insufficient space (<5GB)') if self.is_ceph_disk_member: rejected.append("Used by ceph-disk") + if self.has_bluestore_label: + rejected.append('Has BlueStore device label') return len(rejected) == 0, rejected -- 2.39.5