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: v13.2.9~44^2~7 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=bc17de912c640bab317694d9c43bd6f3caeeb527;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 029c69ef7625..a5bc388f157b 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 @@ -312,6 +312,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-')) @@ -389,6 +398,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