mirror of
https://github.com/kellyjonbrazil/jc.git
synced 2025-08-06 22:32:54 +02:00
add mdadm tests
This commit is contained in:
1
tests/fixtures/generic/mdadm-examine-raid0-offline.json
vendored
Normal file
1
tests/fixtures/generic/mdadm-examine-raid0-offline.json
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"device":"/dev/vda1","magic":"a92b4efc","version":"1.2","feature_map":"0x0","array_uuid":"7e81a856:abb9c1c2:4b71237a:9778cc66","name":"sysrescue:0 (local to host sysrescue)","creation_time":"Sun Aug 7 20:56:52 2022","raid_level":"raid0","raid_devices":2,"avail_dev_size":"200704 sectors (98.00 MiB 102.76 MB)","data_offset":4096,"super_offset":8,"unused_space":"before=4016 sectors, after=0 sectors","state":"clean","device_uuid":"a49d96f1:8e86ca03:5ff499ec:8cdd42bb","update_time":"Sun Aug 7 20:56:52 2022","bad_block_log":"512 entries available at offset 8 sectors","checksum":"eeb6cbe3 - correct","events":0,"chunk_size":512,"device_role":"Active device 0","array_state":"AA ('A' == active, '.' == missing, 'R' == replacing)","avail_dev_size_num":200704,"unused_space_before":4016,"unused_space_after":0,"name_val":"sysrescue:0","checksum_val":"eeb6cbe3","checksum_state":"correct","state_list":["clean"],"array_state_list":["active","active"],"creation_time_epoch":1659931012,"update_time_epoch":1659931012}
|
1
tests/fixtures/generic/mdadm-examine-raid0-ok.json
vendored
Normal file
1
tests/fixtures/generic/mdadm-examine-raid0-ok.json
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"device":"/dev/vda1","magic":"a92b4efc","version":"1.2","feature_map":"0x0","array_uuid":"7e81a856:abb9c1c2:4b71237a:9778cc66","name":"sysrescue:0 (local to host sysrescue)","creation_time":"Sun Aug 7 20:56:52 2022","raid_level":"raid0","raid_devices":2,"avail_dev_size":"200704 sectors (98.00 MiB 102.76 MB)","data_offset":4096,"super_offset":8,"unused_space":"before=4016 sectors, after=0 sectors","state":"clean","device_uuid":"a49d96f1:8e86ca03:5ff499ec:8cdd42bb","update_time":"Sun Aug 7 20:56:52 2022","bad_block_log":"512 entries available at offset 8 sectors","checksum":"eeb6cbe3 - correct","events":0,"chunk_size":512,"device_role":"Active device 0","array_state":"AA ('A' == active, '.' == missing, 'R' == replacing)","avail_dev_size_num":200704,"unused_space_before":4016,"unused_space_after":0,"name_val":"sysrescue:0","checksum_val":"eeb6cbe3","checksum_state":"correct","state_list":["clean"],"array_state_list":["active","active"],"creation_time_epoch":1659931012,"update_time_epoch":1659931012}
|
1
tests/fixtures/generic/mdadm-examine-raid1-0-90-ok.json
vendored
Normal file
1
tests/fixtures/generic/mdadm-examine-raid1-0-90-ok.json
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"device":"/dev/vda1","magic":"a92b4efc","version":"0.90.00","uuid":"3f720601:29af5283:96fc04a8:108a4af7 (local to host sysrescue)","creation_time":"Sun Aug 7 21:52:56 2022","raid_level":"raid1","used_dev_size":"102336 (99.94 MiB 104.79 MB)","array_size":"102336 (99.94 MiB 104.79 MB)","raid_devices":2,"total_devices":2,"preferred_minor":0,"update_time":"Sun Aug 7 21:54:35 2022","state":"clean","active_devices":2,"working_devices":2,"failed_devices":0,"spare_devices":0,"checksum":"7fb4bb0e - correct","events":18,"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}],"array_size_num":102336,"used_dev_size_num":102336,"uuid_val":"3f720601:29af5283:96fc04a8:108a4af7","checksum_val":"7fb4bb0e","checksum_state":"correct","state_list":["clean"],"creation_time_epoch":1659934376,"update_time_epoch":1659934475}
|
1
tests/fixtures/generic/mdadm-examine-raid1-checking.json
vendored
Normal file
1
tests/fixtures/generic/mdadm-examine-raid1-checking.json
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"device":"/dev/md126","version":"1.2","creation_time":"Sun Aug 7 21:15:49 2022","raid_level":"raid1","array_size":"101376 (99.00 MiB 103.81 MB)","used_dev_size":"101376 (99.00 MiB 103.81 MB)","raid_devices":2,"total_devices":2,"persistence":"Superblock is persistent","update_time":"Sun Aug 7 21:23:59 2022","state":"clean, checking","active_devices":2,"working_devices":2,"failed_devices":0,"spare_devices":0,"consistency_policy":"resync","check_status":"21% complete","name":"sysrescue:126 (local to host sysrescue)","uuid":"e054553a:fbccdcfe:0ae80bc8:9379377a","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}],"array_size_num":101376,"used_dev_size_num":101376,"name_val":"sysrescue:126","uuid_val":"e054553a:fbccdcfe:0ae80bc8:9379377a","state_list":["clean","checking"],"check_status_percent":21,"creation_time_epoch":1659932149,"update_time_epoch":1659932639}
|
1
tests/fixtures/generic/mdadm-examine-raid1-failfast.json
vendored
Normal file
1
tests/fixtures/generic/mdadm-examine-raid1-failfast.json
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"device":"/dev/vda2","magic":"a92b4efc","version":"1.2","feature_map":"0x0","array_uuid":"e054553a:fbccdcfe:0ae80bc8:9379377a","name":"sysrescue:126 (local to host sysrescue)","creation_time":"Sun Aug 7 21:15:49 2022","raid_level":"raid1","raid_devices":2,"avail_dev_size":"202752 sectors (99.00 MiB 103.81 MB)","array_size":"101376 KiB (99.00 MiB 103.81 MB)","data_offset":2048,"super_offset":8,"unused_space":"before=1968 sectors, after=0 sectors","state":"clean","device_uuid":"140a340b:69d5759c:b87ce67c:6579ce22","flags":"failfast","update_time":"Sun Aug 7 21:37:34 2022","bad_block_log":"512 entries available at offset 16 sectors","checksum":"4bf42c40 - correct","events":51,"device_role":"Active device 1","array_state":"AA ('A' == active, '.' == missing, 'R' == replacing)","array_size_num":101376,"avail_dev_size_num":202752,"unused_space_before":1968,"unused_space_after":0,"name_val":"sysrescue:126","checksum_val":"4bf42c40","checksum_state":"correct","state_list":["clean"],"flag_list":["failfast"],"array_state_list":["active","active"],"creation_time_epoch":1659932149,"update_time_epoch":1659933454}
|
1
tests/fixtures/generic/mdadm-examine-raid1-faulty1.json
vendored
Normal file
1
tests/fixtures/generic/mdadm-examine-raid1-faulty1.json
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"device":"/dev/vda1","magic":"a92b4efc","version":"1.2","feature_map":"0x0","array_uuid":"e054553a:fbccdcfe:0ae80bc8:9379377a","name":"sysrescue:126 (local to host sysrescue)","creation_time":"Sun Aug 7 21:15:49 2022","raid_level":"raid1","raid_devices":2,"avail_dev_size":"202752 sectors (99.00 MiB 103.81 MB)","array_size":"101376 KiB (99.00 MiB 103.81 MB)","data_offset":2048,"super_offset":8,"unused_space":"before=1968 sectors, after=0 sectors","state":"clean","device_uuid":"1ec6a01d:e96d7f47:59970cf2:f0c056d2","update_time":"Sun Aug 7 21:28:34 2022","bad_block_log":"512 entries available at offset 16 sectors","checksum":"2e18e0bb - correct","events":25,"device_role":"Active device 0","array_state":"A. ('A' == active, '.' == missing, 'R' == replacing)","array_size_num":101376,"avail_dev_size_num":202752,"unused_space_before":1968,"unused_space_after":0,"name_val":"sysrescue:126","checksum_val":"2e18e0bb","checksum_state":"correct","state_list":["clean"],"array_state_list":["active","missing"],"creation_time_epoch":1659932149,"update_time_epoch":1659932914}
|
1
tests/fixtures/generic/mdadm-examine-raid1-faulty2.json
vendored
Normal file
1
tests/fixtures/generic/mdadm-examine-raid1-faulty2.json
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"device":"/dev/vda2","magic":"a92b4efc","version":"1.2","feature_map":"0x0","array_uuid":"e054553a:fbccdcfe:0ae80bc8:9379377a","name":"sysrescue:126 (local to host sysrescue)","creation_time":"Sun Aug 7 21:15:49 2022","raid_level":"raid1","raid_devices":2,"avail_dev_size":"202752 sectors (99.00 MiB 103.81 MB)","array_size":"101376 KiB (99.00 MiB 103.81 MB)","data_offset":2048,"super_offset":8,"unused_space":"before=1968 sectors, after=0 sectors","state":"clean","device_uuid":"66e4da05:9cc62990:0620d976:579c0948","update_time":"Sun Aug 7 21:27:02 2022","bad_block_log":"512 entries available at offset 16 sectors","checksum":"597fbb6b - correct","events":23,"device_role":"Active device 1","array_state":"AA ('A' == active, '.' == missing, 'R' == replacing)","array_size_num":101376,"avail_dev_size_num":202752,"unused_space_before":1968,"unused_space_after":0,"name_val":"sysrescue:126","checksum_val":"597fbb6b","checksum_state":"correct","state_list":["clean"],"array_state_list":["active","active"],"creation_time_epoch":1659932149,"update_time_epoch":1659932822}
|
1
tests/fixtures/generic/mdadm-examine-raid1-moreflags.json
vendored
Normal file
1
tests/fixtures/generic/mdadm-examine-raid1-moreflags.json
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"device":"/dev/vda2","magic":"a92b4efc","version":"1.2","feature_map":"0x0","array_uuid":"e054553a:fbccdcfe:0ae80bc8:9379377a","name":"sysrescue:126 (local to host sysrescue)","creation_time":"Sun Aug 7 21:15:49 2022","raid_level":"raid1","raid_devices":2,"avail_dev_size":"202752 sectors (99.00 MiB 103.81 MB)","array_size":"101376 KiB (99.00 MiB 103.81 MB)","data_offset":2048,"super_offset":8,"unused_space":"before=1968 sectors, after=0 sectors","state":"clean","device_uuid":"cc336e3b:67a49dea:480135ed:9e1280cd","flags":"write-mostly failfast","update_time":"Sun Aug 7 21:48:58 2022","bad_block_log":"512 entries available at offset 16 sectors","checksum":"e5554588 - correct","events":78,"device_role":"Active device 1","array_state":"AA ('A' == active, '.' == missing, 'R' == replacing)","array_size_num":101376,"avail_dev_size_num":202752,"unused_space_before":1968,"unused_space_after":0,"name_val":"sysrescue:126","checksum_val":"e5554588","checksum_state":"correct","state_list":["clean"],"flag_list":["write-mostly","failfast"],"array_state_list":["active","active"],"creation_time_epoch":1659932149,"update_time_epoch":1659934138}
|
1
tests/fixtures/generic/mdadm-examine-raid1-ok.json
vendored
Normal file
1
tests/fixtures/generic/mdadm-examine-raid1-ok.json
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"device":"/dev/vda1","magic":"a92b4efc","version":"1.2","feature_map":"0x0","array_uuid":"e054553a:fbccdcfe:0ae80bc8:9379377a","name":"sysrescue:126 (local to host sysrescue)","creation_time":"Sun Aug 7 21:15:49 2022","raid_level":"raid1","raid_devices":2,"avail_dev_size":"202752 sectors (99.00 MiB 103.81 MB)","array_size":"101376 KiB (99.00 MiB 103.81 MB)","data_offset":2048,"super_offset":8,"unused_space":"before=1968 sectors, after=0 sectors","state":"clean","device_uuid":"1ec6a01d:e96d7f47:59970cf2:f0c056d2","update_time":"Sun Aug 7 21:20:08 2022","bad_block_log":"512 entries available at offset 16 sectors","checksum":"2e1bdeb8 - correct","events":17,"device_role":"Active device 0","array_state":"AA ('A' == active, '.' == missing, 'R' == replacing)","array_size_num":101376,"avail_dev_size_num":202752,"unused_space_before":1968,"unused_space_after":0,"name_val":"sysrescue:126","checksum_val":"2e1bdeb8","checksum_state":"correct","state_list":["clean"],"array_state_list":["active","active"],"creation_time_epoch":1659932149,"update_time_epoch":1659932408}
|
1
tests/fixtures/generic/mdadm-examine-raid1-replacing.json
vendored
Normal file
1
tests/fixtures/generic/mdadm-examine-raid1-replacing.json
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"device":"/dev/vda2","magic":"a92b4efc","version":"1.2","feature_map":"0x12","array_uuid":"e054553a:fbccdcfe:0ae80bc8:9379377a","name":"sysrescue:126 (local to host sysrescue)","creation_time":"Sun Aug 7 21:15:49 2022","raid_level":"raid1","raid_devices":2,"avail_dev_size":"202752 sectors (99.00 MiB 103.81 MB)","array_size":"101376 KiB (99.00 MiB 103.81 MB)","data_offset":2048,"super_offset":8,"recovery_offset":"115200 sectors","unused_space":"before=1968 sectors, after=0 sectors","state":"clean","device_uuid":"cc336e3b:67a49dea:480135ed:9e1280cd","flags":"write-mostly failfast","update_time":"Sun Aug 7 21:48:15 2022","bad_block_log":"512 entries available at offset 16 sectors","checksum":"e55a076b - correct","events":75,"device_role":"Replacement device 1","array_state":"AR ('A' == active, '.' == missing, 'R' == replacing)","array_size_num":101376,"avail_dev_size_num":202752,"unused_space_before":1968,"unused_space_after":0,"name_val":"sysrescue:126","checksum_val":"e55a076b","checksum_state":"correct","state_list":["clean"],"flag_list":["write-mostly","failfast"],"array_state_list":["active","replacing"],"creation_time_epoch":1659932149,"update_time_epoch":1659934095}
|
1
tests/fixtures/generic/mdadm-examine-raid1-resync.json
vendored
Normal file
1
tests/fixtures/generic/mdadm-examine-raid1-resync.json
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"device":"/dev/md126","version":"1.2","creation_time":"Sun Aug 7 21:15:49 2022","raid_level":"raid1","array_size":"101376 (99.00 MiB 103.81 MB)","used_dev_size":"101376 (99.00 MiB 103.81 MB)","raid_devices":2,"total_devices":2,"persistence":"Superblock is persistent","update_time":"Sun Aug 7 21:25:52 2022","state":"clean, resyncing","active_devices":2,"working_devices":2,"failed_devices":0,"spare_devices":0,"consistency_policy":"resync","resync_status":"27% complete","name":"sysrescue:126 (local to host sysrescue)","uuid":"e054553a:fbccdcfe:0ae80bc8:9379377a","events":20,"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}],"array_size_num":101376,"used_dev_size_num":101376,"name_val":"sysrescue:126","uuid_val":"e054553a:fbccdcfe:0ae80bc8:9379377a","state_list":["clean","resyncing"],"resync_status_percent":27,"creation_time_epoch":1659932149,"update_time_epoch":1659932752}
|
1
tests/fixtures/generic/mdadm-examine-raid1-spare.json
vendored
Normal file
1
tests/fixtures/generic/mdadm-examine-raid1-spare.json
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"device":"/dev/vda4","magic":"a92b4efc","version":"1.2","feature_map":"0x0","array_uuid":"e054553a:fbccdcfe:0ae80bc8:9379377a","name":"sysrescue:126 (local to host sysrescue)","creation_time":"Sun Aug 7 21:15:49 2022","raid_level":"raid1","raid_devices":2,"avail_dev_size":"202752 sectors (99.00 MiB 103.81 MB)","array_size":"101376 KiB (99.00 MiB 103.81 MB)","data_offset":2048,"super_offset":8,"unused_space":"before=1968 sectors, after=0 sectors","state":"clean","device_uuid":"46b6f457:a3cf3db3:41217976:74a7243c","update_time":"Sun Aug 7 21:39:58 2022","bad_block_log":"512 entries available at offset 16 sectors","checksum":"c265a5d4 - correct","events":52,"device_role":"spare","array_state":"AA ('A' == active, '.' == missing, 'R' == replacing)","array_size_num":101376,"avail_dev_size_num":202752,"unused_space_before":1968,"unused_space_after":0,"name_val":"sysrescue:126","checksum_val":"c265a5d4","checksum_state":"correct","state_list":["clean"],"array_state_list":["active","active"],"creation_time_epoch":1659932149,"update_time_epoch":1659933598}
|
1
tests/fixtures/generic/mdadm-examine-raid1-syncing.json
vendored
Normal file
1
tests/fixtures/generic/mdadm-examine-raid1-syncing.json
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"device":"/dev/vda1","magic":"a92b4efc","version":"1.2","feature_map":"0x0","array_uuid":"e054553a:fbccdcfe:0ae80bc8:9379377a","name":"sysrescue:126 (local to host sysrescue)","creation_time":"Sun Aug 7 21:15:49 2022","raid_level":"raid1","raid_devices":2,"avail_dev_size":"202752 sectors (99.00 MiB 103.81 MB)","array_size":"101376 KiB (99.00 MiB 103.81 MB)","data_offset":2048,"super_offset":8,"unused_space":"before=1968 sectors, after=0 sectors","state":"active","device_uuid":"1ec6a01d:e96d7f47:59970cf2:f0c056d2","update_time":"Sun Aug 7 21:15:49 2022","bad_block_log":"512 entries available at offset 16 sectors","checksum":"2e1bdda4 - correct","events":0,"device_role":"Active device 0","array_state":"AA ('A' == active, '.' == missing, 'R' == replacing)","array_size_num":101376,"avail_dev_size_num":202752,"unused_space_before":1968,"unused_space_after":0,"name_val":"sysrescue:126","checksum_val":"2e1bdda4","checksum_state":"correct","state_list":["active"],"array_state_list":["active","active"],"creation_time_epoch":1659932149,"update_time_epoch":1659932149}
|
1
tests/fixtures/generic/mdadm-examine.json
vendored
Normal file
1
tests/fixtures/generic/mdadm-examine.json
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"device":"/dev/sdb1","magic":"a92b4efc","version":"1.1","feature_map":"0x1","array_uuid":"85c5b164:d58a5ada:14f5fe07:d642e843","name":"virttest:0","creation_time":"Tue Apr 13 23:22:16 2010","raid_level":"raid1","raid_devices":2,"avail_dev_size":"11721041656 sectors (5.46 TiB 6.00 TB)","array_size":"5860520828 KiB (5.46 TiB 6.00 TB)","data_offset":264,"super_offset":0,"unused_space":"before=80 sectors, after=0 sectors","state":"clean","device_uuid":"813162e5:2e865efe:02ba5570:7003165c","internal_bitmap":"8 sectors from superblock","update_time":"Tue Jul 26 20:16:31 2022","bad_block_log":"512 entries available at offset 72 sectors","checksum":"f141a577 - correct","events":2193679,"device_role":"Active device 0","array_state":"AA ('A' == active, '.' == missing, 'R' == replacing)","array_size_num":5860520828,"avail_dev_size_num":11721041656,"unused_space_before":80,"unused_space_after":0,"name_val":"virttest:0","checksum_val":"f141a577","checksum_state":"correct","state_list":["clean"],"array_state_list":["active","active"],"creation_time_epoch":1271226136,"update_time_epoch":1658891791}
|
1
tests/fixtures/generic/mdadm-query-detail.json
vendored
Normal file
1
tests/fixtures/generic/mdadm-query-detail.json
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"device":"/dev/md0","version":"1.1","creation_time":"Tue Apr 13 23:22:16 2010","raid_level":"raid1","array_size":"5860520828 (5.46 TiB 6.00 TB)","used_dev_size":"5860520828 (5.46 TiB 6.00 TB)","raid_devices":2,"total_devices":2,"persistence":"Superblock is persistent","intent_bitmap":"Internal","update_time":"Tue Jul 26 20:16:31 2022","state":"clean","active_devices":2,"working_devices":2,"failed_devices":0,"spare_devices":0,"consistency_policy":"bitmap","name":"virttest:0","uuid":"85c5b164:d58a5ada:14f5fe07:d642e843","events":2193679,"device_table":[{"number":3,"major":8,"minor":17,"state":["active","sync"],"device":"/dev/sdb1","raid_device":0},{"number":2,"major":8,"minor":33,"state":["active","sync"],"device":"/dev/sdc1","raid_device":1}],"array_size_num":5860520828,"used_dev_size_num":5860520828,"name_val":"virttest:0","uuid_val":"85c5b164:d58a5ada:14f5fe07:d642e843","state_list":["clean"],"creation_time_epoch":1271226136,"update_time_epoch":1658891791}
|
1
tests/fixtures/generic/mdadm-query-raid0-ok.json
vendored
Normal file
1
tests/fixtures/generic/mdadm-query-raid0-ok.json
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"device":"/dev/md0","version":"1.2","creation_time":"Sun Aug 7 20:56:52 2022","raid_level":"raid0","array_size":"200704 (196.00 MiB 205.52 MB)","raid_devices":2,"total_devices":2,"persistence":"Superblock is persistent","update_time":"Sun Aug 7 20:56:52 2022","state":"clean","active_devices":2,"working_devices":2,"failed_devices":0,"spare_devices":0,"layout":"-unknown-","chunk_size":512,"consistency_policy":"none","name":"sysrescue:0 (local to host sysrescue)","uuid":"7e81a856:abb9c1c2:4b71237a:9778cc66","events":0,"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}],"array_size_num":200704,"name_val":"sysrescue:0","uuid_val":"7e81a856:abb9c1c2:4b71237a:9778cc66","state_list":["clean"],"creation_time_epoch":1659931012,"update_time_epoch":1659931012}
|
1
tests/fixtures/generic/mdadm-query-raid1-failed-and-flags.json
vendored
Normal file
1
tests/fixtures/generic/mdadm-query-raid1-failed-and-flags.json
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"device":"/dev/md127","version":"1.2","creation_time":"Sun Aug 7 21:15:49 2022","raid_level":"raid1","array_size":"101376 (99.00 MiB 103.81 MB)","used_dev_size":"101376 (99.00 MiB 103.81 MB)","raid_devices":2,"total_devices":3,"persistence":"Superblock is persistent","update_time":"Sun Aug 7 21:48:58 2022","state":"clean","active_devices":2,"working_devices":2,"failed_devices":1,"spare_devices":0,"consistency_policy":"resync","name":"sysrescue:126 (local to host sysrescue)","uuid":"e054553a:fbccdcfe:0ae80bc8:9379377a","events":78,"device_table":[{"number":0,"major":254,"minor":1,"state":["active","sync"],"device":"/dev/vda1","raid_device":0},{"number":2,"major":254,"minor":2,"state":["active","sync","writemostly","failfast"],"device":"/dev/vda2","raid_device":1},{"number":3,"major":254,"minor":4,"state":["faulty"],"device":"/dev/vda4","raid_device":null}],"array_size_num":101376,"used_dev_size_num":101376,"name_val":"sysrescue:126","uuid_val":"e054553a:fbccdcfe:0ae80bc8:9379377a","state_list":["clean"],"creation_time_epoch":1659932149,"update_time_epoch":1659934138}
|
1
tests/fixtures/generic/mdadm-query-raid1-faulty-and-removed.json
vendored
Normal file
1
tests/fixtures/generic/mdadm-query-raid1-faulty-and-removed.json
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"device":"/dev/md127","version":"1.2","creation_time":"Sun Aug 7 21:15:49 2022","raid_level":"raid1","array_size":"101376 (99.00 MiB 103.81 MB)","used_dev_size":"101376 (99.00 MiB 103.81 MB)","raid_devices":2,"total_devices":1,"persistence":"Superblock is persistent","update_time":"Sun Aug 7 21:32:27 2022","state":"clean, degraded","active_devices":1,"working_devices":1,"failed_devices":0,"spare_devices":0,"consistency_policy":"resync","name":"sysrescue:126 (local to host sysrescue)","uuid":"e054553a:fbccdcfe:0ae80bc8:9379377a","events":31,"device_table":[{"number":0,"major":254,"minor":1,"state":["active","sync"],"device":"/dev/vda1","raid_device":0},{"number":null,"major":0,"minor":0,"state":["removed"],"device":null,"raid_device":1}],"array_size_num":101376,"used_dev_size_num":101376,"name_val":"sysrescue:126","uuid_val":"e054553a:fbccdcfe:0ae80bc8:9379377a","state_list":["clean","degraded"],"creation_time_epoch":1659932149,"update_time_epoch":1659933147}
|
1
tests/fixtures/generic/mdadm-query-raid1-faulty-with-spare.json
vendored
Normal file
1
tests/fixtures/generic/mdadm-query-raid1-faulty-with-spare.json
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"device":"/dev/md127","version":"1.2","creation_time":"Sun Aug 7 21:15:49 2022","raid_level":"raid1","array_size":"101376 (99.00 MiB 103.81 MB)","used_dev_size":"101376 (99.00 MiB 103.81 MB)","raid_devices":2,"total_devices":3,"persistence":"Superblock is persistent","update_time":"Sun Aug 7 21:43:18 2022","state":"clean, degraded, recovering","active_devices":1,"working_devices":2,"failed_devices":1,"spare_devices":1,"consistency_policy":"resync","rebuild_status":"24% complete","name":"sysrescue:126 (local to host sysrescue)","uuid":"e054553a:fbccdcfe:0ae80bc8:9379377a","events":57,"device_table":[{"number":0,"major":254,"minor":1,"state":["active","sync"],"device":"/dev/vda1","raid_device":0},{"number":3,"major":254,"minor":4,"state":["spare","rebuilding"],"device":"/dev/vda4","raid_device":1},{"number":2,"major":254,"minor":2,"state":["faulty","failfast"],"device":"/dev/vda2","raid_device":null}],"array_size_num":101376,"used_dev_size_num":101376,"name_val":"sysrescue:126","uuid_val":"e054553a:fbccdcfe:0ae80bc8:9379377a","state_list":["clean","degraded","recovering"],"rebuild_status_percent":24,"creation_time_epoch":1659932149,"update_time_epoch":1659933798}
|
1
tests/fixtures/generic/mdadm-query-raid1-faulty.json
vendored
Normal file
1
tests/fixtures/generic/mdadm-query-raid1-faulty.json
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"device":"/dev/md126","version":"1.2","creation_time":"Sun Aug 7 21:15:49 2022","raid_level":"raid1","array_size":"101376 (99.00 MiB 103.81 MB)","used_dev_size":"101376 (99.00 MiB 103.81 MB)","raid_devices":2,"total_devices":2,"persistence":"Superblock is persistent","update_time":"Sun Aug 7 21:28:34 2022","state":"clean, degraded","active_devices":1,"working_devices":1,"failed_devices":1,"spare_devices":0,"consistency_policy":"resync","name":"sysrescue:126 (local to host sysrescue)","uuid":"e054553a:fbccdcfe:0ae80bc8:9379377a","events":25,"device_table":[{"number":0,"major":254,"minor":1,"state":["active","sync"],"device":"/dev/vda1","raid_device":0},{"number":null,"major":0,"minor":0,"state":["removed"],"device":null,"raid_device":1},{"number":1,"major":254,"minor":2,"state":["faulty"],"device":"/dev/vda2","raid_device":null}],"array_size_num":101376,"used_dev_size_num":101376,"name_val":"sysrescue:126","uuid_val":"e054553a:fbccdcfe:0ae80bc8:9379377a","state_list":["clean","degraded"],"creation_time_epoch":1659932149,"update_time_epoch":1659932914}
|
1
tests/fixtures/generic/mdadm-query-raid1-ok-0-9.json
vendored
Normal file
1
tests/fixtures/generic/mdadm-query-raid1-ok-0-9.json
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"device":"/dev/md0","version":"0.90","creation_time":"Sun Aug 7 21:52:56 2022","raid_level":"raid1","array_size":"102336 (99.94 MiB 104.79 MB)","used_dev_size":"102336 (99.94 MiB 104.79 MB)","raid_devices":2,"total_devices":2,"preferred_minor":0,"persistence":"Superblock is persistent","update_time":"Sun Aug 7 21:54:35 2022","state":"clean","active_devices":2,"working_devices":2,"failed_devices":0,"spare_devices":0,"consistency_policy":"resync","uuid":"3f720601:29af5283:96fc04a8:108a4af7 (local to host sysrescue)","events":0,"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}],"array_size_num":102336,"used_dev_size_num":102336,"uuid_val":"3f720601:29af5283:96fc04a8:108a4af7","state_list":["clean"],"creation_time_epoch":1659934376,"update_time_epoch":1659934475}
|
1
tests/fixtures/generic/mdadm-query-raid1-ok-failfast.json
vendored
Normal file
1
tests/fixtures/generic/mdadm-query-raid1-ok-failfast.json
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"device":"/dev/md127","version":"1.2","creation_time":"Sun Aug 7 21:15:49 2022","raid_level":"raid1","array_size":"101376 (99.00 MiB 103.81 MB)","used_dev_size":"101376 (99.00 MiB 103.81 MB)","raid_devices":2,"total_devices":2,"persistence":"Superblock is persistent","update_time":"Sun Aug 7 21:37:34 2022","state":"clean","active_devices":2,"working_devices":2,"failed_devices":0,"spare_devices":0,"consistency_policy":"resync","name":"sysrescue:126 (local to host sysrescue)","uuid":"e054553a:fbccdcfe:0ae80bc8:9379377a","events":51,"device_table":[{"number":0,"major":254,"minor":1,"state":["active","sync"],"device":"/dev/vda1","raid_device":0},{"number":2,"major":254,"minor":2,"state":["active","sync","failfast"],"device":"/dev/vda2","raid_device":1}],"array_size_num":101376,"used_dev_size_num":101376,"name_val":"sysrescue:126","uuid_val":"e054553a:fbccdcfe:0ae80bc8:9379377a","state_list":["clean"],"creation_time_epoch":1659932149,"update_time_epoch":1659933454}
|
1
tests/fixtures/generic/mdadm-query-raid1-ok-spare.json
vendored
Normal file
1
tests/fixtures/generic/mdadm-query-raid1-ok-spare.json
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"device":"/dev/md127","version":"1.2","creation_time":"Sun Aug 7 21:15:49 2022","raid_level":"raid1","array_size":"101376 (99.00 MiB 103.81 MB)","used_dev_size":"101376 (99.00 MiB 103.81 MB)","raid_devices":2,"total_devices":3,"persistence":"Superblock is persistent","update_time":"Sun Aug 7 21:39:58 2022","state":"clean","active_devices":2,"working_devices":3,"failed_devices":0,"spare_devices":1,"consistency_policy":"resync","name":"sysrescue:126 (local to host sysrescue)","uuid":"e054553a:fbccdcfe:0ae80bc8:9379377a","events":52,"device_table":[{"number":0,"major":254,"minor":1,"state":["active","sync"],"device":"/dev/vda1","raid_device":0},{"number":2,"major":254,"minor":2,"state":["active","sync","failfast"],"device":"/dev/vda2","raid_device":1},{"number":3,"major":254,"minor":4,"state":["spare"],"device":"/dev/vda4","raid_device":null}],"array_size_num":101376,"used_dev_size_num":101376,"name_val":"sysrescue:126","uuid_val":"e054553a:fbccdcfe:0ae80bc8:9379377a","state_list":["clean"],"creation_time_epoch":1659932149,"update_time_epoch":1659933598}
|
1
tests/fixtures/generic/mdadm-query-raid1-ok.json
vendored
Normal file
1
tests/fixtures/generic/mdadm-query-raid1-ok.json
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"device":"/dev/md126","version":"1.2","creation_time":"Sun Aug 7 21:15:49 2022","raid_level":"raid1","array_size":"101376 (99.00 MiB 103.81 MB)","used_dev_size":"101376 (99.00 MiB 103.81 MB)","raid_devices":2,"total_devices":2,"persistence":"Superblock is persistent","update_time":"Sun Aug 7 21:20:08 2022","state":"clean","active_devices":2,"working_devices":2,"failed_devices":0,"spare_devices":0,"consistency_policy":"resync","name":"sysrescue:126 (local to host sysrescue)","uuid":"e054553a:fbccdcfe:0ae80bc8:9379377a","events":17,"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}],"array_size_num":101376,"used_dev_size_num":101376,"name_val":"sysrescue:126","uuid_val":"e054553a:fbccdcfe:0ae80bc8:9379377a","state_list":["clean"],"creation_time_epoch":1659932149,"update_time_epoch":1659932408}
|
1
tests/fixtures/generic/mdadm-query-raid1-rebuild-failfast.json
vendored
Normal file
1
tests/fixtures/generic/mdadm-query-raid1-rebuild-failfast.json
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"device":"/dev/md127","version":"1.2","creation_time":"Sun Aug 7 21:15:49 2022","raid_level":"raid1","array_size":"101376 (99.00 MiB 103.81 MB)","used_dev_size":"101376 (99.00 MiB 103.81 MB)","raid_devices":2,"total_devices":2,"persistence":"Superblock is persistent","update_time":"Sun Aug 7 21:36:17 2022","state":"clean, degraded, recovering","active_devices":1,"working_devices":2,"failed_devices":0,"spare_devices":1,"consistency_policy":"resync","rebuild_status":"20% complete","name":"sysrescue:126 (local to host sysrescue)","uuid":"e054553a:fbccdcfe:0ae80bc8:9379377a","events":37,"device_table":[{"number":0,"major":254,"minor":1,"state":["active","sync"],"device":"/dev/vda1","raid_device":0},{"number":2,"major":254,"minor":2,"state":["failfast","spare","rebuilding"],"device":"/dev/vda2","raid_device":1}],"array_size_num":101376,"used_dev_size_num":101376,"name_val":"sysrescue:126","uuid_val":"e054553a:fbccdcfe:0ae80bc8:9379377a","state_list":["clean","degraded","recovering"],"rebuild_status_percent":20,"creation_time_epoch":1659932149,"update_time_epoch":1659933377}
|
1
tests/fixtures/generic/mdadm-query-raid1-spare-writem-rebuild.json
vendored
Normal file
1
tests/fixtures/generic/mdadm-query-raid1-spare-writem-rebuild.json
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"device":"/dev/md127","version":"1.2","creation_time":"Sun Aug 7 21:15:49 2022","raid_level":"raid1","array_size":"101376 (99.00 MiB 103.81 MB)","used_dev_size":"101376 (99.00 MiB 103.81 MB)","raid_devices":2,"total_devices":3,"persistence":"Superblock is persistent","update_time":"Sun Aug 7 21:47:42 2022","state":"clean, recovering","active_devices":2,"working_devices":3,"failed_devices":0,"spare_devices":1,"consistency_policy":"resync","rebuild_status":"30% complete","name":"sysrescue:126 (local to host sysrescue)","uuid":"e054553a:fbccdcfe:0ae80bc8:9379377a","events":74,"device_table":[{"number":0,"major":254,"minor":1,"state":["active","sync"],"device":"/dev/vda1","raid_device":0},{"number":2,"major":254,"minor":2,"state":["writemostly","failfast","spare","rebuilding"],"device":"/dev/vda2","raid_device":1},{"number":3,"major":254,"minor":4,"state":["active","sync"],"device":"/dev/vda4","raid_device":1}],"array_size_num":101376,"used_dev_size_num":101376,"name_val":"sysrescue:126","uuid_val":"e054553a:fbccdcfe:0ae80bc8:9379377a","state_list":["clean","recovering"],"rebuild_status_percent":30,"creation_time_epoch":1659932149,"update_time_epoch":1659934062}
|
1
tests/fixtures/generic/mdadm-query-raid1-syncing.json
vendored
Normal file
1
tests/fixtures/generic/mdadm-query-raid1-syncing.json
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"device":"/dev/md126","version":"1.2","creation_time":"Sun Aug 7 21:15:49 2022","raid_level":"raid1","array_size":"101376 (99.00 MiB 103.81 MB)","used_dev_size":"101376 (99.00 MiB 103.81 MB)","raid_devices":2,"total_devices":2,"persistence":"Superblock is persistent","update_time":"Sun Aug 7 21:15:49 2022","state":"clean, resyncing","active_devices":2,"working_devices":2,"failed_devices":0,"spare_devices":0,"consistency_policy":"resync","resync_status":"4% complete","name":"sysrescue:126 (local to host sysrescue)","uuid":"e054553a:fbccdcfe:0ae80bc8:9379377a","events":0,"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}],"array_size_num":101376,"used_dev_size_num":101376,"name_val":"sysrescue:126","uuid_val":"e054553a:fbccdcfe:0ae80bc8:9379377a","state_list":["clean","resyncing"],"resync_status_percent":4,"creation_time_epoch":1659932149,"update_time_epoch":1659932149}
|
374
tests/test_mdadm.py
Normal file
374
tests/test_mdadm.py
Normal file
@ -0,0 +1,374 @@
|
|||||||
|
import os
|
||||||
|
import unittest
|
||||||
|
import json
|
||||||
|
import jc.parsers.mdadm
|
||||||
|
|
||||||
|
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
|
||||||
|
|
||||||
|
|
||||||
|
class MyTests(unittest.TestCase):
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
# input
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-raid0-offline.out'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_examine_raid0_offline = f.read()
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-raid0-ok.out'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_examine_raid0_ok = f.read()
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-raid1-0-90-ok.out'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_examine_raid1_0_90_ok = f.read()
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-raid1-checking.out'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_examine_raid1_checking = f.read()
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-raid1-failfast.out'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_examine_raid1_failfast = f.read()
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-raid1-faulty1.out'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_examine_raid1_faulty1 = f.read()
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-raid1-faulty2.out'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_examine_raid1_faulty2 = f.read()
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-raid1-moreflags.out'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_examine_raid1_moreflags = f.read()
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-raid1-ok.out'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_examine_raid1_ok = f.read()
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-raid1-replacing.out'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_examine_raid1_replacing = f.read()
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-raid1-resync.out'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_examine_raid1_resync = f.read()
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-raid1-spare.out'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_examine_raid1_spare = f.read()
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-raid1-syncing.out'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_examine_raid1_syncing = f.read()
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine.out'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_examine = f.read()
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-detail.out'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_query_detail = f.read()
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-raid0-ok.out'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_query_raid0_ok = f.read()
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-raid1-failed-and-flags.out'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_query_raid1_failed_and_flags = f.read()
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-raid1-faulty-and-removed.out'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_query_raid1_faulty_and_removed = f.read()
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-raid1-faulty-with-spare.out'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_query_raid1_faulty_with_spare = f.read()
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-raid1-faulty.out'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_query_raid1_faulty = f.read()
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-raid1-ok-0-9.out'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_query_raid1_ok_0_9 = f.read()
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-raid1-ok-failfast.out'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_query_raid1_ok_failfast = f.read()
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-raid1-ok-spare.out'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_query_raid1_ok_spare = f.read()
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-raid1-ok.out'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_query_raid1_ok = f.read()
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-raid1-rebuild-failfast.out'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_query_raid1_rebuild_failfast = f.read()
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-raid1-spare-writem-rebuild.out'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_query_raid1_spare_writem_rebuild = f.read()
|
||||||
|
|
||||||
|
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()
|
||||||
|
|
||||||
|
# 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())
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-raid0-ok.json'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_examine_raid0_ok_json = json.loads(f.read())
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-raid1-0-90-ok.json'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_examine_raid1_0_90_ok_json = json.loads(f.read())
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-raid1-checking.json'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_examine_raid1_checking_json = json.loads(f.read())
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-raid1-failfast.json'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_examine_raid1_failfast_json = json.loads(f.read())
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-raid1-faulty1.json'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_examine_raid1_faulty1_json = json.loads(f.read())
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-raid1-faulty2.json'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_examine_raid1_faulty2_json = json.loads(f.read())
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-raid1-moreflags.json'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_examine_raid1_moreflags_json = json.loads(f.read())
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-raid1-ok.json'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_examine_raid1_ok_json = json.loads(f.read())
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-raid1-replacing.json'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_examine_raid1_replacing_json = json.loads(f.read())
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-raid1-resync.json'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_examine_raid1_resync_json = json.loads(f.read())
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-raid1-spare.json'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_examine_raid1_spare_json = json.loads(f.read())
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine-raid1-syncing.json'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_examine_raid1_syncing_json = json.loads(f.read())
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-examine.json'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_examine_json = json.loads(f.read())
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-detail.json'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_query_detial_json = json.loads(f.read())
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-raid0-ok.json'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_query_raid0_ok_json = json.loads(f.read())
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-raid1-failed-and-flags.json'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_query_raid1_failed_and_flags_json = json.loads(f.read())
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-raid1-faulty-and-removed.json'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_query_raid1_faulty_and_removed_json = json.loads(f.read())
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-raid1-faulty-with-spare.json'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_query_raid1_faulty_with_spare_json = json.loads(f.read())
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-raid1-faulty.json'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_query_raid1_faulty_json = json.loads(f.read())
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-raid1-ok-0-9.json'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_query_raid1_ok_0_9_json = json.loads(f.read())
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-raid1-ok-failfast.json'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_query_raid1_ok_failfast_json = json.loads(f.read())
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-raid1-ok-spare.json'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_query_raid1_ok_spare_json = json.loads(f.read())
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-raid1-ok.json'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_query_raid1_ok_json = json.loads(f.read())
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-raid1-rebuild-failfast.json'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_query_raid1_rebuild_failfast_json = json.loads(f.read())
|
||||||
|
|
||||||
|
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/mdadm-query-raid1-spare-writem-rebuild.json'), 'r', encoding='utf-8') as f:
|
||||||
|
self.mdadm_query_raid1_spare_writem_rebuild_json = json.loads(f.read())
|
||||||
|
|
||||||
|
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())
|
||||||
|
|
||||||
|
|
||||||
|
def test_mdadm_nodata(self):
|
||||||
|
"""
|
||||||
|
Test 'mdadm' with no data
|
||||||
|
"""
|
||||||
|
self.assertEqual(jc.parsers.mdadm.parse('', quiet=True), {})
|
||||||
|
|
||||||
|
|
||||||
|
def test_mdadm_examine_raid0_offline(self):
|
||||||
|
"""
|
||||||
|
Test 'mdadm --examine' with offline RAID array
|
||||||
|
"""
|
||||||
|
self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_examine_raid0_offline, quiet=True), self.mdadm_examine_raid0_offline_json)
|
||||||
|
|
||||||
|
|
||||||
|
def test_mdadm_examine_raid0_ok(self):
|
||||||
|
"""
|
||||||
|
Test 'mdadm --examine' with ok RAID array
|
||||||
|
"""
|
||||||
|
self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_examine_raid0_ok, quiet=True), self.mdadm_examine_raid0_ok_json)
|
||||||
|
|
||||||
|
|
||||||
|
def test_mdadm_examine_raid1_0_90_ok(self):
|
||||||
|
"""
|
||||||
|
Test 'mdadm --examine' with ok RAID array v0.90
|
||||||
|
"""
|
||||||
|
self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_examine_raid1_0_90_ok, quiet=True), self.mdadm_examine_raid1_0_90_ok_json)
|
||||||
|
|
||||||
|
|
||||||
|
def test_mdadm_examine_raid1_checking(self):
|
||||||
|
"""
|
||||||
|
Test 'mdadm --examine' with checking RAID array
|
||||||
|
"""
|
||||||
|
self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_examine_raid1_checking, quiet=True), self.mdadm_examine_raid1_checking_json)
|
||||||
|
|
||||||
|
|
||||||
|
def test_mdadm_examine_raid1_failfast(self):
|
||||||
|
"""
|
||||||
|
Test 'mdadm --examine' with failfast RAID array
|
||||||
|
"""
|
||||||
|
self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_examine_raid1_failfast, quiet=True), self.mdadm_examine_raid1_failfast_json)
|
||||||
|
|
||||||
|
|
||||||
|
def test_mdadm_examine_raid1_faulty1(self):
|
||||||
|
"""
|
||||||
|
Test 'mdadm --examine' with faulty RAID array
|
||||||
|
"""
|
||||||
|
self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_examine_raid1_faulty1, quiet=True), self.mdadm_examine_raid1_faulty1_json)
|
||||||
|
|
||||||
|
|
||||||
|
def test_mdadm_examine_raid1_faulty2(self):
|
||||||
|
"""
|
||||||
|
Test 'mdadm --examine' with faulty RAID array
|
||||||
|
"""
|
||||||
|
self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_examine_raid1_faulty2, quiet=True), self.mdadm_examine_raid1_faulty2_json)
|
||||||
|
|
||||||
|
|
||||||
|
def test_mdadm_examine_raid1_moreflags(self):
|
||||||
|
"""
|
||||||
|
Test 'mdadm --examine' with RAID array with several flags
|
||||||
|
"""
|
||||||
|
self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_examine_raid1_moreflags, quiet=True), self.mdadm_examine_raid1_moreflags_json)
|
||||||
|
|
||||||
|
|
||||||
|
def test_mdadm_examine_raid1_ok(self):
|
||||||
|
"""
|
||||||
|
Test 'mdadm --examine' with ok RAID array
|
||||||
|
"""
|
||||||
|
self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_examine_raid1_ok, quiet=True), self.mdadm_examine_raid1_ok_json)
|
||||||
|
|
||||||
|
|
||||||
|
def test_mdadm_examine_raid1_replacing(self):
|
||||||
|
"""
|
||||||
|
Test 'mdadm --examine' with replacing RAID array
|
||||||
|
"""
|
||||||
|
self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_examine_raid1_replacing, quiet=True), self.mdadm_examine_raid1_replacing_json)
|
||||||
|
|
||||||
|
|
||||||
|
def test_mdadm_examine_raid1_resync(self):
|
||||||
|
"""
|
||||||
|
Test 'mdadm --examine' with resyncing RAID array
|
||||||
|
"""
|
||||||
|
self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_examine_raid1_resync, quiet=True), self.mdadm_examine_raid1_resync_json)
|
||||||
|
|
||||||
|
|
||||||
|
def test_mdadm_examine_raid1_spare(self):
|
||||||
|
"""
|
||||||
|
Test 'mdadm --examine' with spare in RAID array
|
||||||
|
"""
|
||||||
|
self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_examine_raid1_spare, quiet=True), self.mdadm_examine_raid1_spare_json)
|
||||||
|
|
||||||
|
|
||||||
|
def test_mdadm_examine_raid1_syncing(self):
|
||||||
|
"""
|
||||||
|
Test 'mdadm --examine' with syncing RAID array
|
||||||
|
"""
|
||||||
|
self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_examine_raid1_syncing, quiet=True), self.mdadm_examine_raid1_syncing_json)
|
||||||
|
|
||||||
|
|
||||||
|
def test_mdadm_examine(self):
|
||||||
|
"""
|
||||||
|
Test 'mdadm --examine'
|
||||||
|
"""
|
||||||
|
self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_examine, quiet=True), self.mdadm_examine_json)
|
||||||
|
|
||||||
|
|
||||||
|
def test_mdadm_query_detail(self):
|
||||||
|
"""
|
||||||
|
Test 'mdadm --query --detail'
|
||||||
|
"""
|
||||||
|
self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_query_detail, quiet=True), self.mdadm_query_detial_json)
|
||||||
|
|
||||||
|
|
||||||
|
def test_mdadm_query_raid0_ok(self):
|
||||||
|
"""
|
||||||
|
Test 'mdadm --query' on ok RAID array
|
||||||
|
"""
|
||||||
|
self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_query_raid0_ok, quiet=True), self.mdadm_query_raid0_ok_json)
|
||||||
|
|
||||||
|
|
||||||
|
def test_mdadm_query_raid1_failed_and_flags(self):
|
||||||
|
"""
|
||||||
|
Test 'mdadm --query' on failed RAID array with flags
|
||||||
|
"""
|
||||||
|
self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_query_raid1_failed_and_flags, quiet=True), self.mdadm_query_raid1_failed_and_flags_json)
|
||||||
|
|
||||||
|
|
||||||
|
def test_mdadm_query_raid1_faulty_and_removed(self):
|
||||||
|
"""
|
||||||
|
Test 'mdadm --query' on faulty RAID array with removed disk
|
||||||
|
"""
|
||||||
|
self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_query_raid1_faulty_and_removed, quiet=True), self.mdadm_query_raid1_faulty_and_removed_json)
|
||||||
|
|
||||||
|
|
||||||
|
def test_mdadm_query_raid1_faulty_with_spare(self):
|
||||||
|
"""
|
||||||
|
Test 'mdadm --query' on faulty RAID array with spare disk
|
||||||
|
"""
|
||||||
|
self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_query_raid1_faulty_with_spare, quiet=True), self.mdadm_query_raid1_faulty_with_spare_json)
|
||||||
|
|
||||||
|
|
||||||
|
def test_mdadm_query_raid1_faulty(self):
|
||||||
|
"""
|
||||||
|
Test 'mdadm --query' on faulty RAID
|
||||||
|
"""
|
||||||
|
self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_query_raid1_faulty, quiet=True), self.mdadm_query_raid1_faulty_json)
|
||||||
|
|
||||||
|
|
||||||
|
def test_mdadm_query_raid1_ok_0_9(self):
|
||||||
|
"""
|
||||||
|
Test 'mdadm --query' on ok RAID on v0.9
|
||||||
|
"""
|
||||||
|
self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_query_raid1_ok_0_9, quiet=True), self.mdadm_query_raid1_ok_0_9_json)
|
||||||
|
|
||||||
|
|
||||||
|
def test_mdadm_query_raid1_ok_failfast(self):
|
||||||
|
"""
|
||||||
|
Test 'mdadm --query' on ok RAID with failfast
|
||||||
|
"""
|
||||||
|
self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_query_raid1_ok_failfast, quiet=True), self.mdadm_query_raid1_ok_failfast_json)
|
||||||
|
|
||||||
|
|
||||||
|
def test_mdadm_query_raid1_ok_spare(self):
|
||||||
|
"""
|
||||||
|
Test 'mdadm --query' on ok RAID with spare
|
||||||
|
"""
|
||||||
|
self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_query_raid1_ok_spare, quiet=True), self.mdadm_query_raid1_ok_spare_json)
|
||||||
|
|
||||||
|
|
||||||
|
def test_mdadm_query_raid1_ok(self):
|
||||||
|
"""
|
||||||
|
Test 'mdadm --query' on ok RAID
|
||||||
|
"""
|
||||||
|
self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_query_raid1_ok, quiet=True), self.mdadm_query_raid1_ok_json)
|
||||||
|
|
||||||
|
|
||||||
|
def test_mdadm_query_raid1_rebuild_failfast(self):
|
||||||
|
"""
|
||||||
|
Test 'mdadm --query' on rebuilding RAID with failfast
|
||||||
|
"""
|
||||||
|
self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_query_raid1_rebuild_failfast, quiet=True), self.mdadm_query_raid1_rebuild_failfast_json)
|
||||||
|
|
||||||
|
|
||||||
|
def test_mdadm_query_raid1_spare_writem_rebuild(self):
|
||||||
|
"""
|
||||||
|
Test 'mdadm --query' on rebuilding RAID with spare
|
||||||
|
"""
|
||||||
|
self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_query_raid1_spare_writem_rebuild, quiet=True), self.mdadm_query_raid1_spare_writem_rebuild_json)
|
||||||
|
|
||||||
|
|
||||||
|
def test_mdadm_query_raid1_syncing(self):
|
||||||
|
"""
|
||||||
|
Test 'mdadm --query' on syncing RAID
|
||||||
|
"""
|
||||||
|
self.assertEqual(jc.parsers.mdadm.parse(self.mdadm_query_raid1_syncing, quiet=True), self.mdadm_query_raid1_syncing_json)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
unittest.main()
|
Reference in New Issue
Block a user