From: Sage Weil Date: Mon, 9 Dec 2019 13:38:13 +0000 (-0600) Subject: ceph-volume: show devices with bluestore labels and unavailable X-Git-Tag: v14.2.8~20^2~17^2~5 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=b5cde8128f6ee002791cfcb6f3f2df6cf55a0783;p=ceph.git ceph-volume: show devices with bluestore labels and unavailable Signed-off-by: Sage Weil (cherry picked from commit 4b81bc8b358390f37eb5bcc3e2764ee6ede0ceda) --- diff --git a/src/ceph-volume/ceph_volume/util/device.py b/src/ceph-volume/ceph_volume/util/device.py index ea478f3877d7..7c5d448a8f22 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-')) @@ -391,6 +400,8 @@ class Device(object): self.sys_api.get(k, '') == v] 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