From: Loic Dachary Date: Sun, 20 Sep 2015 12:16:12 +0000 (+0200) Subject: ceph-disk: prefer sgdisk to blkid to retrieve partition UUID X-Git-Tag: v9.1.0~89^2^2~14 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=9e796dc8b29c7f1a44d2aebcd0f59fa915270822;p=ceph.git 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 --- diff --git a/src/ceph-disk b/src/ceph-disk index d8f67ce615c7..18abad40850e 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)