From: Sage Weil Date: Tue, 1 Sep 2015 19:07:11 +0000 (-0400) Subject: ceph-disk: use blkid for get_partition_{type,uuid} X-Git-Tag: v9.1.0~162^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=b092bd027358186831543436dc18585531f3cc63;p=ceph.git ceph-disk: use blkid for get_partition_{type,uuid} Signed-off-by: Sage Weil --- diff --git a/src/ceph-disk b/src/ceph-disk index 61d2b651ed4a..bb5772683076 100755 --- a/src/ceph-disk +++ b/src/ceph-disk @@ -2649,23 +2649,6 @@ def get_dev_fs(dev): else: return None -def get_dev_udev_properties(dev): - out, _ = command( - [ - '/sbin/blkid', - '-o', - 'udev', - '-p', - dev, - ] - ) - p = {} - for line in out.split('\n'): - if line: - (key, value) = line.split('=') - p[key] = value - return p - def split_dev_base_partnum(dev): if is_mpath(dev): partnum = partnum_mpath(dev) @@ -2677,10 +2660,31 @@ def split_dev_base_partnum(dev): return (base, partnum) def get_partition_type(part): - return get_sgdisk_partition_info(part, 'Partition GUID code: (\S+)') + return get_blkid_partition_info(part, 'ID_PART_ENTRY_TYPE') + #return get_sgdisk_partition_info(part, 'Partition GUID code: (\S+)') def get_partition_uuid(part): - return get_sgdisk_partition_info(part, 'Partition unique GUID: (\S+)') + 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 def get_sgdisk_partition_info(dev, regexp): (base, partnum) = split_dev_base_partnum(dev) @@ -3018,15 +3022,8 @@ def main_trigger(args): ) return - p = get_dev_udev_properties(args.dev) - - if 'ID_PART_ENTRY_TYPE' not in p: - raise Error('no ID_PART_ENTRY_TYPE for %s' % args.dev) - parttype = p['ID_PART_ENTRY_TYPE'] - - if 'ID_PART_ENTRY_UUID' not in p: - raise Error('no ID_PART_ENTRY_UUID for %s' % args.dev) - partid = p['ID_PART_ENTRY_UUID'] + parttype = get_partition_type(args.dev) + partid = get_partition_uuid(args.dev) LOG.info('trigger {dev} parttype {parttype} uuid {partid}'.format( dev=args.dev,