]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph-disk: use blkid for get_partition_{type,uuid}
authorSage Weil <sage@redhat.com>
Tue, 1 Sep 2015 19:07:11 +0000 (15:07 -0400)
committerSage Weil <sage@redhat.com>
Thu, 3 Sep 2015 20:18:16 +0000 (16:18 -0400)
Signed-off-by: Sage Weil <sage@redhat.com>
src/ceph-disk

index 61d2b651ed4ade8974c05c2f40955d41377c22c3..bb5772683076217a27a12e6c357de1798dcccafe 100755 (executable)
@@ -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,