From 6d5c72b54b9bf5d3a9d3cb73464a70395b0919ea Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Sat, 20 Aug 2022 10:58:13 -0700 Subject: [PATCH] add raid5 and container tests --- .../generic/mdadm-examine-container1.json | 1 + .../generic/mdadm-examine-container1.out | 27 +++ .../mdadm-examine-container2-dev1.json | 1 + .../generic/mdadm-examine-container2-dev1.out | 39 ++++ .../mdadm-examine-container2-dev2.json | 1 + .../generic/mdadm-examine-container2-dev2.out | 39 ++++ .../generic/mdadm-examine-raid5-homehost.json | 1 + .../generic/mdadm-examine-raid5-homehost.out | 28 +++ .../generic/mdadm-examine-raid5-meta09.json | 1 + .../generic/mdadm-examine-raid5-meta09.out | 30 ++++ .../generic/mdadm-examine-raid5-ok.json | 1 + .../generic/mdadm-examine-raid5-ok.out | 28 +++ .../mdadm-query-container1-member.json | 1 + .../generic/mdadm-query-container1-member.out | 23 +++ .../generic/mdadm-query-container1-root.json | 1 + .../generic/mdadm-query-container1-root.out | 18 ++ .../mdadm-query-container2-member.json | 1 + .../generic/mdadm-query-container2-member.out | 23 +++ .../generic/mdadm-query-container2-root.json | 1 + .../generic/mdadm-query-container2-root.out | 18 ++ .../generic/mdadm-query-raid5-homehost.json | 1 + .../generic/mdadm-query-raid5-homehost.out | 30 ++++ .../generic/mdadm-query-raid5-meta09.json | 1 + .../generic/mdadm-query-raid5-meta09.out | 30 ++++ .../generic/mdadm-query-raid5-ok.json | 1 + .../fixtures/generic/mdadm-query-raid5-ok.out | 30 ++++ tests/test_mdadm.py | 169 ++++++++++++++++++ 27 files changed, 545 insertions(+) create mode 100644 tests/fixtures/generic/mdadm-examine-container1.json create mode 100644 tests/fixtures/generic/mdadm-examine-container1.out create mode 100644 tests/fixtures/generic/mdadm-examine-container2-dev1.json create mode 100644 tests/fixtures/generic/mdadm-examine-container2-dev1.out create mode 100644 tests/fixtures/generic/mdadm-examine-container2-dev2.json create mode 100644 tests/fixtures/generic/mdadm-examine-container2-dev2.out create mode 100644 tests/fixtures/generic/mdadm-examine-raid5-homehost.json create mode 100644 tests/fixtures/generic/mdadm-examine-raid5-homehost.out create mode 100644 tests/fixtures/generic/mdadm-examine-raid5-meta09.json create mode 100644 tests/fixtures/generic/mdadm-examine-raid5-meta09.out create mode 100644 tests/fixtures/generic/mdadm-examine-raid5-ok.json create mode 100644 tests/fixtures/generic/mdadm-examine-raid5-ok.out create mode 100644 tests/fixtures/generic/mdadm-query-container1-member.json create mode 100644 tests/fixtures/generic/mdadm-query-container1-member.out create mode 100644 tests/fixtures/generic/mdadm-query-container1-root.json create mode 100644 tests/fixtures/generic/mdadm-query-container1-root.out create mode 100644 tests/fixtures/generic/mdadm-query-container2-member.json create mode 100644 tests/fixtures/generic/mdadm-query-container2-member.out create mode 100644 tests/fixtures/generic/mdadm-query-container2-root.json create mode 100644 tests/fixtures/generic/mdadm-query-container2-root.out create mode 100644 tests/fixtures/generic/mdadm-query-raid5-homehost.json create mode 100644 tests/fixtures/generic/mdadm-query-raid5-homehost.out create mode 100644 tests/fixtures/generic/mdadm-query-raid5-meta09.json create mode 100644 tests/fixtures/generic/mdadm-query-raid5-meta09.out create mode 100644 tests/fixtures/generic/mdadm-query-raid5-ok.json create mode 100644 tests/fixtures/generic/mdadm-query-raid5-ok.out diff --git a/tests/fixtures/generic/mdadm-examine-container1.json b/tests/fixtures/generic/mdadm-examine-container1.json new file mode 100644 index 00000000..6f8b5212 --- /dev/null +++ b/tests/fixtures/generic/mdadm-examine-container1.json @@ -0,0 +1 @@ +{"device":"/dev/vda","magic":"de11de11","version":"01.02.00","controller_guid":"4C696E75:782D4D44:20202020:20202073:79737265:73637565","container_guid":"4C696E75:782D4D44:DEADBEEF:00000000:502D01BA:FB6D4FCB","seq":"00000008","redundant_hdr":"yes","virtual_disks":1,"vd_guid_0":"4C696E75:782D4D44:DEADBEEF:00000000:502D01DF:DBFB2605","unit_0":"127","state_0":"Optimal, Consistent","init_state_0":"Fully Initialised","access_0":"Read/Write","name_0":"vol0","raid_devices_0":"2 (1@0K 0@0K)","raid_level_0":"RAID1","device_size_0":"786432","array_size_0":"786432","physical_disks":1023,"device_table":[{"Number":0,"RefNo":"d32b14d7","Size":"786432K","Device":"/dev/vda","Type/State":"active/Online"},{"Number":1,"RefNo":"886a9f58","Size":"913408K","Device":null,"Type/State":"active/Online"}]} diff --git a/tests/fixtures/generic/mdadm-examine-container1.out b/tests/fixtures/generic/mdadm-examine-container1.out new file mode 100644 index 00000000..d2b8e4bd --- /dev/null +++ b/tests/fixtures/generic/mdadm-examine-container1.out @@ -0,0 +1,27 @@ +/dev/vda: + Magic : de11de11 + Version : 01.02.00 +Controller GUID : 4C696E75:782D4D44:20202020:20202073:79737265:73637565 + (Linux-MD sysrescue) + Container GUID : 4C696E75:782D4D44:DEADBEEF:00000000:502D01BA:FB6D4FCB + (Linux-MD 08/16/22 16:20:42) + Seq : 00000008 + Redundant hdr : yes + Virtual Disks : 1 + + VD GUID[0] : 4C696E75:782D4D44:DEADBEEF:00000000:502D01DF:DBFB2605 + (Linux-MD 08/16/22 16:21:19) + unit[0] : 127 + state[0] : Optimal, Consistent + init state[0] : Fully Initialised + access[0] : Read/Write + Name[0] : vol0 + Raid Devices[0] : 2 (1@0K 0@0K) + Raid Level[0] : RAID1 + Device Size[0] : 786432 + Array Size[0] : 786432 + + Physical Disks : 1023 + Number RefNo Size Device Type/State + 0 d32b14d7 786432K /dev/vda active/Online + 1 886a9f58 913408K active/Online diff --git a/tests/fixtures/generic/mdadm-examine-container2-dev1.json b/tests/fixtures/generic/mdadm-examine-container2-dev1.json new file mode 100644 index 00000000..7738e947 --- /dev/null +++ b/tests/fixtures/generic/mdadm-examine-container2-dev1.json @@ -0,0 +1 @@ +{"device":"/dev/vda","magic":"de11de11","version":"01.02.00","controller_guid":"4C696E75:782D4D44:20202020:20202073:79737265:73637565","container_guid":"4C696E75:782D4D44:DEADBEEF:00000000:502D04BE:255CF1BB","seq":"0000000e","redundant_hdr":"yes","virtual_disks":2,"vd_guid_0":"4C696E75:782D4D44:DEADBEEF:00000000:502D04C9:67A05911","unit_0":"127","state_0":"Optimal, Consistent","init_state_0":"Fully Initialised","access_0":"Read/Write","name_0":"vol0","raid_devices_0":"2 (1@0K 0@0K)","raid_level_0":"RAID1","device_size_0":"1024","array_size_0":"1024","vd_guid_1":"4C696E75:782D4D44:DEADBEEF:00000000:502D04D0:BA95BF7D","unit_1":"126","state_1":"Optimal, Consistent","init_state_1":"Fully Initialised","access_1":"Read/Write","name_1":"vol1","raid_devices_1":"2 (1@1024K 0@1024K)","raid_level_1":"RAID1","device_size_1":"1024","array_size_1":"1024","physical_disks":1023,"device_table":[{"Number":0,"RefNo":"33552859","Size":"786432K","Device":"/dev/vda","Type/State":"active/Online"},{"Number":1,"RefNo":"1a6ba673","Size":"913408K","Device":null,"Type/State":"active/Online"}]} diff --git a/tests/fixtures/generic/mdadm-examine-container2-dev1.out b/tests/fixtures/generic/mdadm-examine-container2-dev1.out new file mode 100644 index 00000000..5061b8c9 --- /dev/null +++ b/tests/fixtures/generic/mdadm-examine-container2-dev1.out @@ -0,0 +1,39 @@ +/dev/vda: + Magic : de11de11 + Version : 01.02.00 +Controller GUID : 4C696E75:782D4D44:20202020:20202073:79737265:73637565 + (Linux-MD sysrescue) + Container GUID : 4C696E75:782D4D44:DEADBEEF:00000000:502D04BE:255CF1BB + (Linux-MD 08/16/22 16:33:34) + Seq : 0000000e + Redundant hdr : yes + Virtual Disks : 2 + + VD GUID[0] : 4C696E75:782D4D44:DEADBEEF:00000000:502D04C9:67A05911 + (Linux-MD 08/16/22 16:33:45) + unit[0] : 127 + state[0] : Optimal, Consistent + init state[0] : Fully Initialised + access[0] : Read/Write + Name[0] : vol0 + Raid Devices[0] : 2 (1@0K 0@0K) + Raid Level[0] : RAID1 + Device Size[0] : 1024 + Array Size[0] : 1024 + + VD GUID[1] : 4C696E75:782D4D44:DEADBEEF:00000000:502D04D0:BA95BF7D + (Linux-MD 08/16/22 16:33:52) + unit[1] : 126 + state[1] : Optimal, Consistent + init state[1] : Fully Initialised + access[1] : Read/Write + Name[1] : vol1 + Raid Devices[1] : 2 (1@1024K 0@1024K) + Raid Level[1] : RAID1 + Device Size[1] : 1024 + Array Size[1] : 1024 + + Physical Disks : 1023 + Number RefNo Size Device Type/State + 0 33552859 786432K /dev/vda active/Online + 1 1a6ba673 913408K active/Online diff --git a/tests/fixtures/generic/mdadm-examine-container2-dev2.json b/tests/fixtures/generic/mdadm-examine-container2-dev2.json new file mode 100644 index 00000000..9d1b257d --- /dev/null +++ b/tests/fixtures/generic/mdadm-examine-container2-dev2.json @@ -0,0 +1 @@ +{"device":"/dev/vdb","magic":"de11de11","version":"01.02.00","controller_guid":"4C696E75:782D4D44:20202020:20202073:79737265:73637565","container_guid":"4C696E75:782D4D44:DEADBEEF:00000000:502D04BE:255CF1BB","seq":"0000000e","redundant_hdr":"yes","virtual_disks":2,"vd_guid_0":"4C696E75:782D4D44:DEADBEEF:00000000:502D04C9:67A05911","unit_0":"127","state_0":"Optimal, Consistent","init_state_0":"Fully Initialised","access_0":"Read/Write","name_0":"vol0","raid_devices_0":"2 (1@0K 0@0K)","raid_level_0":"RAID1","device_size_0":"1024","array_size_0":"1024","vd_guid_1":"4C696E75:782D4D44:DEADBEEF:00000000:502D04D0:BA95BF7D","unit_1":"126","state_1":"Optimal, Consistent","init_state_1":"Fully Initialised","access_1":"Read/Write","name_1":"vol1","raid_devices_1":"2 (1@1024K 0@1024K)","raid_level_1":"RAID1","device_size_1":"1024","array_size_1":"1024","physical_disks":1023,"device_table":[{"Number":0,"RefNo":"33552859","Size":"786432K","Device":null,"Type/State":"active/Online"},{"Number":1,"RefNo":"1a6ba673","Size":"913408K","Device":"/dev/vdb","Type/State":"active/Online"}]} diff --git a/tests/fixtures/generic/mdadm-examine-container2-dev2.out b/tests/fixtures/generic/mdadm-examine-container2-dev2.out new file mode 100644 index 00000000..75f44086 --- /dev/null +++ b/tests/fixtures/generic/mdadm-examine-container2-dev2.out @@ -0,0 +1,39 @@ +/dev/vdb: + Magic : de11de11 + Version : 01.02.00 +Controller GUID : 4C696E75:782D4D44:20202020:20202073:79737265:73637565 + (Linux-MD sysrescue) + Container GUID : 4C696E75:782D4D44:DEADBEEF:00000000:502D04BE:255CF1BB + (Linux-MD 08/16/22 16:33:34) + Seq : 0000000e + Redundant hdr : yes + Virtual Disks : 2 + + VD GUID[0] : 4C696E75:782D4D44:DEADBEEF:00000000:502D04C9:67A05911 + (Linux-MD 08/16/22 16:33:45) + unit[0] : 127 + state[0] : Optimal, Consistent + init state[0] : Fully Initialised + access[0] : Read/Write + Name[0] : vol0 + Raid Devices[0] : 2 (1@0K 0@0K) + Raid Level[0] : RAID1 + Device Size[0] : 1024 + Array Size[0] : 1024 + + VD GUID[1] : 4C696E75:782D4D44:DEADBEEF:00000000:502D04D0:BA95BF7D + (Linux-MD 08/16/22 16:33:52) + unit[1] : 126 + state[1] : Optimal, Consistent + init state[1] : Fully Initialised + access[1] : Read/Write + Name[1] : vol1 + Raid Devices[1] : 2 (1@1024K 0@1024K) + Raid Level[1] : RAID1 + Device Size[1] : 1024 + Array Size[1] : 1024 + + Physical Disks : 1023 + Number RefNo Size Device Type/State + 0 33552859 786432K active/Online + 1 1a6ba673 913408K /dev/vdb active/Online diff --git a/tests/fixtures/generic/mdadm-examine-raid5-homehost.json b/tests/fixtures/generic/mdadm-examine-raid5-homehost.json new file mode 100644 index 00000000..26b697b5 --- /dev/null +++ b/tests/fixtures/generic/mdadm-examine-raid5-homehost.json @@ -0,0 +1 @@ +{"device":"/dev/vda1","magic":"a92b4efc","version":"1.2","feature_map":"0x0","array_uuid":"07bcc229:6af63526:b1fc14ff:af3524ef","name":"foohost:0","creation_time":"Tue Aug 16 17:02:01 2022","raid_level":"raid5","raid_devices":3,"avail_dev_size":"405504 sectors (198.00 MiB 207.62 MB)","array_size":"405504 KiB (396.00 MiB 415.24 MB)","data_offset":4096,"super_offset":8,"unused_space":"before=4016 sectors, after=0 sectors","state":"clean","device_uuid":"28848fbc:1648c806:004ddc4a:7820c3fc","update_time":"Tue Aug 16 17:02:05 2022","bad_block_log":"512 entries available at offset 16 sectors","checksum":"5b482818 - correct","events":"18","layout":"left-symmetric","chunk_size":"512K","device_role":"Active device 0","array_state":"AAA ('A' == active, '.' == missing, 'R' == replacing)","array_size_num":405504,"avail_dev_size_num":405504,"unused_space_before":4016,"unused_space_after":0,"name_val":"foohost:0","chunk_size_num":512,"events_num":18,"checksum_val":"5b482818","checksum_state":"correct","state_list":["clean"],"array_state_list":["active","active","active"],"creation_time_epoch":1660694521,"update_time_epoch":1660694525} diff --git a/tests/fixtures/generic/mdadm-examine-raid5-homehost.out b/tests/fixtures/generic/mdadm-examine-raid5-homehost.out new file mode 100644 index 00000000..e77187fe --- /dev/null +++ b/tests/fixtures/generic/mdadm-examine-raid5-homehost.out @@ -0,0 +1,28 @@ +/dev/vda1: + Magic : a92b4efc + Version : 1.2 + Feature Map : 0x0 + Array UUID : 07bcc229:6af63526:b1fc14ff:af3524ef + Name : foohost:0 + Creation Time : Tue Aug 16 17:02:01 2022 + Raid Level : raid5 + Raid Devices : 3 + + Avail Dev Size : 405504 sectors (198.00 MiB 207.62 MB) + Array Size : 405504 KiB (396.00 MiB 415.24 MB) + Data Offset : 4096 sectors + Super Offset : 8 sectors + Unused Space : before=4016 sectors, after=0 sectors + State : clean + Device UUID : 28848fbc:1648c806:004ddc4a:7820c3fc + + Update Time : Tue Aug 16 17:02:05 2022 + Bad Block Log : 512 entries available at offset 16 sectors + Checksum : 5b482818 - correct + Events : 18 + + Layout : left-symmetric + Chunk Size : 512K + + Device Role : Active device 0 + Array State : AAA ('A' == active, '.' == missing, 'R' == replacing) diff --git a/tests/fixtures/generic/mdadm-examine-raid5-meta09.json b/tests/fixtures/generic/mdadm-examine-raid5-meta09.json new file mode 100644 index 00000000..1be34c38 --- /dev/null +++ b/tests/fixtures/generic/mdadm-examine-raid5-meta09.json @@ -0,0 +1 @@ +{"device":"/dev/vda1","magic":"a92b4efc","version":"0.90.00","uuid":"4de9c6a6:ce05eada:96fc04a8:108a4af7 (local to host sysrescue)","creation_time":"Tue Aug 16 17:05:02 2022","raid_level":"raid5","used_dev_size":"204288 (199.50 MiB 209.19 MB)","array_size":"408576 (399.00 MiB 418.38 MB)","raid_devices":3,"total_devices":3,"preferred_minor":0,"update_time":"Tue Aug 16 17:05:06 2022","state":"clean","active_devices":3,"working_devices":3,"failed_devices":0,"spare_devices":0,"checksum":"32a3d70f - correct","events":"19","layout":"left-symmetric","chunk_size":"512K","device_table":[{"number":0,"major":254,"minor":1,"state":["active","sync"],"device":"/dev/vda1","raid_device":0},{"number":0,"major":254,"minor":1,"state":["active","sync"],"device":"/dev/vda1","raid_device":0},{"number":11,"major":254,"minor":2,"state":["active","sync"],"device":"/dev/vda2","raid_device":1},{"number":22,"major":254,"minor":3,"state":["active","sync"],"device":"/dev/vda3","raid_device":2}],"array_size_num":408576,"used_dev_size_num":204288,"uuid_val":"4de9c6a6:ce05eada:96fc04a8:108a4af7","homehost":"sysrescue","chunk_size_num":512,"events_num":19,"checksum_val":"32a3d70f","checksum_state":"correct","state_list":["clean"],"creation_time_epoch":1660694702,"update_time_epoch":1660694706} diff --git a/tests/fixtures/generic/mdadm-examine-raid5-meta09.out b/tests/fixtures/generic/mdadm-examine-raid5-meta09.out new file mode 100644 index 00000000..49fdd3c7 --- /dev/null +++ b/tests/fixtures/generic/mdadm-examine-raid5-meta09.out @@ -0,0 +1,30 @@ +/dev/vda1: + Magic : a92b4efc + Version : 0.90.00 + UUID : 4de9c6a6:ce05eada:96fc04a8:108a4af7 (local to host sysrescue) + Creation Time : Tue Aug 16 17:05:02 2022 + Raid Level : raid5 + Used Dev Size : 204288 (199.50 MiB 209.19 MB) + Array Size : 408576 (399.00 MiB 418.38 MB) + Raid Devices : 3 + Total Devices : 3 +Preferred Minor : 0 + + Update Time : Tue Aug 16 17:05:06 2022 + State : clean + Active Devices : 3 +Working Devices : 3 + Failed Devices : 0 + Spare Devices : 0 + Checksum : 32a3d70f - correct + Events : 19 + + Layout : left-symmetric + Chunk Size : 512K + + Number Major Minor RaidDevice State +this 0 254 1 0 active sync /dev/vda1 + + 0 0 254 1 0 active sync /dev/vda1 + 1 1 254 2 1 active sync /dev/vda2 + 2 2 254 3 2 active sync /dev/vda3 diff --git a/tests/fixtures/generic/mdadm-examine-raid5-ok.json b/tests/fixtures/generic/mdadm-examine-raid5-ok.json new file mode 100644 index 00000000..da026e97 --- /dev/null +++ b/tests/fixtures/generic/mdadm-examine-raid5-ok.json @@ -0,0 +1 @@ +{"device":"/dev/vda1","magic":"a92b4efc","version":"1.2","feature_map":"0x0","array_uuid":"4d798d62:adfb6a9f:cbe9a393:b79cd3f4","name":"sysrescue:0 (local to host sysrescue)","creation_time":"Tue Aug 16 16:59:34 2022","raid_level":"raid5","raid_devices":3,"avail_dev_size":"405504 sectors (198.00 MiB 207.62 MB)","array_size":"405504 KiB (396.00 MiB 415.24 MB)","data_offset":4096,"super_offset":8,"unused_space":"before=4016 sectors, after=0 sectors","state":"clean","device_uuid":"56dec54e:4d8b51c1:a7a07f77:de3be376","update_time":"Tue Aug 16 16:59:39 2022","bad_block_log":"512 entries available at offset 16 sectors","checksum":"e02c8e48 - correct","events":"18","layout":"left-symmetric","chunk_size":"512K","device_role":"Active device 0","array_state":"AAA ('A' == active, '.' == missing, 'R' == replacing)","array_size_num":405504,"avail_dev_size_num":405504,"unused_space_before":4016,"unused_space_after":0,"name_val":"sysrescue:0","homehost":"sysrescue","chunk_size_num":512,"events_num":18,"checksum_val":"e02c8e48","checksum_state":"correct","state_list":["clean"],"array_state_list":["active","active","active"],"creation_time_epoch":1660694374,"update_time_epoch":1660694379} diff --git a/tests/fixtures/generic/mdadm-examine-raid5-ok.out b/tests/fixtures/generic/mdadm-examine-raid5-ok.out new file mode 100644 index 00000000..28be2745 --- /dev/null +++ b/tests/fixtures/generic/mdadm-examine-raid5-ok.out @@ -0,0 +1,28 @@ +/dev/vda1: + Magic : a92b4efc + Version : 1.2 + Feature Map : 0x0 + Array UUID : 4d798d62:adfb6a9f:cbe9a393:b79cd3f4 + Name : sysrescue:0 (local to host sysrescue) + Creation Time : Tue Aug 16 16:59:34 2022 + Raid Level : raid5 + Raid Devices : 3 + + Avail Dev Size : 405504 sectors (198.00 MiB 207.62 MB) + Array Size : 405504 KiB (396.00 MiB 415.24 MB) + Data Offset : 4096 sectors + Super Offset : 8 sectors + Unused Space : before=4016 sectors, after=0 sectors + State : clean + Device UUID : 56dec54e:4d8b51c1:a7a07f77:de3be376 + + Update Time : Tue Aug 16 16:59:39 2022 + Bad Block Log : 512 entries available at offset 16 sectors + Checksum : e02c8e48 - correct + Events : 18 + + Layout : left-symmetric + Chunk Size : 512K + + Device Role : Active device 0 + Array State : AAA ('A' == active, '.' == missing, 'R' == replacing) diff --git a/tests/fixtures/generic/mdadm-query-container1-member.json b/tests/fixtures/generic/mdadm-query-container1-member.json new file mode 100644 index 00000000..94b7337a --- /dev/null +++ b/tests/fixtures/generic/mdadm-query-container1-member.json @@ -0,0 +1 @@ +{"device":"/dev/md127","container":"/dev/md0, member 0","raid_level":"raid1","array_size":"786432 (768.00 MiB 805.31 MB)","used_dev_size":"786432 (768.00 MiB 805.31 MB)","raid_devices":2,"total_devices":2,"state":"clean","active_devices":2,"working_devices":2,"failed_devices":0,"consistency_policy":"resync","container_guid":"4C696E75:782D4D44:DEADBEEF:00000000:502D01BA:FB6D4FCB","seq":"00000008","virtual_disks":1,"device_table":[{"number":0,"major":254,"minor":16,"state":["active","sync"],"device":"/dev/vdb","raid_device":0},{"number":1,"major":254,"minor":0,"state":["active","sync"],"device":"/dev/vda","raid_device":1}],"array_size_num":786432,"used_dev_size_num":786432,"container_dev":"/dev/md0","container_member":0,"state_list":["clean"]} diff --git a/tests/fixtures/generic/mdadm-query-container1-member.out b/tests/fixtures/generic/mdadm-query-container1-member.out new file mode 100644 index 00000000..8b4122d5 --- /dev/null +++ b/tests/fixtures/generic/mdadm-query-container1-member.out @@ -0,0 +1,23 @@ +/dev/md127: + Container : /dev/md0, member 0 + Raid Level : raid1 + Array Size : 786432 (768.00 MiB 805.31 MB) + Used Dev Size : 786432 (768.00 MiB 805.31 MB) + Raid Devices : 2 + Total Devices : 2 + + State : clean + Active Devices : 2 + Working Devices : 2 + Failed Devices : 0 + +Consistency Policy : resync + + Container GUID : 4C696E75:782D4D44:DEADBEEF:00000000:502D01BA:FB6D4FCB + (Linux-MD 08/16/22 16:20:42) + Seq : 00000008 + Virtual Disks : 1 + + Number Major Minor RaidDevice State + 0 254 16 0 active sync /dev/vdb + 1 254 0 1 active sync /dev/vda diff --git a/tests/fixtures/generic/mdadm-query-container1-root.json b/tests/fixtures/generic/mdadm-query-container1-root.json new file mode 100644 index 00000000..0f9884cd --- /dev/null +++ b/tests/fixtures/generic/mdadm-query-container1-root.json @@ -0,0 +1 @@ +{"device":"/dev/md0","version":"ddf","raid_level":"container","total_devices":2,"working_devices":2,"container_guid":"4C696E75:782D4D44:DEADBEEF:00000000:502D01BA:FB6D4FCB","seq":"00000008","virtual_disks":1,"member_arrays":"/dev/md/vol0","device_table":[{"number":null,"major":254,"minor":0,"device":"/dev/vda","raid_device":null},{"number":null,"major":254,"minor":16,"device":"/dev/vdb","raid_device":null}],"member_arrays_list":["/dev/md/vol0"]} diff --git a/tests/fixtures/generic/mdadm-query-container1-root.out b/tests/fixtures/generic/mdadm-query-container1-root.out new file mode 100644 index 00000000..9630c33b --- /dev/null +++ b/tests/fixtures/generic/mdadm-query-container1-root.out @@ -0,0 +1,18 @@ +/dev/md0: + Version : ddf + Raid Level : container + Total Devices : 2 + + Working Devices : 2 + + Container GUID : 4C696E75:782D4D44:DEADBEEF:00000000:502D01BA:FB6D4FCB + (Linux-MD 08/16/22 16:20:42) + Seq : 00000008 + Virtual Disks : 1 + + Member Arrays : /dev/md/vol0 + + Number Major Minor RaidDevice + + - 254 0 - /dev/vda + - 254 16 - /dev/vdb diff --git a/tests/fixtures/generic/mdadm-query-container2-member.json b/tests/fixtures/generic/mdadm-query-container2-member.json new file mode 100644 index 00000000..80a434c6 --- /dev/null +++ b/tests/fixtures/generic/mdadm-query-container2-member.json @@ -0,0 +1 @@ +{"device":"/dev/md126","container":"/dev/md0, member 1","raid_level":"raid1","array_size":"1024","used_dev_size":"1024","raid_devices":2,"total_devices":2,"state":"clean","active_devices":2,"working_devices":2,"failed_devices":0,"consistency_policy":"resync","container_guid":"4C696E75:782D4D44:DEADBEEF:00000000:502D04BE:255CF1BB","seq":"0000000e","virtual_disks":2,"device_table":[{"number":0,"major":254,"minor":16,"state":["active","sync"],"device":"/dev/vdb","raid_device":0},{"number":1,"major":254,"minor":0,"state":["active","sync"],"device":"/dev/vda","raid_device":1}],"array_size_num":1024,"used_dev_size_num":1024,"container_dev":"/dev/md0","container_member":1,"state_list":["clean"]} diff --git a/tests/fixtures/generic/mdadm-query-container2-member.out b/tests/fixtures/generic/mdadm-query-container2-member.out new file mode 100644 index 00000000..ad913c81 --- /dev/null +++ b/tests/fixtures/generic/mdadm-query-container2-member.out @@ -0,0 +1,23 @@ +/dev/md126: + Container : /dev/md0, member 1 + Raid Level : raid1 + Array Size : 1024 + Used Dev Size : 1024 + Raid Devices : 2 + Total Devices : 2 + + State : clean + Active Devices : 2 + Working Devices : 2 + Failed Devices : 0 + +Consistency Policy : resync + + Container GUID : 4C696E75:782D4D44:DEADBEEF:00000000:502D04BE:255CF1BB + (Linux-MD 08/16/22 16:33:34) + Seq : 0000000e + Virtual Disks : 2 + + Number Major Minor RaidDevice State + 0 254 16 0 active sync /dev/vdb + 1 254 0 1 active sync /dev/vda diff --git a/tests/fixtures/generic/mdadm-query-container2-root.json b/tests/fixtures/generic/mdadm-query-container2-root.json new file mode 100644 index 00000000..f3532ce7 --- /dev/null +++ b/tests/fixtures/generic/mdadm-query-container2-root.json @@ -0,0 +1 @@ +{"device":"/dev/md0","version":"ddf","raid_level":"container","total_devices":2,"working_devices":2,"container_guid":"4C696E75:782D4D44:DEADBEEF:00000000:502D04BE:255CF1BB","seq":"0000000e","virtual_disks":2,"member_arrays":"/dev/md/vol0 /dev/md/vol1","device_table":[{"number":null,"major":254,"minor":0,"device":"/dev/vda","raid_device":null},{"number":null,"major":254,"minor":16,"device":"/dev/vdb","raid_device":null}],"member_arrays_list":["/dev/md/vol0","/dev/md/vol1"]} diff --git a/tests/fixtures/generic/mdadm-query-container2-root.out b/tests/fixtures/generic/mdadm-query-container2-root.out new file mode 100644 index 00000000..cb8faef5 --- /dev/null +++ b/tests/fixtures/generic/mdadm-query-container2-root.out @@ -0,0 +1,18 @@ +/dev/md0: + Version : ddf + Raid Level : container + Total Devices : 2 + + Working Devices : 2 + + Container GUID : 4C696E75:782D4D44:DEADBEEF:00000000:502D04BE:255CF1BB + (Linux-MD 08/16/22 16:33:34) + Seq : 0000000e + Virtual Disks : 2 + + Member Arrays : /dev/md/vol0 /dev/md/vol1 + + Number Major Minor RaidDevice + + - 254 0 - /dev/vda + - 254 16 - /dev/vdb diff --git a/tests/fixtures/generic/mdadm-query-raid5-homehost.json b/tests/fixtures/generic/mdadm-query-raid5-homehost.json new file mode 100644 index 00000000..48a82600 --- /dev/null +++ b/tests/fixtures/generic/mdadm-query-raid5-homehost.json @@ -0,0 +1 @@ +{"device":"/dev/md0","version":"1.2","creation_time":"Tue Aug 16 17:02:01 2022","raid_level":"raid5","array_size":"405504 (396.00 MiB 415.24 MB)","used_dev_size":"202752 (198.00 MiB 207.62 MB)","raid_devices":3,"total_devices":3,"persistence":"Superblock is persistent","update_time":"Tue Aug 16 17:02:05 2022","state":"clean","active_devices":3,"working_devices":3,"failed_devices":0,"spare_devices":0,"layout":"left-symmetric","chunk_size":"512K","consistency_policy":"resync","name":"foohost:0","uuid":"07bcc229:6af63526:b1fc14ff:af3524ef","events":"18","device_table":[{"number":0,"major":254,"minor":1,"state":["active","sync"],"device":"/dev/vda1","raid_device":0},{"number":1,"major":254,"minor":2,"state":["active","sync"],"device":"/dev/vda2","raid_device":1},{"number":3,"major":254,"minor":3,"state":["active","sync"],"device":"/dev/vda3","raid_device":2}],"array_size_num":405504,"used_dev_size_num":202752,"name_val":"foohost:0","uuid_val":"07bcc229:6af63526:b1fc14ff:af3524ef","chunk_size_num":512,"events_num":18,"state_list":["clean"],"creation_time_epoch":1660694521,"update_time_epoch":1660694525} diff --git a/tests/fixtures/generic/mdadm-query-raid5-homehost.out b/tests/fixtures/generic/mdadm-query-raid5-homehost.out new file mode 100644 index 00000000..93eb61f7 --- /dev/null +++ b/tests/fixtures/generic/mdadm-query-raid5-homehost.out @@ -0,0 +1,30 @@ +/dev/md0: + Version : 1.2 + Creation Time : Tue Aug 16 17:02:01 2022 + Raid Level : raid5 + Array Size : 405504 (396.00 MiB 415.24 MB) + Used Dev Size : 202752 (198.00 MiB 207.62 MB) + Raid Devices : 3 + Total Devices : 3 + Persistence : Superblock is persistent + + Update Time : Tue Aug 16 17:02:05 2022 + State : clean + Active Devices : 3 + Working Devices : 3 + Failed Devices : 0 + Spare Devices : 0 + + Layout : left-symmetric + Chunk Size : 512K + +Consistency Policy : resync + + Name : foohost:0 + UUID : 07bcc229:6af63526:b1fc14ff:af3524ef + Events : 18 + + Number Major Minor RaidDevice State + 0 254 1 0 active sync /dev/vda1 + 1 254 2 1 active sync /dev/vda2 + 3 254 3 2 active sync /dev/vda3 diff --git a/tests/fixtures/generic/mdadm-query-raid5-meta09.json b/tests/fixtures/generic/mdadm-query-raid5-meta09.json new file mode 100644 index 00000000..32845b68 --- /dev/null +++ b/tests/fixtures/generic/mdadm-query-raid5-meta09.json @@ -0,0 +1 @@ +{"device":"/dev/md0","version":"0.90","creation_time":"Tue Aug 16 17:05:02 2022","raid_level":"raid5","array_size":"408576 (399.00 MiB 418.38 MB)","used_dev_size":"204288 (199.50 MiB 209.19 MB)","raid_devices":3,"total_devices":3,"preferred_minor":0,"persistence":"Superblock is persistent","update_time":"Tue Aug 16 17:05:06 2022","state":"clean","active_devices":3,"working_devices":3,"failed_devices":0,"spare_devices":0,"layout":"left-symmetric","chunk_size":"512K","consistency_policy":"resync","uuid":"4de9c6a6:ce05eada:96fc04a8:108a4af7 (local to host sysrescue)","events":"0.19","device_table":[{"number":0,"major":254,"minor":1,"state":["active","sync"],"device":"/dev/vda1","raid_device":0},{"number":1,"major":254,"minor":2,"state":["active","sync"],"device":"/dev/vda2","raid_device":1},{"number":2,"major":254,"minor":3,"state":["active","sync"],"device":"/dev/vda3","raid_device":2}],"array_size_num":408576,"used_dev_size_num":204288,"uuid_val":"4de9c6a6:ce05eada:96fc04a8:108a4af7","homehost":"sysrescue","chunk_size_num":512,"events_maj":0,"events_min":19,"state_list":["clean"],"creation_time_epoch":1660694702,"update_time_epoch":1660694706} diff --git a/tests/fixtures/generic/mdadm-query-raid5-meta09.out b/tests/fixtures/generic/mdadm-query-raid5-meta09.out new file mode 100644 index 00000000..968de484 --- /dev/null +++ b/tests/fixtures/generic/mdadm-query-raid5-meta09.out @@ -0,0 +1,30 @@ +/dev/md0: + Version : 0.90 + Creation Time : Tue Aug 16 17:05:02 2022 + Raid Level : raid5 + Array Size : 408576 (399.00 MiB 418.38 MB) + Used Dev Size : 204288 (199.50 MiB 209.19 MB) + Raid Devices : 3 + Total Devices : 3 + Preferred Minor : 0 + Persistence : Superblock is persistent + + Update Time : Tue Aug 16 17:05:06 2022 + State : clean + Active Devices : 3 + Working Devices : 3 + Failed Devices : 0 + Spare Devices : 0 + + Layout : left-symmetric + Chunk Size : 512K + +Consistency Policy : resync + + UUID : 4de9c6a6:ce05eada:96fc04a8:108a4af7 (local to host sysrescue) + Events : 0.19 + + Number Major Minor RaidDevice State + 0 254 1 0 active sync /dev/vda1 + 1 254 2 1 active sync /dev/vda2 + 2 254 3 2 active sync /dev/vda3 diff --git a/tests/fixtures/generic/mdadm-query-raid5-ok.json b/tests/fixtures/generic/mdadm-query-raid5-ok.json new file mode 100644 index 00000000..ece18246 --- /dev/null +++ b/tests/fixtures/generic/mdadm-query-raid5-ok.json @@ -0,0 +1 @@ +{"device":"/dev/md0","version":"1.2","creation_time":"Tue Aug 16 16:59:34 2022","raid_level":"raid5","array_size":"405504 (396.00 MiB 415.24 MB)","used_dev_size":"202752 (198.00 MiB 207.62 MB)","raid_devices":3,"total_devices":3,"persistence":"Superblock is persistent","update_time":"Tue Aug 16 16:59:39 2022","state":"clean","active_devices":3,"working_devices":3,"failed_devices":0,"spare_devices":0,"layout":"left-symmetric","chunk_size":"512K","consistency_policy":"resync","name":"sysrescue:0 (local to host sysrescue)","uuid":"4d798d62:adfb6a9f:cbe9a393:b79cd3f4","events":"18","device_table":[{"number":0,"major":254,"minor":1,"state":["active","sync"],"device":"/dev/vda1","raid_device":0},{"number":1,"major":254,"minor":2,"state":["active","sync"],"device":"/dev/vda2","raid_device":1},{"number":3,"major":254,"minor":3,"state":["active","sync"],"device":"/dev/vda3","raid_device":2}],"array_size_num":405504,"used_dev_size_num":202752,"name_val":"sysrescue:0","homehost":"sysrescue","uuid_val":"4d798d62:adfb6a9f:cbe9a393:b79cd3f4","chunk_size_num":512,"events_num":18,"state_list":["clean"],"creation_time_epoch":1660694374,"update_time_epoch":1660694379} diff --git a/tests/fixtures/generic/mdadm-query-raid5-ok.out b/tests/fixtures/generic/mdadm-query-raid5-ok.out new file mode 100644 index 00000000..524a3195 --- /dev/null +++ b/tests/fixtures/generic/mdadm-query-raid5-ok.out @@ -0,0 +1,30 @@ +/dev/md0: + Version : 1.2 + Creation Time : Tue Aug 16 16:59:34 2022 + Raid Level : raid5 + Array Size : 405504 (396.00 MiB 415.24 MB) + Used Dev Size : 202752 (198.00 MiB 207.62 MB) + Raid Devices : 3 + Total Devices : 3 + Persistence : Superblock is persistent + + Update Time : Tue Aug 16 16:59:39 2022 + State : clean + Active Devices : 3 + Working Devices : 3 + Failed Devices : 0 + Spare Devices : 0 + + Layout : left-symmetric + Chunk Size : 512K + +Consistency Policy : resync + + Name : sysrescue:0 (local to host sysrescue) + UUID : 4d798d62:adfb6a9f:cbe9a393:b79cd3f4 + Events : 18 + + Number Major Minor RaidDevice State + 0 254 1 0 active sync /dev/vda1 + 1 254 2 1 active sync /dev/vda2 + 3 254 3 2 active sync /dev/vda3 diff --git a/tests/test_mdadm.py b/tests/test_mdadm.py index dd7e6841..d095fc89 100644 --- a/tests/test_mdadm.py +++ b/tests/test_mdadm.py @@ -91,6 +91,45 @@ class MyTests(unittest.TestCase): with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-raid1-syncing.out'), 'r', encoding='utf-8') as f: self.mdadm_query_raid1_syncing = f.read() + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-container1.out'), 'r', encoding='utf-8') as f: + self.mdadm_examine_container1 = f.read() + + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-container2-dev1.out'), 'r', encoding='utf-8') as f: + self.mdadm_examine_container2_dev1 = f.read() + + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-container2-dev2.out'), 'r', encoding='utf-8') as f: + self.mdadm_examine_container2_dev2 = f.read() + + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-raid5-homehost.out'), 'r', encoding='utf-8') as f: + self.mdadm_examine_raid5_homehost = f.read() + + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-raid5-meta09.out'), 'r', encoding='utf-8') as f: + self.mdadm_examine_raid5_meta09 = f.read() + + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-raid5-ok.out'), 'r', encoding='utf-8') as f: + self.mdadm_examine_raid5_ok = f.read() + + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-container1-member.out'), 'r', encoding='utf-8') as f: + self.mdadm_query_container1_member = f.read() + + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-container1-root.out'), 'r', encoding='utf-8') as f: + self.mdadm_query_container1_root = f.read() + + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-container2-member.out'), 'r', encoding='utf-8') as f: + self.mdadm_query_container2_member = f.read() + + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-container2-root.out'), 'r', encoding='utf-8') as f: + self.mdadm_query_container2_root = f.read() + + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-raid5-homehost.out'), 'r', encoding='utf-8') as f: + self.mdadm_query_raid5_homehost = f.read() + + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-raid5-meta09.out'), 'r', encoding='utf-8') as f: + self.mdadm_query_raid5_meta09 = f.read() + + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-raid5-ok.out'), 'r', encoding='utf-8') as f: + self.mdadm_query_raid5_ok = f.read() + # output with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-raid0-offline.json'), 'r', encoding='utf-8') as f: self.mdadm_examine_raid0_offline_json = json.loads(f.read()) @@ -173,6 +212,45 @@ class MyTests(unittest.TestCase): with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-raid1-syncing.json'), 'r', encoding='utf-8') as f: self.mdadm_query_raid1_syncing_json = json.loads(f.read()) + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-container1.json'), 'r', encoding='utf-8') as f: + self.mdadm_examine_container1_json = json.loads(f.read()) + + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-container2-dev1.json'), 'r', encoding='utf-8') as f: + self.mdadm_examine_container2_dev1_json = json.loads(f.read()) + + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-container2-dev2.json'), 'r', encoding='utf-8') as f: + self.mdadm_examine_container2_dev2_json = json.loads(f.read()) + + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-raid5-homehost.json'), 'r', encoding='utf-8') as f: + self.mdadm_examine_raid5_homehost_json = json.loads(f.read()) + + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-raid5-meta09.json'), 'r', encoding='utf-8') as f: + self.mdadm_examine_raid5_meta09_json = json.loads(f.read()) + + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-raid5-ok.json'), 'r', encoding='utf-8') as f: + self.mdadm_examine_raid5_ok_json = json.loads(f.read()) + + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-container1-member.json'), 'r', encoding='utf-8') as f: + self.mdadm_query_container1_member_json = json.loads(f.read()) + + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-container1-root.json'), 'r', encoding='utf-8') as f: + self.mdadm_query_container1_root_json = json.loads(f.read()) + + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-container2-member.json'), 'r', encoding='utf-8') as f: + self.mdadm_query_container2_member_json = json.loads(f.read()) + + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-container2-root.json'), 'r', encoding='utf-8') as f: + self.mdadm_query_container2_root_json = json.loads(f.read()) + + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-raid5-homehost.json'), 'r', encoding='utf-8') as f: + self.mdadm_query_raid5_homehost_json = json.loads(f.read()) + + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-raid5-meta09.json'), 'r', encoding='utf-8') as f: + self.mdadm_query_raid5_meta09_json = json.loads(f.read()) + + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-raid5-ok.json'), 'r', encoding='utf-8') as f: + self.mdadm_query_raid5_ok_json = json.loads(f.read()) + def test_mdadm_nodata(self): """ @@ -370,5 +448,96 @@ class MyTests(unittest.TestCase): self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_query_raid1_syncing, quiet=True), self.mdadm_query_raid1_syncing_json) + def test_mdadm_examine_container1(self): + """ + Test 'mdadm --examine' on container 1 + """ + self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_examine_container1, quiet=True), self.mdadm_examine_container1_json) + + + def test_mdadm_examine_container2_dev1(self): + """ + Test 'mdadm --examine' on container 1 dev 1 + """ + self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_examine_container2_dev1, quiet=True), self.mdadm_examine_container2_dev1_json) + + + def test_mdadm_examine_container2_dev2(self): + """ + Test 'mdadm --examine' on container 1 dev 2 + """ + self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_examine_container2_dev2, quiet=True), self.mdadm_examine_container2_dev2_json) + + + def test_mdadm_examine_raid5_homehost(self): + """ + Test 'mdadm --examine' on RAID5 homehost + """ + self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_examine_raid5_homehost, quiet=True), self.mdadm_examine_raid5_homehost_json) + + + def test_mdadm_examine_raid5_meta09(self): + """ + Test 'mdadm --examine' on RAID5 on v0.9 + """ + self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_examine_raid5_meta09, quiet=True), self.mdadm_examine_raid5_meta09_json) + + + def test_mdadm_examine_raid5_ok(self): + """ + Test 'mdadm --examine' on ok RAID5 + """ + self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_examine_raid5_ok, quiet=True), self.mdadm_examine_raid5_ok_json) + + + def test_mdadm_query_container1_member(self): + """ + Test 'mdadm --query' container1 member + """ + self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_query_container1_member, quiet=True), self.mdadm_query_container1_member_json) + + + def test_mdadm_query_container1_root(self): + """ + Test 'mdadm --query' container1 root + """ + self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_query_container1_root, quiet=True), self.mdadm_query_container1_root_json) + + + def test_mdadm_query_container2_member(self): + """ + Test 'mdadm --query' container2 member + """ + self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_query_container2_member, quiet=True), self.mdadm_query_container2_member_json) + + + def test_mdadm_query_container2_root(self): + """ + Test 'mdadm --query' container2 root + """ + self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_query_container2_root, quiet=True), self.mdadm_query_container2_root_json) + + + def test_mdadm_query_raid5_homehost(self): + """ + Test 'mdadm --query' RAID5 with homehost + """ + self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_query_raid5_homehost, quiet=True), self.mdadm_query_raid5_homehost_json) + + + def test_mdadm_query_raid5_meta09(self): + """ + Test 'mdadm --query' RAID5 on v0.9 + """ + self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_query_raid5_meta09, quiet=True), self.mdadm_query_raid5_meta09_json) + + + def test_mdadm_query_raid5_ok(self): + """ + Test 'mdadm --query' on ok RAID5 + """ + self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_query_raid5_ok, quiet=True), self.mdadm_query_raid5_ok_json) + + if __name__ == '__main__': unittest.main()