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)
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)
)
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,