From 9e796dc8b29c7f1a44d2aebcd0f59fa915270822 Mon Sep 17 00:00:00 2001 From: Loic Dachary Date: Sun, 20 Sep 2015 14:16:12 +0200 Subject: [PATCH] ceph-disk: prefer sgdisk to blkid to retrieve partition UUID blkid 2.23.2 which is the default for official CentOS 7 cloud images fails on journal device. It would be better to use blkid because it does not trigger udev events, but it is more important to get reliable results. http://tracker.ceph.com/issues/13153 Fixes: #13153 Signed-off-by: Loic Dachary --- src/ceph-disk | 25 ++----------------------- 1 file changed, 2 insertions(+), 23 deletions(-) diff --git a/src/ceph-disk b/src/ceph-disk index d8f67ce615c..18abad40850 100755 --- a/src/ceph-disk +++ b/src/ceph-disk @@ -2675,31 +2675,10 @@ def split_dev_base_partnum(dev): return (base, partnum) def get_partition_type(part): - return get_blkid_partition_info(part, 'ID_PART_ENTRY_TYPE') - #return get_sgdisk_partition_info(part, 'Partition GUID code: (\S+)') + return get_sgdisk_partition_info(part, 'Partition GUID code: (\S+)') def get_partition_uuid(part): - return get_blkid_partition_info(part, 'ID_PART_ENTRY_UUID') - #return get_sgdisk_partition_info(part, 'Partition unique GUID: (\S+)') - -def get_blkid_partition_info(dev, what=None): - out, _ = command( - [ - '/sbin/blkid', - '-o', - 'udev', - '-p', - dev, - ] - ) - p = {} - for line in out.splitlines(): - (key, value) = line.split('=') - p[key] = value - if what: - return p.get(what) - else: - return p + return get_sgdisk_partition_info(part, 'Partition unique GUID: (\S+)') def get_sgdisk_partition_info(dev, regexp): (base, partnum) = split_dev_base_partnum(dev) -- 2.47.3