Blame SOURCES/0010-Fix-name-resolution-for-MD-devices-and-partitions-on.patch

f01d01
From 18ce766bc90abdf0d8ca54bdf578463392a52ee9 Mon Sep 17 00:00:00 2001
f01d01
From: Vojtech Trefny <vtrefny@redhat.com>
f01d01
Date: Wed, 12 Aug 2020 10:57:19 +0200
f01d01
Subject: [PATCH 1/2] Fix name resolution for MD devices and partitions on them
f01d01
f01d01
UDev data for both member disks/partitions and partitions on arrays
f01d01
contain the MD_* properties we must be extra careful when deciding
f01d01
what name we'll use for the device.
f01d01
f01d01
Resolves: rhbz#1862904
f01d01
---
f01d01
 blivet/udev.py | 12 ++++++++++--
f01d01
 1 file changed, 10 insertions(+), 2 deletions(-)
f01d01
f01d01
diff --git a/blivet/udev.py b/blivet/udev.py
f01d01
index 41c99496..c85eb3dc 100644
f01d01
--- a/blivet/udev.py
f01d01
+++ b/blivet/udev.py
f01d01
@@ -202,9 +202,16 @@ def device_get_name(udev_info):
f01d01
     """ Return the best name for a device based on the udev db data. """
f01d01
     if "DM_NAME" in udev_info:
f01d01
         name = udev_info["DM_NAME"]
f01d01
-    elif "MD_DEVNAME" in udev_info and os.path.exists(device_get_sysfs_path(udev_info) + "/md"):
f01d01
+    elif "MD_DEVNAME" in udev_info:
f01d01
         mdname = udev_info["MD_DEVNAME"]
f01d01
-        if device_is_partition(udev_info):
f01d01
+        if device_is_md(udev_info):
f01d01
+            # MD RAID array -> use MD_DEVNAME
f01d01
+            name = mdname
f01d01
+        elif device_get_format(udev_info) == "linux_raid_member":
f01d01
+            # MD RAID member -> use SYS_NAME
f01d01
+            name = udev_info["SYS_NAME"]
f01d01
+        elif device_is_partition(udev_info):
f01d01
+            # partition on RAID -> construct name from MD_DEVNAME + partition number
f01d01
             # for partitions on named RAID we want to use the raid name, not
f01d01
             # the node, e.g. "raid1" instead of "md127p1"
f01d01
             partnum = udev_info["ID_PART_ENTRY_NUMBER"]
f01d01
@@ -213,6 +220,7 @@ def device_get_name(udev_info):
f01d01
             else:
f01d01
                 name = mdname + partnum
f01d01
         else:
f01d01
+            # something else -> default to MD_DEVNAME
f01d01
             name = mdname
f01d01
     else:
f01d01
         name = udev_info["SYS_NAME"]
f01d01
-- 
f01d01
2.25.4
f01d01
f01d01
f01d01
From dc96961adcb9dd6ef6d09e4daaa0a5eaae1ffe60 Mon Sep 17 00:00:00 2001
f01d01
From: Vojtech Trefny <vtrefny@redhat.com>
f01d01
Date: Wed, 12 Aug 2020 11:10:03 +0200
f01d01
Subject: [PATCH 2/2] Add tests for udev.device_get_name for RAID devices
f01d01
f01d01
This includes sample UDev data for various combinations of RAID
f01d01
devices configuration.
f01d01
f01d01
Related: rhbz#1862904
f01d01
---
f01d01
 tests/udev_data/__init__.py  |   0
f01d01
 tests/udev_data/raid_data.py | 705 +++++++++++++++++++++++++++++++++++
f01d01
 tests/udev_test.py           |  46 +++
f01d01
 3 files changed, 751 insertions(+)
f01d01
 create mode 100644 tests/udev_data/__init__.py
f01d01
 create mode 100644 tests/udev_data/raid_data.py
f01d01
f01d01
diff --git a/tests/udev_data/__init__.py b/tests/udev_data/__init__.py
f01d01
new file mode 100644
f01d01
index 00000000..e69de29b
f01d01
diff --git a/tests/udev_data/raid_data.py b/tests/udev_data/raid_data.py
f01d01
new file mode 100644
f01d01
index 00000000..509cbfbd
f01d01
--- /dev/null
f01d01
+++ b/tests/udev_data/raid_data.py
f01d01
@@ -0,0 +1,705 @@
f01d01
+# Sample UDev data for various MD RAID devices:
f01d01
+# - member_boot: data for the member disk or partition after booting the system
f01d01
+# - member_assemble: data for the member disk or partition after re-assembling stopped array using
f01d01
+#                    'mdadm --assemble --scan' (yes, this is different from member_boot)
f01d01
+# - raid_device: data for the RAID array device
f01d01
+# - raid_partition: data for partition on the array
f01d01
+#
f01d01
+# We have data for different combinations of member "types", MD metadata versions and named v unnamed
f01d01
+# RAID devices.
f01d01
+# The data were gathered on Fedora 32.
f01d01
+
f01d01
+
f01d01
+class RaidOnDisk1():
f01d01
+    member_name = "sda"
f01d01
+    raid_name = "127"
f01d01
+    raid_node = "md127"
f01d01
+    metadata_version = "1.2"
f01d01
+
f01d01
+    member_boot = {'DEVLINKS': '/dev/disk/by-path/pci-0000:00:11.0-scsi-0:0:0:0 /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-0',
f01d01
+                   'DEVNAME': '/dev/sda',
f01d01
+                   'DEVPATH': '/devices/pci0000:00/0000:00:11.0/virtio5/host8/target8:0:0/8:0:0:0/block/sda',
f01d01
+                   'DEVTYPE': 'disk',
f01d01
+                   'ID_BUS': 'scsi',
f01d01
+                   'ID_FS_LABEL': 'localhost.localdomain:127',
f01d01
+                   'ID_FS_LABEL_ENC': 'localhost.localdomain:127',
f01d01
+                   'ID_FS_TYPE': 'linux_raid_member',
f01d01
+                   'ID_FS_USAGE': 'raid',
f01d01
+                   'ID_FS_UUID': '54956eb2-6983-8759-e2ad-4c40acc92e4b',
f01d01
+                   'ID_FS_UUID_ENC': '54956eb2-6983-8759-e2ad-4c40acc92e4b',
f01d01
+                   'ID_FS_UUID_SUB': '64f96f0b-e97c-9157-d393-1fe457f3dd59',
f01d01
+                   'ID_FS_UUID_SUB_ENC': '64f96f0b-e97c-9157-d393-1fe457f3dd59',
f01d01
+                   'ID_FS_VERSION': '1.2',
f01d01
+                   'ID_MODEL': 'QEMU_HARDDISK',
f01d01
+                   'ID_MODEL_ENC': 'QEMU\\x20HARDDISK\\x20\\x20\\x20',
f01d01
+                   'ID_PATH': 'pci-0000:00:11.0-scsi-0:0:0:0',
f01d01
+                   'ID_PATH_TAG': 'pci-0000_00_11_0-scsi-0_0_0_0',
f01d01
+                   'ID_REVISION': '2.5+',
f01d01
+                   'ID_SCSI': '1',
f01d01
+                   'ID_SERIAL': '0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-0',
f01d01
+                   'ID_SERIAL_SHORT': 'drive-scsi0-0-0-0',
f01d01
+                   'ID_TYPE': 'disk',
f01d01
+                   'ID_VENDOR': 'QEMU',
f01d01
+                   'ID_VENDOR_ENC': 'QEMU\\x20\\x20\\x20\\x20',
f01d01
+                   'MAJOR': '8',
f01d01
+                   'MD_DEVICE': 'md127',
f01d01
+                   'MD_DEVNAME': '127',
f01d01
+                   'MD_FOREIGN': 'no',
f01d01
+                   'MD_STARTED': 'unsafe',
f01d01
+                   'MINOR': '0',
f01d01
+                   'SUBSYSTEM': 'block',
f01d01
+                   'SYSTEMD_WANTS': 'mdadm-last-resort@md127.timer',
f01d01
+                   'TAGS': ':systemd:',
f01d01
+                   'USEC_INITIALIZED': '5529231',
f01d01
+                   'SYS_NAME': 'sda',
f01d01
+                   'SYS_PATH': '/sys/devices/pci0000:00/0000:00:11.0/virtio5/host8/target8:0:0/8:0:0:0/block/sda'}
f01d01
+
f01d01
+    member_assemble = {'DEVLINKS': '/dev/disk/by-path/pci-0000:00:11.0-scsi-0:0:0:0 /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-0',
f01d01
+                       'DEVNAME': '/dev/sda',
f01d01
+                       'DEVPATH': '/devices/pci0000:00/0000:00:11.0/virtio5/host8/target8:0:0/8:0:0:0/block/sda',
f01d01
+                       'DEVTYPE': 'disk',
f01d01
+                       'ID_BUS': 'scsi',
f01d01
+                       'ID_FS_LABEL': 'localhost.localdomain:127',
f01d01
+                       'ID_FS_LABEL_ENC': 'localhost.localdomain:127',
f01d01
+                       'ID_FS_TYPE': 'linux_raid_member',
f01d01
+                       'ID_FS_USAGE': 'raid',
f01d01
+                       'ID_FS_UUID': '54956eb2-6983-8759-e2ad-4c40acc92e4b',
f01d01
+                       'ID_FS_UUID_ENC': '54956eb2-6983-8759-e2ad-4c40acc92e4b',
f01d01
+                       'ID_FS_UUID_SUB': '64f96f0b-e97c-9157-d393-1fe457f3dd59',
f01d01
+                       'ID_FS_UUID_SUB_ENC': '64f96f0b-e97c-9157-d393-1fe457f3dd59',
f01d01
+                       'ID_FS_VERSION': '1.2',
f01d01
+                       'ID_MODEL': 'QEMU_HARDDISK',
f01d01
+                       'ID_MODEL_ENC': 'QEMU\\x20HARDDISK\\x20\\x20\\x20',
f01d01
+                       'ID_PATH': 'pci-0000:00:11.0-scsi-0:0:0:0',
f01d01
+                       'ID_PATH_TAG': 'pci-0000_00_11_0-scsi-0_0_0_0',
f01d01
+                       'ID_REVISION': '2.5+',
f01d01
+                       'ID_SCSI': '1',
f01d01
+                       'ID_SERIAL': '0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-0',
f01d01
+                       'ID_SERIAL_SHORT': 'drive-scsi0-0-0-0',
f01d01
+                       'ID_TYPE': 'disk',
f01d01
+                       'ID_VENDOR': 'QEMU',
f01d01
+                       'ID_VENDOR_ENC': 'QEMU\\x20\\x20\\x20\\x20',
f01d01
+                       'MAJOR': '8',
f01d01
+                       'MINOR': '0',
f01d01
+                       'SUBSYSTEM': 'block',
f01d01
+                       'TAGS': ':systemd:',
f01d01
+                       'USEC_INITIALIZED': '5529231',
f01d01
+                       'SYS_NAME': 'sda',
f01d01
+                       'SYS_PATH': '/sys/devices/pci0000:00/0000:00:11.0/virtio5/host8/target8:0:0/8:0:0:0/block/sda'}
f01d01
+
f01d01
+    raid_device = {'DEVLINKS': '/dev/disk/by-id/md-name-localhost.localdomain:127 /dev/disk/by-id/md-uuid-54956eb2:69838759:e2ad4c40:acc92e4b /dev/md/127',
f01d01
+                   'DEVNAME': '/dev/md127',
f01d01
+                   'DEVPATH': '/devices/virtual/block/md127',
f01d01
+                   'DEVTYPE': 'disk',
f01d01
+                   'ID_PART_TABLE_TYPE': 'dos',
f01d01
+                   'ID_PART_TABLE_UUID': '4eec0361',
f01d01
+                   'MAJOR': '9',
f01d01
+                   'MD_DEVICES': '2',
f01d01
+                   'MD_DEVICE_ev_sda_DEV': '/dev/sda',
f01d01
+                   'MD_DEVICE_ev_sda_ROLE': '0',
f01d01
+                   'MD_DEVICE_ev_sdb_DEV': '/dev/sdb',
f01d01
+                   'MD_DEVICE_ev_sdb_ROLE': '1',
f01d01
+                   'MD_DEVNAME': '127',
f01d01
+                   'MD_LEVEL': 'raid1',
f01d01
+                   'MD_METADATA': '1.2',
f01d01
+                   'MD_NAME': 'localhost.localdomain:127',
f01d01
+                   'MD_UUID': '54956eb2:69838759:e2ad4c40:acc92e4b',
f01d01
+                   'MINOR': '127',
f01d01
+                   'SUBSYSTEM': 'block',
f01d01
+                   'SYSTEMD_WANTS': 'mdmonitor.service',
f01d01
+                   'TAGS': ':systemd:',
f01d01
+                   'USEC_INITIALIZED': '603606045',
f01d01
+                   'SYS_NAME': 'md127',
f01d01
+                   'SYS_PATH': '/sys/devices/virtual/block/md127'}
f01d01
+
f01d01
+    raid_partition = {'DEVLINKS': '/dev/md/127p1 /dev/disk/by-id/md-uuid-54956eb2:69838759:e2ad4c40:acc92e4b-part1 /dev/disk/by-id/md-name-localhost.localdomain:127-part1',
f01d01
+                      'DEVNAME': '/dev/md127p1',
f01d01
+                      'DEVPATH': '/devices/virtual/block/md127/md127p1',
f01d01
+                      'DEVTYPE': 'partition',
f01d01
+                      'ID_PART_ENTRY_DISK': '9:127',
f01d01
+                      'ID_PART_ENTRY_NUMBER': '1',
f01d01
+                      'ID_PART_ENTRY_OFFSET': '2048',
f01d01
+                      'ID_PART_ENTRY_SCHEME': 'dos',
f01d01
+                      'ID_PART_ENTRY_SIZE': '2091008',
f01d01
+                      'ID_PART_ENTRY_TYPE': '0x83',
f01d01
+                      'ID_PART_ENTRY_UUID': '4eec0361-01',
f01d01
+                      'MAJOR': '259',
f01d01
+                      'MD_DEVICES': '2',
f01d01
+                      'MD_DEVICE_ev_sda_DEV': '/dev/sda',
f01d01
+                      'MD_DEVICE_ev_sda_ROLE': '0',
f01d01
+                      'MD_DEVICE_ev_sdb_DEV': '/dev/sdb',
f01d01
+                      'MD_DEVICE_ev_sdb_ROLE': '1',
f01d01
+                      'MD_DEVNAME': '127',
f01d01
+                      'MD_LEVEL': 'raid1',
f01d01
+                      'MD_METADATA': '1.2',
f01d01
+                      'MD_NAME': 'localhost.localdomain:127',
f01d01
+                      'MD_UUID': '54956eb2:69838759:e2ad4c40:acc92e4b',
f01d01
+                      'MINOR': '2',
f01d01
+                      'PARTN': '1',
f01d01
+                      'SUBSYSTEM': 'block',
f01d01
+                      'SYSTEMD_WANTS': 'mdmonitor.service',
f01d01
+                      'TAGS': ':systemd:',
f01d01
+                      'USEC_INITIALIZED': '603714783',
f01d01
+                      'SYS_NAME': 'md127p1',
f01d01
+                      'SYS_PATH': '/sys/devices/virtual/block/md127/md127p1'}
f01d01
+
f01d01
+
f01d01
+class RaidOnDisk2():
f01d01
+    member_name = "sdc"
f01d01
+    raid_name = "name"
f01d01
+    raid_node = "md127"
f01d01
+    metadata_version = "1.2"
f01d01
+
f01d01
+    member_boot = {'DEVLINKS': '/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-4 /dev/disk/by-path/pci-0000:00:11.0-scsi-0:0:0:4',
f01d01
+                   'DEVNAME': '/dev/sdc',
f01d01
+                   'DEVPATH': '/devices/pci0000:00/0000:00:11.0/virtio5/host8/target8:0:0/8:0:0:4/block/sdc',
f01d01
+                   'DEVTYPE': 'disk',
f01d01
+                   'ID_BUS': 'scsi',
f01d01
+                   'ID_FS_LABEL': 'localhost.localdomain:name',
f01d01
+                   'ID_FS_LABEL_ENC': 'localhost.localdomain:name',
f01d01
+                   'ID_FS_TYPE': 'linux_raid_member',
f01d01
+                   'ID_FS_USAGE': 'raid',
f01d01
+                   'ID_FS_UUID': '143d480c-12c3-909f-5476-98a9f94a1c4f',
f01d01
+                   'ID_FS_UUID_ENC': '143d480c-12c3-909f-5476-98a9f94a1c4f',
f01d01
+                   'ID_FS_UUID_SUB': '121f2b71-3634-4183-dc9c-08bfceda765c',
f01d01
+                   'ID_FS_UUID_SUB_ENC': '121f2b71-3634-4183-dc9c-08bfceda765c',
f01d01
+                   'ID_FS_VERSION': '1.2',
f01d01
+                   'ID_MODEL': 'QEMU_HARDDISK',
f01d01
+                   'ID_MODEL_ENC': 'QEMU\\x20HARDDISK\\x20\\x20\\x20',
f01d01
+                   'ID_PATH': 'pci-0000:00:11.0-scsi-0:0:0:4',
f01d01
+                   'ID_PATH_TAG': 'pci-0000_00_11_0-scsi-0_0_0_4',
f01d01
+                   'ID_REVISION': '2.5+',
f01d01
+                   'ID_SCSI': '1',
f01d01
+                   'ID_SERIAL': '0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-4',
f01d01
+                   'ID_SERIAL_SHORT': 'drive-scsi0-0-0-4',
f01d01
+                   'ID_TYPE': 'disk',
f01d01
+                   'ID_VENDOR': 'QEMU',
f01d01
+                   'ID_VENDOR_ENC': 'QEMU\\x20\\x20\\x20\\x20',
f01d01
+                   'MAJOR': '8',
f01d01
+                   'MD_DEVICE': 'md127',
f01d01
+                   'MD_DEVNAME': 'name',
f01d01
+                   'MD_FOREIGN': 'no',
f01d01
+                   'MD_STARTED': 'yes',
f01d01
+                   'MINOR': '32',
f01d01
+                   'SUBSYSTEM': 'block',
f01d01
+                   'TAGS': ':systemd:',
f01d01
+                   'USEC_INITIALIZED': '6109555',
f01d01
+                   'SYS_NAME': 'sdc',
f01d01
+                   'SYS_PATH': '/sys/devices/pci0000:00/0000:00:11.0/virtio5/host8/target8:0:0/8:0:0:4/block/sdc'}
f01d01
+
f01d01
+    member_assemble = {'DEVLINKS': '/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-4 /dev/disk/by-path/pci-0000:00:11.0-scsi-0:0:0:4',
f01d01
+                       'DEVNAME': '/dev/sdc',
f01d01
+                       'DEVPATH': '/devices/pci0000:00/0000:00:11.0/virtio5/host8/target8:0:0/8:0:0:4/block/sdc',
f01d01
+                       'DEVTYPE': 'disk',
f01d01
+                       'ID_BUS': 'scsi',
f01d01
+                       'ID_FS_LABEL': 'localhost.localdomain:name',
f01d01
+                       'ID_FS_LABEL_ENC': 'localhost.localdomain:name',
f01d01
+                       'ID_FS_TYPE': 'linux_raid_member',
f01d01
+                       'ID_FS_USAGE': 'raid',
f01d01
+                       'ID_FS_UUID': '143d480c-12c3-909f-5476-98a9f94a1c4f',
f01d01
+                       'ID_FS_UUID_ENC': '143d480c-12c3-909f-5476-98a9f94a1c4f',
f01d01
+                       'ID_FS_UUID_SUB': '121f2b71-3634-4183-dc9c-08bfceda765c',
f01d01
+                       'ID_FS_UUID_SUB_ENC': '121f2b71-3634-4183-dc9c-08bfceda765c',
f01d01
+                       'ID_FS_VERSION': '1.2',
f01d01
+                       'ID_MODEL': 'QEMU_HARDDISK',
f01d01
+                       'ID_MODEL_ENC': 'QEMU\\x20HARDDISK\\x20\\x20\\x20',
f01d01
+                       'ID_PATH': 'pci-0000:00:11.0-scsi-0:0:0:4',
f01d01
+                       'ID_PATH_TAG': 'pci-0000_00_11_0-scsi-0_0_0_4',
f01d01
+                       'ID_REVISION': '2.5+',
f01d01
+                       'ID_SCSI': '1',
f01d01
+                       'ID_SERIAL': '0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-4',
f01d01
+                       'ID_SERIAL_SHORT': 'drive-scsi0-0-0-4',
f01d01
+                       'ID_TYPE': 'disk',
f01d01
+                       'ID_VENDOR': 'QEMU',
f01d01
+                       'ID_VENDOR_ENC': 'QEMU\\x20\\x20\\x20\\x20',
f01d01
+                       'MAJOR': '8',
f01d01
+                       'MINOR': '32',
f01d01
+                       'SUBSYSTEM': 'block',
f01d01
+                       'TAGS': ':systemd:',
f01d01
+                       'USEC_INITIALIZED': '6109555',
f01d01
+                       'SYS_NAME': 'sdc',
f01d01
+                       'SYS_PATH': '/sys/devices/pci0000:00/0000:00:11.0/virtio5/host8/target8:0:0/8:0:0:4/block/sdc'}
f01d01
+
f01d01
+    raid_device = {'DEVLINKS': '/dev/disk/by-id/md-name-localhost.localdomain:name /dev/disk/by-id/md-uuid-143d480c:12c3909f:547698a9:f94a1c4f /dev/md/name',
f01d01
+                   'DEVNAME': '/dev/md127',
f01d01
+                   'DEVPATH': '/devices/virtual/block/md127',
f01d01
+                   'DEVTYPE': 'disk',
f01d01
+                   'ID_PART_TABLE_TYPE': 'dos',
f01d01
+                   'ID_PART_TABLE_UUID': '19e9cb5b',
f01d01
+                   'MAJOR': '9',
f01d01
+                   'MD_DEVICES': '2',
f01d01
+                   'MD_DEVICE_ev_sdc_DEV': '/dev/sdc',
f01d01
+                   'MD_DEVICE_ev_sdc_ROLE': '0',
f01d01
+                   'MD_DEVICE_ev_sdd_DEV': '/dev/sdd',
f01d01
+                   'MD_DEVICE_ev_sdd_ROLE': '1',
f01d01
+                   'MD_DEVNAME': 'name',
f01d01
+                   'MD_LEVEL': 'raid1',
f01d01
+                   'MD_METADATA': '1.2',
f01d01
+                   'MD_NAME': 'localhost.localdomain:name',
f01d01
+                   'MD_UUID': '143d480c:12c3909f:547698a9:f94a1c4f',
f01d01
+                   'MINOR': '127',
f01d01
+                   'SUBSYSTEM': 'block',
f01d01
+                   'SYSTEMD_WANTS': 'mdmonitor.service',
f01d01
+                   'TAGS': ':systemd:',
f01d01
+                   'USEC_INITIALIZED': '5844744',
f01d01
+                   'SYS_NAME': 'md127',
f01d01
+                   'SYS_PATH': '/sys/devices/virtual/block/md127'}
f01d01
+
f01d01
+    raid_partition = {'DEVLINKS': '/dev/disk/by-id/md-uuid-143d480c:12c3909f:547698a9:f94a1c4f-part1 /dev/disk/by-id/md-name-localhost.localdomain:name-part1 /dev/md/name1',
f01d01
+                      'DEVNAME': '/dev/md127p1',
f01d01
+                      'DEVPATH': '/devices/virtual/block/md127/md127p1',
f01d01
+                      'DEVTYPE': 'partition',
f01d01
+                      'ID_PART_ENTRY_DISK': '9:127',
f01d01
+                      'ID_PART_ENTRY_NUMBER': '1',
f01d01
+                      'ID_PART_ENTRY_OFFSET': '2048',
f01d01
+                      'ID_PART_ENTRY_SCHEME': 'dos',
f01d01
+                      'ID_PART_ENTRY_SIZE': '2091008',
f01d01
+                      'ID_PART_ENTRY_TYPE': '0x83',
f01d01
+                      'ID_PART_ENTRY_UUID': '19e9cb5b-01',
f01d01
+                      'ID_PART_TABLE_TYPE': 'dos',
f01d01
+                      'ID_PART_TABLE_UUID': 'ec985633',
f01d01
+                      'MAJOR': '259',
f01d01
+                      'MD_DEVICES': '2',
f01d01
+                      'MD_DEVICE_ev_sdc_DEV': '/dev/sdc',
f01d01
+                      'MD_DEVICE_ev_sdc_ROLE': '0',
f01d01
+                      'MD_DEVICE_ev_sdd_DEV': '/dev/sdd',
f01d01
+                      'MD_DEVICE_ev_sdd_ROLE': '1',
f01d01
+                      'MD_DEVNAME': 'name',
f01d01
+                      'MD_LEVEL': 'raid1',
f01d01
+                      'MD_METADATA': '1.2',
f01d01
+                      'MD_NAME': 'localhost.localdomain:name',
f01d01
+                      'MD_UUID': '143d480c:12c3909f:547698a9:f94a1c4f',
f01d01
+                      'MINOR': '1',
f01d01
+                      'PARTN': '1',
f01d01
+                      'SUBSYSTEM': 'block',
f01d01
+                      'SYSTEMD_WANTS': 'mdmonitor.service',
f01d01
+                      'TAGS': ':systemd:',
f01d01
+                      'USEC_INITIALIZED': '5928255',
f01d01
+                      'SYS_NAME': 'md127p1',
f01d01
+                      'SYS_PATH': '/sys/devices/virtual/block/md127/md127p1'}
f01d01
+
f01d01
+
f01d01
+class RaidOnDisk3():
f01d01
+    member_name = "sde"
f01d01
+    raid_name = "125"
f01d01
+    raid_node = "md125"
f01d01
+    metadata_version = "0.9"
f01d01
+
f01d01
+    member_boot = {'DEVLINKS': '/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-1 /dev/disk/by-path/pci-0000:00:11.0-scsi-0:0:0:1',
f01d01
+                   'DEVNAME': '/dev/sde',
f01d01
+                   'DEVPATH': '/devices/pci0000:00/0000:00:11.0/virtio5/host8/target8:0:0/8:0:0:1/block/sde',
f01d01
+                   'DEVTYPE': 'disk',
f01d01
+                   'ID_BUS': 'scsi',
f01d01
+                   'ID_FS_TYPE': 'linux_raid_member',
f01d01
+                   'ID_FS_USAGE': 'raid',
f01d01
+                   'ID_FS_UUID': 'c4ef60f5-e374-5f70-bfe7-8010bc810f04',
f01d01
+                   'ID_FS_UUID_ENC': 'c4ef60f5-e374-5f70-bfe7-8010bc810f04',
f01d01
+                   'ID_FS_VERSION': '0.90.0',
f01d01
+                   'ID_MODEL': 'QEMU_HARDDISK',
f01d01
+                   'ID_MODEL_ENC': 'QEMU\\x20HARDDISK\\x20\\x20\\x20',
f01d01
+                   'ID_PATH': 'pci-0000:00:11.0-scsi-0:0:0:1',
f01d01
+                   'ID_PATH_TAG': 'pci-0000_00_11_0-scsi-0_0_0_1',
f01d01
+                   'ID_REVISION': '2.5+',
f01d01
+                   'ID_SCSI': '1',
f01d01
+                   'ID_SERIAL': '0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-1',
f01d01
+                   'ID_SERIAL_SHORT': 'drive-scsi0-0-0-1',
f01d01
+                   'ID_TYPE': 'disk',
f01d01
+                   'ID_VENDOR': 'QEMU',
f01d01
+                   'ID_VENDOR_ENC': 'QEMU\\x20\\x20\\x20\\x20',
f01d01
+                   'MAJOR': '8',
f01d01
+                   'MD_DEVICE': 'md125',
f01d01
+                   'MD_DEVNAME': '125',
f01d01
+                   'MD_FOREIGN': 'no',
f01d01
+                   'MD_STARTED': 'unsafe',
f01d01
+                   'MINOR': '64',
f01d01
+                   'SUBSYSTEM': 'block',
f01d01
+                   'SYSTEMD_WANTS': 'mdadm-last-resort@md125.timer',
f01d01
+                   'TAGS': ':systemd:',
f01d01
+                   'USEC_INITIALIZED': '5538551',
f01d01
+                   'SYS_NAME': 'sde',
f01d01
+                   'SYS_PATH': '/sys/devices/pci0000:00/0000:00:11.0/virtio5/host8/target8:0:0/8:0:0:1/block/sde'}
f01d01
+
f01d01
+    member_assemble = {'DEVLINKS': '/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-1 /dev/disk/by-path/pci-0000:00:11.0-scsi-0:0:0:1',
f01d01
+                       'DEVNAME': '/dev/sde',
f01d01
+                       'DEVPATH': '/devices/pci0000:00/0000:00:11.0/virtio5/host8/target8:0:0/8:0:0:1/block/sde',
f01d01
+                       'DEVTYPE': 'disk',
f01d01
+                       'ID_BUS': 'scsi',
f01d01
+                       'ID_FS_TYPE': 'linux_raid_member',
f01d01
+                       'ID_FS_USAGE': 'raid',
f01d01
+                       'ID_FS_UUID': 'c4ef60f5-e374-5f70-bfe7-8010bc810f04',
f01d01
+                       'ID_FS_UUID_ENC': 'c4ef60f5-e374-5f70-bfe7-8010bc810f04',
f01d01
+                       'ID_FS_VERSION': '0.90.0',
f01d01
+                       'ID_MODEL': 'QEMU_HARDDISK',
f01d01
+                       'ID_MODEL_ENC': 'QEMU\\x20HARDDISK\\x20\\x20\\x20',
f01d01
+                       'ID_PATH': 'pci-0000:00:11.0-scsi-0:0:0:1',
f01d01
+                       'ID_PATH_TAG': 'pci-0000_00_11_0-scsi-0_0_0_1',
f01d01
+                       'ID_REVISION': '2.5+',
f01d01
+                       'ID_SCSI': '1',
f01d01
+                       'ID_SERIAL': '0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-1',
f01d01
+                       'ID_SERIAL_SHORT': 'drive-scsi0-0-0-1',
f01d01
+                       'ID_TYPE': 'disk',
f01d01
+                       'ID_VENDOR': 'QEMU',
f01d01
+                       'ID_VENDOR_ENC': 'QEMU\\x20\\x20\\x20\\x20',
f01d01
+                       'MAJOR': '8',
f01d01
+                       'MINOR': '64',
f01d01
+                       'SUBSYSTEM': 'block',
f01d01
+                       'TAGS': ':systemd:',
f01d01
+                       'USEC_INITIALIZED': '5538551',
f01d01
+                       'SYS_NAME': 'sde',
f01d01
+                       'SYS_PATH': '/sys/devices/pci0000:00/0000:00:11.0/virtio5/host8/target8:0:0/8:0:0:1/block/sde'}
f01d01
+
f01d01
+    raid_device = {'DEVLINKS': '/dev/md/125 /dev/disk/by-id/md-uuid-c4ef60f5:e3745f70:bfe78010:bc810f04',
f01d01
+                   'DEVNAME': '/dev/md125',
f01d01
+                   'DEVPATH': '/devices/virtual/block/md125',
f01d01
+                   'DEVTYPE': 'disk',
f01d01
+                   'ID_PART_TABLE_TYPE': 'dos',
f01d01
+                   'ID_PART_TABLE_UUID': 'e74877cd',
f01d01
+                   'MAJOR': '9',
f01d01
+                   'MD_DEVICES': '2',
f01d01
+                   'MD_DEVICE_ev_sde_DEV': '/dev/sde',
f01d01
+                   'MD_DEVICE_ev_sde_ROLE': '0',
f01d01
+                   'MD_DEVICE_ev_sdf_DEV': '/dev/sdf',
f01d01
+                   'MD_DEVICE_ev_sdf_ROLE': '1',
f01d01
+                   'MD_DEVNAME': '125',
f01d01
+                   'MD_LEVEL': 'raid1',
f01d01
+                   'MD_METADATA': '0.90',
f01d01
+                   'MD_UUID': 'c4ef60f5:e3745f70:bfe78010:bc810f04',
f01d01
+                   'MINOR': '125',
f01d01
+                   'SUBSYSTEM': 'block',
f01d01
+                   'SYSTEMD_WANTS': 'mdmonitor.service',
f01d01
+                   'TAGS': ':systemd:',
f01d01
+                   'USEC_INITIALIZED': '5786380',
f01d01
+                   'SYS_NAME': 'md125',
f01d01
+                   'SYS_PATH': '/sys/devices/virtual/block/md125'}
f01d01
+
f01d01
+    raid_partition = {'DEVLINKS': '/dev/md/125p1 /dev/disk/by-id/md-uuid-c4ef60f5:e3745f70:bfe78010:bc810f04-part1',
f01d01
+                      'DEVNAME': '/dev/md125p1',
f01d01
+                      'DEVPATH': '/devices/virtual/block/md125/md125p1',
f01d01
+                      'DEVTYPE': 'partition',
f01d01
+                      'ID_PART_ENTRY_DISK': '9:125',
f01d01
+                      'ID_PART_ENTRY_NUMBER': '1',
f01d01
+                      'ID_PART_ENTRY_OFFSET': '2048',
f01d01
+                      'ID_PART_ENTRY_SCHEME': 'dos',
f01d01
+                      'ID_PART_ENTRY_SIZE': '2094976',
f01d01
+                      'ID_PART_ENTRY_TYPE': '0x83',
f01d01
+                      'ID_PART_ENTRY_UUID': 'e74877cd-01',
f01d01
+                      'MAJOR': '259',
f01d01
+                      'MD_DEVICES': '2',
f01d01
+                      'MD_DEVICE_ev_sde_DEV': '/dev/sde',
f01d01
+                      'MD_DEVICE_ev_sde_ROLE': '0',
f01d01
+                      'MD_DEVICE_ev_sdf_DEV': '/dev/sdf',
f01d01
+                      'MD_DEVICE_ev_sdf_ROLE': '1',
f01d01
+                      'MD_DEVNAME': '125',
f01d01
+                      'MD_LEVEL': 'raid1',
f01d01
+                      'MD_METADATA': '0.90',
f01d01
+                      'MD_UUID': 'c4ef60f5:e3745f70:bfe78010:bc810f04',
f01d01
+                      'MINOR': '3',
f01d01
+                      'PARTN': '1',
f01d01
+                      'SUBSYSTEM': 'block',
f01d01
+                      'SYSTEMD_WANTS': 'mdmonitor.service',
f01d01
+                      'TAGS': ':systemd:',
f01d01
+                      'USEC_INITIALIZED': '8808457',
f01d01
+                      'SYS_NAME': 'md125p1',
f01d01
+                      'SYS_PATH': '/sys/devices/virtual/block/md125/md125p1'}
f01d01
+
f01d01
+
f01d01
+class RaidOnPartition1():
f01d01
+    member_name = "sdh3"
f01d01
+    raid_name = "122"
f01d01
+    raid_node = "md122"
f01d01
+    metadata_version = "1.2"
f01d01
+
f01d01
+    member_boot = {'DEVLINKS': '/dev/disk/by-path/pci-0000:00:07.0-scsi-0:0:2:0-part3 /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-0-2-part3 /dev/disk/by-partuuid/73eb11a9-03',
f01d01
+                   'DEVNAME': '/dev/sdh3',
f01d01
+                   'DEVPATH': '/devices/pci0000:00/0000:00:07.0/host9/target9:0:2/9:0:2:0/block/sdh/sdh3',
f01d01
+                   'DEVTYPE': 'partition',
f01d01
+                   'ID_BUS': 'scsi',
f01d01
+                   'ID_FS_LABEL': 'localhost.localdomain:122',
f01d01
+                   'ID_FS_LABEL_ENC': 'localhost.localdomain:122',
f01d01
+                   'ID_FS_TYPE': 'linux_raid_member',
f01d01
+                   'ID_FS_USAGE': 'raid',
f01d01
+                   'ID_FS_UUID': '0628d995-eb60-ebd1-a767-51730b16f212',
f01d01
+                   'ID_FS_UUID_ENC': '0628d995-eb60-ebd1-a767-51730b16f212',
f01d01
+                   'ID_FS_UUID_SUB': 'b301779b-f759-ad7d-5324-b38d4b6d944d',
f01d01
+                   'ID_FS_UUID_SUB_ENC': 'b301779b-f759-ad7d-5324-b38d4b6d944d',
f01d01
+                   'ID_FS_VERSION': '1.2',
f01d01
+                   'ID_MODEL': 'QEMU_HARDDISK',
f01d01
+                   'ID_MODEL_ENC': 'QEMU\\x20HARDDISK\\x20\\x20\\x20',
f01d01
+                   'ID_PART_ENTRY_DISK': '8:112',
f01d01
+                   'ID_PART_ENTRY_NUMBER': '3',
f01d01
+                   'ID_PART_ENTRY_OFFSET': '411648',
f01d01
+                   'ID_PART_ENTRY_SCHEME': 'dos',
f01d01
+                   'ID_PART_ENTRY_SIZE': '204800',
f01d01
+                   'ID_PART_ENTRY_TYPE': '0x83',
f01d01
+                   'ID_PART_ENTRY_UUID': '73eb11a9-03',
f01d01
+                   'ID_PART_TABLE_TYPE': 'dos',
f01d01
+                   'ID_PART_TABLE_UUID': '73eb11a9',
f01d01
+                   'ID_PATH': 'pci-0000:00:07.0-scsi-0:0:2:0',
f01d01
+                   'ID_PATH_TAG': 'pci-0000_00_07_0-scsi-0_0_2_0',
f01d01
+                   'ID_REVISION': '2.5+',
f01d01
+                   'ID_SCSI': '1',
f01d01
+                   'ID_SERIAL': '0QEMU_QEMU_HARDDISK_drive-scsi1-0-2',
f01d01
+                   'ID_SERIAL_SHORT': 'drive-scsi1-0-2',
f01d01
+                   'ID_TYPE': 'disk',
f01d01
+                   'ID_VENDOR': 'QEMU',
f01d01
+                   'ID_VENDOR_ENC': 'QEMU\\x20\\x20\\x20\\x20',
f01d01
+                   'MAJOR': '8',
f01d01
+                   'MD_DEVICE': 'md122',
f01d01
+                   'MD_DEVNAME': '122',
f01d01
+                   'MD_FOREIGN': 'no',
f01d01
+                   'MD_STARTED': 'yes',
f01d01
+                   'MINOR': '115',
f01d01
+                   'PARTN': '3',
f01d01
+                   'SUBSYSTEM': 'block',
f01d01
+                   'TAGS': ':systemd:',
f01d01
+                   'USEC_INITIALIZED': '8920462',
f01d01
+                   'SYS_NAME': 'sdh3',
f01d01
+                   'SYS_PATH': '/sys/devices/pci0000:00/0000:00:07.0/host9/target9:0:2/9:0:2:0/block/sdh/sdh3'}
f01d01
+
f01d01
+    member_assemble = {'DEVLINKS': '/dev/disk/by-path/pci-0000:00:07.0-scsi-0:0:2:0-part3 /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-0-2-part3 /dev/disk/by-partuuid/73eb11a9-03',
f01d01
+                       'DEVNAME': '/dev/sdh3',
f01d01
+                       'DEVPATH': '/devices/pci0000:00/0000:00:07.0/host9/target9:0:2/9:0:2:0/block/sdh/sdh3',
f01d01
+                       'DEVTYPE': 'partition',
f01d01
+                       'ID_BUS': 'scsi',
f01d01
+                       'ID_FS_LABEL': 'localhost.localdomain:122',
f01d01
+                       'ID_FS_LABEL_ENC': 'localhost.localdomain:122',
f01d01
+                       'ID_FS_TYPE': 'linux_raid_member',
f01d01
+                       'ID_FS_USAGE': 'raid',
f01d01
+                       'ID_FS_UUID': '0628d995-eb60-ebd1-a767-51730b16f212',
f01d01
+                       'ID_FS_UUID_ENC': '0628d995-eb60-ebd1-a767-51730b16f212',
f01d01
+                       'ID_FS_UUID_SUB': 'b301779b-f759-ad7d-5324-b38d4b6d944d',
f01d01
+                       'ID_FS_UUID_SUB_ENC': 'b301779b-f759-ad7d-5324-b38d4b6d944d',
f01d01
+                       'ID_FS_VERSION': '1.2',
f01d01
+                       'ID_MODEL': 'QEMU_HARDDISK',
f01d01
+                       'ID_MODEL_ENC': 'QEMU\\x20HARDDISK\\x20\\x20\\x20',
f01d01
+                       'ID_PART_ENTRY_DISK': '8:112',
f01d01
+                       'ID_PART_ENTRY_NUMBER': '3',
f01d01
+                       'ID_PART_ENTRY_OFFSET': '411648',
f01d01
+                       'ID_PART_ENTRY_SCHEME': 'dos',
f01d01
+                       'ID_PART_ENTRY_SIZE': '204800',
f01d01
+                       'ID_PART_ENTRY_TYPE': '0x83',
f01d01
+                       'ID_PART_ENTRY_UUID': '73eb11a9-03',
f01d01
+                       'ID_PART_TABLE_TYPE': 'dos',
f01d01
+                       'ID_PART_TABLE_UUID': '73eb11a9',
f01d01
+                       'ID_PATH': 'pci-0000:00:07.0-scsi-0:0:2:0',
f01d01
+                       'ID_PATH_TAG': 'pci-0000_00_07_0-scsi-0_0_2_0',
f01d01
+                       'ID_REVISION': '2.5+',
f01d01
+                       'ID_SCSI': '1',
f01d01
+                       'ID_SERIAL': '0QEMU_QEMU_HARDDISK_drive-scsi1-0-2',
f01d01
+                       'ID_SERIAL_SHORT': 'drive-scsi1-0-2',
f01d01
+                       'ID_TYPE': 'disk',
f01d01
+                       'ID_VENDOR': 'QEMU',
f01d01
+                       'ID_VENDOR_ENC': 'QEMU\\x20\\x20\\x20\\x20',
f01d01
+                       'MAJOR': '8',
f01d01
+                       'MINOR': '115',
f01d01
+                       'PARTN': '3',
f01d01
+                       'SUBSYSTEM': 'block',
f01d01
+                       'TAGS': ':systemd:',
f01d01
+                       'USEC_INITIALIZED': '8920462',
f01d01
+                       'SYS_NAME': 'sdh3',
f01d01
+                       'SYS_PATH': '/sys/devices/pci0000:00/0000:00:07.0/host9/target9:0:2/9:0:2:0/block/sdh/sdh3'}
f01d01
+
f01d01
+    raid_device = {'DEVLINKS': '/dev/disk/by-id/md-uuid-0628d995:eb60ebd1:a7675173:0b16f212 /dev/disk/by-id/md-name-localhost.localdomain:122 /dev/md/122',
f01d01
+                   'DEVNAME': '/dev/md122',
f01d01
+                   'DEVPATH': '/devices/virtual/block/md122',
f01d01
+                   'DEVTYPE': 'disk',
f01d01
+                   'ID_PART_TABLE_TYPE': 'dos',
f01d01
+                   'ID_PART_TABLE_UUID': '6dc80b3b',
f01d01
+                   'MAJOR': '9',
f01d01
+                   'MD_DEVICES': '2',
f01d01
+                   'MD_DEVICE_ev_sdh3_DEV': '/dev/sdh3',
f01d01
+                   'MD_DEVICE_ev_sdh3_ROLE': '0',
f01d01
+                   'MD_DEVICE_ev_sdh5_DEV': '/dev/sdh5',
f01d01
+                   'MD_DEVICE_ev_sdh5_ROLE': '1',
f01d01
+                   'MD_DEVNAME': '122',
f01d01
+                   'MD_LEVEL': 'raid1',
f01d01
+                   'MD_METADATA': '1.2',
f01d01
+                   'MD_NAME': 'localhost.localdomain:122',
f01d01
+                   'MD_UUID': '0628d995:eb60ebd1:a7675173:0b16f212',
f01d01
+                   'MINOR': '122',
f01d01
+                   'SUBSYSTEM': 'block',
f01d01
+                   'SYSTEMD_WANTS': 'mdmonitor.service',
f01d01
+                   'TAGS': ':systemd:',
f01d01
+                   'USEC_INITIALIZED': '8770105',
f01d01
+                   'SYS_NAME': 'md122',
f01d01
+                   'SYS_PATH': '/sys/devices/virtual/block/md122'}
f01d01
+
f01d01
+    raid_partition = {'DEVLINKS': '/dev/disk/by-id/md-uuid-0628d995:eb60ebd1:a7675173:0b16f212-part1 /dev/disk/by-id/md-name-localhost.localdomain:122-part1 /dev/md/122p1',
f01d01
+                      'DEVNAME': '/dev/md122p1',
f01d01
+                      'DEVPATH': '/devices/virtual/block/md122/md122p1',
f01d01
+                      'DEVTYPE': 'partition',
f01d01
+                      'ID_PART_ENTRY_DISK': '9:122',
f01d01
+                      'ID_PART_ENTRY_NUMBER': '1',
f01d01
+                      'ID_PART_ENTRY_OFFSET': '2048',
f01d01
+                      'ID_PART_ENTRY_SCHEME': 'dos',
f01d01
+                      'ID_PART_ENTRY_SIZE': '200704',
f01d01
+                      'ID_PART_ENTRY_TYPE': '0x83',
f01d01
+                      'ID_PART_ENTRY_UUID': '6dc80b3b-01',
f01d01
+                      'MAJOR': '259',
f01d01
+                      'MD_DEVICES': '2',
f01d01
+                      'MD_DEVICE_ev_sdh3_DEV': '/dev/sdh3',
f01d01
+                      'MD_DEVICE_ev_sdh3_ROLE': '0',
f01d01
+                      'MD_DEVICE_ev_sdh5_DEV': '/dev/sdh5',
f01d01
+                      'MD_DEVICE_ev_sdh5_ROLE': '1',
f01d01
+                      'MD_DEVNAME': '122',
f01d01
+                      'MD_LEVEL': 'raid1',
f01d01
+                      'MD_METADATA': '1.2',
f01d01
+                      'MD_NAME': 'localhost.localdomain:122',
f01d01
+                      'MD_UUID': '0628d995:eb60ebd1:a7675173:0b16f212',
f01d01
+                      'MINOR': '6',
f01d01
+                      'PARTN': '1',
f01d01
+                      'SUBSYSTEM': 'block',
f01d01
+                      'SYSTEMD_WANTS': 'mdmonitor.service',
f01d01
+                      'TAGS': ':systemd:',
f01d01
+                      'USEC_INITIALIZED': '9003885',
f01d01
+                      'SYS_NAME': 'md122p1',
f01d01
+                      'SYS_PATH': '/sys/devices/virtual/block/md122/md122p1'}
f01d01
+
f01d01
+
f01d01
+class RaidOnPartition2():
f01d01
+    member_name = "sdh1"
f01d01
+    raid_name = "123"
f01d01
+    raid_node = "md123"
f01d01
+    metadata_version = "0.9"
f01d01
+
f01d01
+    member_boot = {'DEVLINKS': '/dev/disk/by-path/pci-0000:00:07.0-scsi-0:0:2:0-part1 /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-0-2-part1 /dev/disk/by-partuuid/73eb11a9-01',
f01d01
+                   'DEVNAME': '/dev/sdh1',
f01d01
+                   'DEVPATH': '/devices/pci0000:00/0000:00:07.0/host9/target9:0:2/9:0:2:0/block/sdh/sdh1',
f01d01
+                   'DEVTYPE': 'partition',
f01d01
+                   'ID_BUS': 'scsi',
f01d01
+                   'ID_FS_TYPE': 'linux_raid_member',
f01d01
+                   'ID_FS_USAGE': 'raid',
f01d01
+                   'ID_FS_UUID': '335b35e0-f1af-8e86-bfe7-8010bc810f04',
f01d01
+                   'ID_FS_UUID_ENC': '335b35e0-f1af-8e86-bfe7-8010bc810f04',
f01d01
+                   'ID_FS_VERSION': '0.90.0',
f01d01
+                   'ID_MODEL': 'QEMU_HARDDISK',
f01d01
+                   'ID_MODEL_ENC': 'QEMU\\x20HARDDISK\\x20\\x20\\x20',
f01d01
+                   'ID_PART_ENTRY_DISK': '8:112',
f01d01
+                   'ID_PART_ENTRY_NUMBER': '1',
f01d01
+                   'ID_PART_ENTRY_OFFSET': '2048',
f01d01
+                   'ID_PART_ENTRY_SCHEME': 'dos',
f01d01
+                   'ID_PART_ENTRY_SIZE': '204800',
f01d01
+                   'ID_PART_ENTRY_TYPE': '0x83',
f01d01
+                   'ID_PART_ENTRY_UUID': '73eb11a9-01',
f01d01
+                   'ID_PART_TABLE_TYPE': 'dos',
f01d01
+                   'ID_PART_TABLE_UUID': '73eb11a9',
f01d01
+                   'ID_PATH': 'pci-0000:00:07.0-scsi-0:0:2:0',
f01d01
+                   'ID_PATH_TAG': 'pci-0000_00_07_0-scsi-0_0_2_0',
f01d01
+                   'ID_REVISION': '2.5+',
f01d01
+                   'ID_SCSI': '1',
f01d01
+                   'ID_SERIAL': '0QEMU_QEMU_HARDDISK_drive-scsi1-0-2',
f01d01
+                   'ID_SERIAL_SHORT': 'drive-scsi1-0-2',
f01d01
+                   'ID_TYPE': 'disk',
f01d01
+                   'ID_VENDOR': 'QEMU',
f01d01
+                   'ID_VENDOR_ENC': 'QEMU\\x20\\x20\\x20\\x20',
f01d01
+                   'MAJOR': '8',
f01d01
+                   'MD_DEVICE': 'md123',
f01d01
+                   'MD_DEVNAME': '123',
f01d01
+                   'MD_FOREIGN': 'no',
f01d01
+                   'MD_STARTED': 'unsafe',
f01d01
+                   'MINOR': '113',
f01d01
+                   'PARTN': '1',
f01d01
+                   'SUBSYSTEM': 'block',
f01d01
+                   'SYSTEMD_WANTS': 'mdadm-last-resort@md123.timer',
f01d01
+                   'TAGS': ':systemd:',
f01d01
+                   'USEC_INITIALIZED': '8778733',
f01d01
+                   'SYS_NAME': 'sdh1',
f01d01
+                   'SYS_PATH': '/sys/devices/pci0000:00/0000:00:07.0/host9/target9:0:2/9:0:2:0/block/sdh/sdh1'}
f01d01
+
f01d01
+    member_assemble = {'DEVLINKS': '/dev/disk/by-path/pci-0000:00:07.0-scsi-0:0:2:0-part1 /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi1-0-2-part1 /dev/disk/by-partuuid/73eb11a9-01',
f01d01
+                       'DEVNAME': '/dev/sdh1',
f01d01
+                       'DEVPATH': '/devices/pci0000:00/0000:00:07.0/host9/target9:0:2/9:0:2:0/block/sdh/sdh1',
f01d01
+                       'DEVTYPE': 'partition',
f01d01
+                       'ID_BUS': 'scsi',
f01d01
+                       'ID_FS_TYPE': 'linux_raid_member',
f01d01
+                       'ID_FS_USAGE': 'raid',
f01d01
+                       'ID_FS_UUID': '335b35e0-f1af-8e86-bfe7-8010bc810f04',
f01d01
+                       'ID_FS_UUID_ENC': '335b35e0-f1af-8e86-bfe7-8010bc810f04',
f01d01
+                       'ID_FS_VERSION': '0.90.0',
f01d01
+                       'ID_MODEL': 'QEMU_HARDDISK',
f01d01
+                       'ID_MODEL_ENC': 'QEMU\\x20HARDDISK\\x20\\x20\\x20',
f01d01
+                       'ID_PART_ENTRY_DISK': '8:112',
f01d01
+                       'ID_PART_ENTRY_NUMBER': '1',
f01d01
+                       'ID_PART_ENTRY_OFFSET': '2048',
f01d01
+                       'ID_PART_ENTRY_SCHEME': 'dos',
f01d01
+                       'ID_PART_ENTRY_SIZE': '204800',
f01d01
+                       'ID_PART_ENTRY_TYPE': '0x83',
f01d01
+                       'ID_PART_ENTRY_UUID': '73eb11a9-01',
f01d01
+                       'ID_PART_TABLE_TYPE': 'dos',
f01d01
+                       'ID_PART_TABLE_UUID': '73eb11a9',
f01d01
+                       'ID_PATH': 'pci-0000:00:07.0-scsi-0:0:2:0',
f01d01
+                       'ID_PATH_TAG': 'pci-0000_00_07_0-scsi-0_0_2_0',
f01d01
+                       'ID_REVISION': '2.5+',
f01d01
+                       'ID_SCSI': '1',
f01d01
+                       'ID_SERIAL': '0QEMU_QEMU_HARDDISK_drive-scsi1-0-2',
f01d01
+                       'ID_SERIAL_SHORT': 'drive-scsi1-0-2',
f01d01
+                       'ID_TYPE': 'disk',
f01d01
+                       'ID_VENDOR': 'QEMU',
f01d01
+                       'ID_VENDOR_ENC': 'QEMU\\x20\\x20\\x20\\x20',
f01d01
+                       'MAJOR': '8',
f01d01
+                       'MINOR': '113',
f01d01
+                       'PARTN': '1',
f01d01
+                       'SUBSYSTEM': 'block',
f01d01
+                       'TAGS': ':systemd:',
f01d01
+                       'UDISKS_MD_MEMBER_DEVICES': '2',
f01d01
+                       'UDISKS_MD_MEMBER_EVENTS': '18',
f01d01
+                       'UDISKS_MD_MEMBER_LEVEL': 'raid1',
f01d01
+                       'UDISKS_MD_MEMBER_UPDATE_TIME': '1597143914',
f01d01
+                       'UDISKS_MD_MEMBER_UUID': '335b35e0:f1af8e86:bfe78010:bc810f04',
f01d01
+                       'USEC_INITIALIZED': '8778733',
f01d01
+                       'SYS_NAME': 'sdh1',
f01d01
+                       'SYS_PATH': '/sys/devices/pci0000:00/0000:00:07.0/host9/target9:0:2/9:0:2:0/block/sdh/sdh1'}
f01d01
+
f01d01
+    raid_device = {'DEVLINKS': '/dev/md/123 /dev/disk/by-id/md-uuid-335b35e0:f1af8e86:bfe78010:bc810f04',
f01d01
+                   'DEVNAME': '/dev/md123',
f01d01
+                   'DEVPATH': '/devices/virtual/block/md123',
f01d01
+                   'DEVTYPE': 'disk',
f01d01
+                   'ID_PART_TABLE_TYPE': 'dos',
f01d01
+                   'ID_PART_TABLE_UUID': '653f84c8',
f01d01
+                   'MAJOR': '9',
f01d01
+                   'MD_DEVICES': '2',
f01d01
+                   'MD_DEVICE_ev_sdh1_DEV': '/dev/sdh1',
f01d01
+                   'MD_DEVICE_ev_sdh1_ROLE': '0',
f01d01
+                   'MD_DEVICE_ev_sdh2_DEV': '/dev/sdh2',
f01d01
+                   'MD_DEVICE_ev_sdh2_ROLE': '1',
f01d01
+                   'MD_DEVNAME': '123',
f01d01
+                   'MD_LEVEL': 'raid1',
f01d01
+                   'MD_METADATA': '0.90',
f01d01
+                   'MD_UUID': '335b35e0:f1af8e86:bfe78010:bc810f04',
f01d01
+                   'MINOR': '123',
f01d01
+                   'SUBSYSTEM': 'block',
f01d01
+                   'SYSTEMD_WANTS': 'mdmonitor.service',
f01d01
+                   'TAGS': ':systemd:',
f01d01
+                   'USEC_INITIALIZED': '8760382',
f01d01
+                   'SYS_NAME': 'md123',
f01d01
+                   'SYS_PATH': '/sys/devices/virtual/block/md123'}
f01d01
+
f01d01
+    raid_partition = {'DEVLINKS': '/dev/disk/by-id/md-uuid-335b35e0:f1af8e86:bfe78010:bc810f04-part1 /dev/md/123p1',
f01d01
+                      'DEVNAME': '/dev/md123p1',
f01d01
+                      'DEVPATH': '/devices/virtual/block/md123/md123p1',
f01d01
+                      'DEVTYPE': 'partition',
f01d01
+                      'ID_PART_ENTRY_DISK': '9:123',
f01d01
+                      'ID_PART_ENTRY_NUMBER': '1',
f01d01
+                      'ID_PART_ENTRY_OFFSET': '2048',
f01d01
+                      'ID_PART_ENTRY_SCHEME': 'dos',
f01d01
+                      'ID_PART_ENTRY_SIZE': '202624',
f01d01
+                      'ID_PART_ENTRY_TYPE': '0x83',
f01d01
+                      'ID_PART_ENTRY_UUID': '653f84c8-01',
f01d01
+                      'MAJOR': '259',
f01d01
+                      'MD_DEVICES': '2',
f01d01
+                      'MD_DEVICE_ev_sdh1_DEV': '/dev/sdh1',
f01d01
+                      'MD_DEVICE_ev_sdh1_ROLE': '0',
f01d01
+                      'MD_DEVICE_ev_sdh2_DEV': '/dev/sdh2',
f01d01
+                      'MD_DEVICE_ev_sdh2_ROLE': '1',
f01d01
+                      'MD_DEVNAME': '123',
f01d01
+                      'MD_LEVEL': 'raid1',
f01d01
+                      'MD_METADATA': '0.90',
f01d01
+                      'MD_UUID': '335b35e0:f1af8e86:bfe78010:bc810f04',
f01d01
+                      'MINOR': '5',
f01d01
+                      'PARTN': '1',
f01d01
+                      'SUBSYSTEM': 'block',
f01d01
+                      'SYSTEMD_WANTS': 'mdmonitor.service',
f01d01
+                      'TAGS': ':systemd:',
f01d01
+                      'USEC_INITIALIZED': '8952876',
f01d01
+                      'SYS_NAME': 'md123p1',
f01d01
+                      'SYS_PATH': '/sys/devices/virtual/block/md123/md123p1'}
f01d01
diff --git a/tests/udev_test.py b/tests/udev_test.py
f01d01
index 653eeb6d..d30a647b 100644
f01d01
--- a/tests/udev_test.py
f01d01
+++ b/tests/udev_test.py
f01d01
@@ -2,6 +2,8 @@
f01d01
 import unittest
f01d01
 import mock
f01d01
 
f01d01
+from udev_data import raid_data
f01d01
+
f01d01
 
f01d01
 class UdevTest(unittest.TestCase):
f01d01
 
f01d01
@@ -77,3 +79,47 @@ class UdevTest(unittest.TestCase):
f01d01
         # Normal MD RAID (w/ at least one non-disk member)
f01d01
         device_get_slaves.side_effect = lambda info: mixed_parents if info['SYS_PATH'] == mock.sentinel.md_path else list()
f01d01
         self.assertFalse(blivet.udev.device_is_disk(info))
f01d01
+
f01d01
+
f01d01
+class UdevGetNameRaidTest(unittest.TestCase):
f01d01
+
f01d01
+    def _test_raid_name(self, udev_data):
f01d01
+        import blivet.udev
f01d01
+
f01d01
+        # members don't have the device_get_sysfs_path(info) + "/md" folder
f01d01
+        with mock.patch("blivet.udev.device_is_md", return_value=False):
f01d01
+            member_name = blivet.udev.device_get_name(udev_data.member_boot)
f01d01
+            self.assertEqual(member_name, udev_data.member_name)
f01d01
+
f01d01
+            member_name = blivet.udev.device_get_name(udev_data.member_assemble)
f01d01
+            self.assertEqual(member_name, udev_data.member_name)
f01d01
+
f01d01
+        with mock.patch("blivet.udev.device_is_md", return_value=True):
f01d01
+            raid_name = blivet.udev.device_get_name(udev_data.raid_device)
f01d01
+            self.assertEqual(raid_name, udev_data.raid_name)
f01d01
+
f01d01
+        # partitions also don't have the device_get_sysfs_path(info) + "/md" folder
f01d01
+        with mock.patch("blivet.udev.device_is_md", return_value=False):
f01d01
+            part_name = blivet.udev.device_get_name(udev_data.raid_partition)
f01d01
+            expected_name = udev_data.raid_name + "p1" if udev_data.raid_name[-1].isdigit() else udev_data.raid_name + "1"
f01d01
+            self.assertEqual(part_name, expected_name)
f01d01
+
f01d01
+    def test_raid_name_on_disk_no_name(self):
f01d01
+        data = raid_data.RaidOnDisk1()
f01d01
+        self._test_raid_name(data)
f01d01
+
f01d01
+    def test_raid_name_on_disk__with_name(self):
f01d01
+        data = raid_data.RaidOnDisk2()
f01d01
+        self._test_raid_name(data)
f01d01
+
f01d01
+    def test_raid_name_on_disk_old_metadata(self):
f01d01
+        data = raid_data.RaidOnDisk3()
f01d01
+        self._test_raid_name(data)
f01d01
+
f01d01
+    def test_raid_name_on_part_no_name(self):
f01d01
+        data = raid_data.RaidOnPartition1()
f01d01
+        self._test_raid_name(data)
f01d01
+
f01d01
+    def test_raid_name_on_part_old_metadata(self):
f01d01
+        data = raid_data.RaidOnPartition2()
f01d01
+        self._test_raid_name(data)
f01d01
-- 
f01d01
2.25.4
f01d01