Merge ~mwhudson/curtin:convert-imsm into curtin:master

Proposed by Michael Hudson-Doyle
Status: Merged
Approved by: Michael Hudson-Doyle
Approved revision: a78212263bac00cb01da5a169102705173d457ba
Merge reported by: Server Team CI bot
Merged at revision: not available
Proposed branch: ~mwhudson/curtin:convert-imsm
Merge into: curtin:master
Diff against target: 1824 lines (+1723/-24)
3 files modified
curtin/storage_config.py (+24/-14)
tests/data/probert_storage_imsm.json (+1661/-0)
tests/unittests/test_storage_config.py (+38/-10)
Reviewer Review Type Date Requested Status
Ryan Harper (community) Approve
Server Team CI bot continuous-integration Approve
Review via email: mp+404051@code.launchpad.net

Commit message

storage_config: properly handle raid containers

To post a comment you must log in.
Revision history for this message
Server Team CI bot (server-team-bot) wrote :
review: Approve (continuous-integration)
Revision history for this message
Ryan Harper (raharper) :
~mwhudson/curtin:convert-imsm updated
a782122... by Michael Hudson-Doyle

address review comments

 * do not rely on the fact that containers do not have their own
   metadata
 * add a unit test

Revision history for this message
Michael Hudson-Doyle (mwhudson) wrote :

Thanks for the comments, please take another look

Revision history for this message
Server Team CI bot (server-team-bot) wrote :
review: Approve (continuous-integration)
Revision history for this message
Ryan Harper (raharper) wrote :

LGTM

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/curtin/storage_config.py b/curtin/storage_config.py
2index 81b7385..bc3bef2 100644
3--- a/curtin/storage_config.py
4+++ b/curtin/storage_config.py
5@@ -164,7 +164,7 @@ def _stype_to_deps(stype):
6 'lvm_volgroup': {'devices'},
7 'mount': {'device'},
8 'partition': {'device'},
9- 'raid': {'devices', 'spare_devices'},
10+ 'raid': {'devices', 'spare_devices', 'container'},
11 'zfs': {'pool'},
12 'zpool': {'vdevs'},
13 }
14@@ -212,7 +212,7 @@ def _validate_dep_type(source_id, dep_key, dep_id, sconfig):
15 'mount': {'format'},
16 'partition': {'bcache', 'disk', 'raid', 'partition'},
17 'raid': {'bcache', 'disk', 'dm_crypt', 'lvm_partition',
18- 'partition'},
19+ 'partition', 'raid'},
20 'zfs': {'zpool'},
21 'zpool': {'disk', 'partition'},
22 }
23@@ -493,8 +493,7 @@ class ProbertParser(object):
24 devtype = 'dmcrypt'
25 name = blockdev['DM_NAME']
26 elif devname.startswith('/dev/md'):
27- if 'MD_NAME' in blockdev:
28- devtype = 'raid'
29+ devtype = 'raid'
30
31 for key, val in {'name': name, 'devtype': devtype}.items():
32 if not val or val == 'MISSING':
33@@ -1047,16 +1046,27 @@ class RaidParser(ProbertParser):
34 # FIXME, need to handle rich md_name values, rather than mdX
35 # LP: #1803933
36 raidname = os.path.basename(devname)
37- return {'type': 'raid',
38- 'id': 'raid-%s' % raidname,
39- 'name': raidname,
40- 'raidlevel': raid_data.get('raidlevel'),
41- 'devices': sorted([
42- self.blockdev_to_id(self.blockdev_data[dev])
43- for dev in raid_data.get('devices')]),
44- 'spare_devices': sorted([
45- self.blockdev_to_id(self.blockdev_data[dev])
46- for dev in raid_data.get('spare_devices')])}
47+
48+ action = {
49+ 'type': 'raid',
50+ 'id': self.blockdev_to_id(raid_data),
51+ 'name': raidname,
52+ 'raidlevel': raid_data.get('raidlevel'),
53+ }
54+
55+ if 'MD_METADATA' in raid_data:
56+ action['metadata'] = raid_data["MD_METADATA"]
57+
58+ if 'container' in raid_data:
59+ action['container'] = self.blockdev_byid_to_devname(
60+ raid_data['container'])
61+ else:
62+ for k in 'devices', 'spare_devices':
63+ action[k] = sorted([
64+ self.blockdev_byid_to_devname(dev)
65+ for dev in raid_data.get(k, [])])
66+
67+ return action
68
69 def parse(self):
70 """parse probert 'raid' data format.
71diff --git a/tests/data/probert_storage_imsm.json b/tests/data/probert_storage_imsm.json
72new file mode 100644
73index 0000000..3c0d5bc
74--- /dev/null
75+++ b/tests/data/probert_storage_imsm.json
76@@ -0,0 +1,1661 @@
77+{
78+ "network": {
79+ "links": [
80+ {
81+ "addresses": [],
82+ "bond": {
83+ "is_master": false,
84+ "is_slave": false,
85+ "lacp_rate": null,
86+ "master": null,
87+ "mode": null,
88+ "slaves": [],
89+ "xmit_hash_policy": null
90+ },
91+ "bridge": {
92+ "interfaces": [],
93+ "is_bridge": false,
94+ "is_port": false,
95+ "options": {}
96+ },
97+ "netlink_data": {
98+ "arptype": 1,
99+ "family": 0,
100+ "flags": 4099,
101+ "ifindex": 2,
102+ "is_vlan": false,
103+ "name": "eno1"
104+ },
105+ "type": "eth",
106+ "udev_data": {
107+ "DEVPATH": "/devices/pci0000:16/0000:16:02.0/0000:17:00.0/net/eno1",
108+ "ID_BUS": "pci",
109+ "ID_MM_CANDIDATE": "1",
110+ "ID_MODEL_FROM_DATABASE": "Ethernet Controller X710 for 10GbE SFP+ (Ethernet 10G 4P X710/I350 rNDC)",
111+ "ID_MODEL_ID": "0x1572",
112+ "ID_NET_DRIVER": "i40e",
113+ "ID_NET_LABEL_ONBOARD": "NIC1",
114+ "ID_NET_LINK_FILE": "/run/systemd/network/10-netplan-eno1.link",
115+ "ID_NET_NAME": "eno1",
116+ "ID_NET_NAME_MAC": "enxf8bc121ef9f0",
117+ "ID_NET_NAME_ONBOARD": "eno1",
118+ "ID_NET_NAME_PATH": "enp23s0f0",
119+ "ID_NET_NAMING_SCHEME": "v245",
120+ "ID_OUI_FROM_DATABASE": "Dell Inc.",
121+ "ID_PATH": "pci-0000:17:00.0",
122+ "ID_PATH_TAG": "pci-0000_17_00_0",
123+ "ID_PCI_CLASS_FROM_DATABASE": "Network controller",
124+ "ID_PCI_SUBCLASS_FROM_DATABASE": "Ethernet controller",
125+ "ID_VENDOR_FROM_DATABASE": "Intel Corporation",
126+ "ID_VENDOR_ID": "0x8086",
127+ "IFINDEX": "2",
128+ "INTERFACE": "eno1",
129+ "SUBSYSTEM": "net",
130+ "SYSTEMD_ALIAS": "/sys/subsystem/net/devices/eno1",
131+ "TAGS": ":systemd:",
132+ "USEC_INITIALIZED": "7548285",
133+ "attrs": {
134+ "addr_assign_type": "0",
135+ "addr_len": "6",
136+ "address": "f8:bc:12:1e:f9:f0",
137+ "broadcast": "ff:ff:ff:ff:ff:ff",
138+ "carrier": "0",
139+ "carrier_changes": "1",
140+ "carrier_down_count": "1",
141+ "carrier_up_count": "0",
142+ "dev_id": "0x0",
143+ "dev_port": "0",
144+ "device": null,
145+ "dormant": "0",
146+ "duplex": "unknown",
147+ "flags": "0x1003",
148+ "gro_flush_timeout": "0",
149+ "ifalias": "",
150+ "ifindex": "2",
151+ "iflink": "2",
152+ "link_mode": "0",
153+ "mtu": "1500",
154+ "name_assign_type": "4",
155+ "napi_defer_hard_irqs": "0",
156+ "netdev_group": "0",
157+ "operstate": "down",
158+ "phys_port_id": "f8bc121ef9f0",
159+ "phys_port_name": null,
160+ "phys_switch_id": null,
161+ "proto_down": "0",
162+ "speed": "-1",
163+ "subsystem": "net",
164+ "testing": "0",
165+ "tx_queue_len": "1000",
166+ "type": "1",
167+ "uevent": "INTERFACE=eno1\nIFINDEX=2"
168+ }
169+ }
170+ },
171+ {
172+ "addresses": [
173+ {
174+ "address": "10.101.51.44/22",
175+ "family": 2,
176+ "scope": "global",
177+ "source": "dhcp"
178+ },
179+ {
180+ "address": "fe80::fabc:12ff:fe1e:fa10/64",
181+ "family": 10,
182+ "scope": "link",
183+ "source": "static"
184+ }
185+ ],
186+ "bond": {
187+ "is_master": false,
188+ "is_slave": false,
189+ "lacp_rate": null,
190+ "master": null,
191+ "mode": null,
192+ "slaves": [],
193+ "xmit_hash_policy": null
194+ },
195+ "bridge": {
196+ "interfaces": [],
197+ "is_bridge": false,
198+ "is_port": false,
199+ "options": {}
200+ },
201+ "netlink_data": {
202+ "arptype": 1,
203+ "family": 0,
204+ "flags": 69699,
205+ "ifindex": 3,
206+ "is_vlan": false,
207+ "name": "eno3"
208+ },
209+ "type": "eth",
210+ "udev_data": {
211+ "DEVPATH": "/devices/pci0000:00/0000:00:1c.0/0000:01:00.0/net/eno3",
212+ "ID_BUS": "pci",
213+ "ID_MM_CANDIDATE": "1",
214+ "ID_MODEL_FROM_DATABASE": "I350 Gigabit Network Connection",
215+ "ID_MODEL_ID": "0x1521",
216+ "ID_NET_DRIVER": "igb",
217+ "ID_NET_LABEL_ONBOARD": "NIC3",
218+ "ID_NET_LINK_FILE": "/run/systemd/network/10-netplan-eno3.link",
219+ "ID_NET_NAME": "eno3",
220+ "ID_NET_NAME_MAC": "enxf8bc121efa10",
221+ "ID_NET_NAME_ONBOARD": "eno3",
222+ "ID_NET_NAME_PATH": "enp1s0f0",
223+ "ID_NET_NAMING_SCHEME": "v245",
224+ "ID_OUI_FROM_DATABASE": "Dell Inc.",
225+ "ID_PATH": "pci-0000:01:00.0",
226+ "ID_PATH_TAG": "pci-0000_01_00_0",
227+ "ID_PCI_CLASS_FROM_DATABASE": "Network controller",
228+ "ID_PCI_SUBCLASS_FROM_DATABASE": "Ethernet controller",
229+ "ID_VENDOR_FROM_DATABASE": "Intel Corporation",
230+ "ID_VENDOR_ID": "0x8086",
231+ "IFINDEX": "3",
232+ "INTERFACE": "eno3",
233+ "SUBSYSTEM": "net",
234+ "SYSTEMD_ALIAS": "/sys/subsystem/net/devices/eno3",
235+ "TAGS": ":systemd:",
236+ "USEC_INITIALIZED": "8317122",
237+ "attrs": {
238+ "addr_assign_type": "0",
239+ "addr_len": "6",
240+ "address": "f8:bc:12:1e:fa:10",
241+ "broadcast": "ff:ff:ff:ff:ff:ff",
242+ "carrier": "1",
243+ "carrier_changes": "2",
244+ "carrier_down_count": "1",
245+ "carrier_up_count": "1",
246+ "dev_id": "0x0",
247+ "dev_port": "0",
248+ "device": null,
249+ "dormant": "0",
250+ "duplex": "full",
251+ "flags": "0x1003",
252+ "gro_flush_timeout": "0",
253+ "ifalias": "",
254+ "ifindex": "3",
255+ "iflink": "3",
256+ "link_mode": "0",
257+ "mtu": "1500",
258+ "name_assign_type": "4",
259+ "napi_defer_hard_irqs": "0",
260+ "netdev_group": "0",
261+ "operstate": "up",
262+ "phys_port_id": null,
263+ "phys_port_name": null,
264+ "phys_switch_id": null,
265+ "proto_down": "0",
266+ "speed": "100",
267+ "subsystem": "net",
268+ "testing": "0",
269+ "tx_queue_len": "1000",
270+ "type": "1",
271+ "uevent": "INTERFACE=eno3\nIFINDEX=3"
272+ }
273+ }
274+ },
275+ {
276+ "addresses": [],
277+ "bond": {
278+ "is_master": false,
279+ "is_slave": false,
280+ "lacp_rate": null,
281+ "master": null,
282+ "mode": null,
283+ "slaves": [],
284+ "xmit_hash_policy": null
285+ },
286+ "bridge": {
287+ "interfaces": [],
288+ "is_bridge": false,
289+ "is_port": false,
290+ "options": {}
291+ },
292+ "netlink_data": {
293+ "arptype": 1,
294+ "family": 0,
295+ "flags": 4099,
296+ "ifindex": 4,
297+ "is_vlan": false,
298+ "name": "eno2"
299+ },
300+ "type": "eth",
301+ "udev_data": {
302+ "DEVPATH": "/devices/pci0000:16/0000:16:02.0/0000:17:00.1/net/eno2",
303+ "ID_BUS": "pci",
304+ "ID_MM_CANDIDATE": "1",
305+ "ID_MODEL_FROM_DATABASE": "Ethernet Controller X710 for 10GbE SFP+ (Ethernet 10G X710 rNDC)",
306+ "ID_MODEL_ID": "0x1572",
307+ "ID_NET_DRIVER": "i40e",
308+ "ID_NET_LABEL_ONBOARD": "NIC2",
309+ "ID_NET_LINK_FILE": "/run/systemd/network/10-netplan-eno2.link",
310+ "ID_NET_NAME": "eno2",
311+ "ID_NET_NAME_MAC": "enxf8bc121ef9f2",
312+ "ID_NET_NAME_ONBOARD": "eno2",
313+ "ID_NET_NAME_PATH": "enp23s0f1",
314+ "ID_NET_NAMING_SCHEME": "v245",
315+ "ID_OUI_FROM_DATABASE": "Dell Inc.",
316+ "ID_PATH": "pci-0000:17:00.1",
317+ "ID_PATH_TAG": "pci-0000_17_00_1",
318+ "ID_PCI_CLASS_FROM_DATABASE": "Network controller",
319+ "ID_PCI_SUBCLASS_FROM_DATABASE": "Ethernet controller",
320+ "ID_VENDOR_FROM_DATABASE": "Intel Corporation",
321+ "ID_VENDOR_ID": "0x8086",
322+ "IFINDEX": "4",
323+ "INTERFACE": "eno2",
324+ "SUBSYSTEM": "net",
325+ "SYSTEMD_ALIAS": "/sys/subsystem/net/devices/eno2",
326+ "TAGS": ":systemd:",
327+ "USEC_INITIALIZED": "7712938",
328+ "attrs": {
329+ "addr_assign_type": "0",
330+ "addr_len": "6",
331+ "address": "f8:bc:12:1e:f9:f2",
332+ "broadcast": "ff:ff:ff:ff:ff:ff",
333+ "carrier": "0",
334+ "carrier_changes": "1",
335+ "carrier_down_count": "1",
336+ "carrier_up_count": "0",
337+ "dev_id": "0x0",
338+ "dev_port": "0",
339+ "device": null,
340+ "dormant": "0",
341+ "duplex": "unknown",
342+ "flags": "0x1003",
343+ "gro_flush_timeout": "0",
344+ "ifalias": "",
345+ "ifindex": "4",
346+ "iflink": "4",
347+ "link_mode": "0",
348+ "mtu": "1500",
349+ "name_assign_type": "4",
350+ "napi_defer_hard_irqs": "0",
351+ "netdev_group": "0",
352+ "operstate": "down",
353+ "phys_port_id": "f8bc121ef9f2",
354+ "phys_port_name": null,
355+ "phys_switch_id": null,
356+ "proto_down": "0",
357+ "speed": "-1",
358+ "subsystem": "net",
359+ "testing": "0",
360+ "tx_queue_len": "1000",
361+ "type": "1",
362+ "uevent": "INTERFACE=eno2\nIFINDEX=4"
363+ }
364+ }
365+ },
366+ {
367+ "addresses": [],
368+ "bond": {
369+ "is_master": false,
370+ "is_slave": false,
371+ "lacp_rate": null,
372+ "master": null,
373+ "mode": null,
374+ "slaves": [],
375+ "xmit_hash_policy": null
376+ },
377+ "bridge": {
378+ "interfaces": [],
379+ "is_bridge": false,
380+ "is_port": false,
381+ "options": {}
382+ },
383+ "netlink_data": {
384+ "arptype": 1,
385+ "family": 0,
386+ "flags": 4099,
387+ "ifindex": 5,
388+ "is_vlan": false,
389+ "name": "eno4"
390+ },
391+ "type": "eth",
392+ "udev_data": {
393+ "DEVPATH": "/devices/pci0000:00/0000:00:1c.0/0000:01:00.1/net/eno4",
394+ "ID_BUS": "pci",
395+ "ID_MM_CANDIDATE": "1",
396+ "ID_MODEL_FROM_DATABASE": "I350 Gigabit Network Connection",
397+ "ID_MODEL_ID": "0x1521",
398+ "ID_NET_DRIVER": "igb",
399+ "ID_NET_LABEL_ONBOARD": "NIC4",
400+ "ID_NET_LINK_FILE": "/run/systemd/network/10-netplan-eno4.link",
401+ "ID_NET_NAME": "eno4",
402+ "ID_NET_NAME_MAC": "enxf8bc121efa11",
403+ "ID_NET_NAME_ONBOARD": "eno4",
404+ "ID_NET_NAME_PATH": "enp1s0f1",
405+ "ID_NET_NAMING_SCHEME": "v245",
406+ "ID_OUI_FROM_DATABASE": "Dell Inc.",
407+ "ID_PATH": "pci-0000:01:00.1",
408+ "ID_PATH_TAG": "pci-0000_01_00_1",
409+ "ID_PCI_CLASS_FROM_DATABASE": "Network controller",
410+ "ID_PCI_SUBCLASS_FROM_DATABASE": "Ethernet controller",
411+ "ID_VENDOR_FROM_DATABASE": "Intel Corporation",
412+ "ID_VENDOR_ID": "0x8086",
413+ "IFINDEX": "5",
414+ "INTERFACE": "eno4",
415+ "SUBSYSTEM": "net",
416+ "SYSTEMD_ALIAS": "/sys/subsystem/net/devices/eno4",
417+ "TAGS": ":systemd:",
418+ "USEC_INITIALIZED": "8073969",
419+ "attrs": {
420+ "addr_assign_type": "0",
421+ "addr_len": "6",
422+ "address": "f8:bc:12:1e:fa:11",
423+ "broadcast": "ff:ff:ff:ff:ff:ff",
424+ "carrier": "0",
425+ "carrier_changes": "1",
426+ "carrier_down_count": "1",
427+ "carrier_up_count": "0",
428+ "dev_id": "0x0",
429+ "dev_port": "0",
430+ "device": null,
431+ "dormant": "0",
432+ "duplex": "unknown",
433+ "flags": "0x1003",
434+ "gro_flush_timeout": "0",
435+ "ifalias": "",
436+ "ifindex": "5",
437+ "iflink": "5",
438+ "link_mode": "0",
439+ "mtu": "1500",
440+ "name_assign_type": "4",
441+ "napi_defer_hard_irqs": "0",
442+ "netdev_group": "0",
443+ "operstate": "down",
444+ "phys_port_id": null,
445+ "phys_port_name": null,
446+ "phys_switch_id": null,
447+ "proto_down": "0",
448+ "speed": "-1",
449+ "subsystem": "net",
450+ "testing": "0",
451+ "tx_queue_len": "1000",
452+ "type": "1",
453+ "uevent": "INTERFACE=eno4\nIFINDEX=5"
454+ }
455+ }
456+ },
457+ {
458+ "addresses": [
459+ {
460+ "address": "127.0.0.1/8",
461+ "family": 2,
462+ "scope": "host",
463+ "source": "static"
464+ },
465+ {
466+ "address": "::1/128",
467+ "family": 10,
468+ "scope": "host",
469+ "source": "static"
470+ }
471+ ],
472+ "bond": {
473+ "is_master": false,
474+ "is_slave": false,
475+ "lacp_rate": null,
476+ "master": null,
477+ "mode": null,
478+ "slaves": [],
479+ "xmit_hash_policy": null
480+ },
481+ "bridge": {
482+ "interfaces": [],
483+ "is_bridge": false,
484+ "is_port": false,
485+ "options": {}
486+ },
487+ "netlink_data": {
488+ "arptype": 772,
489+ "family": 0,
490+ "flags": 65609,
491+ "ifindex": 1,
492+ "is_vlan": false,
493+ "name": "lo"
494+ },
495+ "type": "lo",
496+ "udev_data": {
497+ "DEVPATH": "/devices/virtual/net/lo",
498+ "ID_MM_CANDIDATE": "1",
499+ "ID_NET_LINK_FILE": "/usr/lib/systemd/network/99-default.link",
500+ "IFINDEX": "1",
501+ "INTERFACE": "lo",
502+ "SUBSYSTEM": "net",
503+ "USEC_INITIALIZED": "5306867",
504+ "attrs": {
505+ "addr_assign_type": "0",
506+ "addr_len": "6",
507+ "address": "00:00:00:00:00:00",
508+ "broadcast": "00:00:00:00:00:00",
509+ "carrier": "1",
510+ "carrier_changes": "0",
511+ "carrier_down_count": "0",
512+ "carrier_up_count": "0",
513+ "dev_id": "0x0",
514+ "dev_port": "0",
515+ "dormant": "0",
516+ "duplex": null,
517+ "flags": "0x9",
518+ "gro_flush_timeout": "0",
519+ "ifalias": "",
520+ "ifindex": "1",
521+ "iflink": "1",
522+ "link_mode": "0",
523+ "mtu": "65536",
524+ "name_assign_type": null,
525+ "napi_defer_hard_irqs": "0",
526+ "netdev_group": "0",
527+ "operstate": "unknown",
528+ "phys_port_id": null,
529+ "phys_port_name": null,
530+ "phys_switch_id": null,
531+ "proto_down": "0",
532+ "speed": null,
533+ "subsystem": "net",
534+ "testing": "0",
535+ "tx_queue_len": "1000",
536+ "type": "772",
537+ "uevent": "INTERFACE=lo\nIFINDEX=1"
538+ }
539+ }
540+ }
541+ ],
542+ "routes": [
543+ {
544+ "dst": "default",
545+ "family": 2,
546+ "ifindex": 3,
547+ "table": 254,
548+ "type": 1
549+ },
550+ {
551+ "dst": "10.101.48.0/22",
552+ "family": 2,
553+ "ifindex": 3,
554+ "table": 254,
555+ "type": 1
556+ },
557+ {
558+ "dst": "169.254.0.0/16",
559+ "family": 2,
560+ "ifindex": 3,
561+ "table": 254,
562+ "type": 1
563+ },
564+ {
565+ "dst": "10.101.48.0",
566+ "family": 2,
567+ "ifindex": 3,
568+ "table": 255,
569+ "type": 3
570+ },
571+ {
572+ "dst": "10.101.51.44",
573+ "family": 2,
574+ "ifindex": 3,
575+ "table": 255,
576+ "type": 2
577+ },
578+ {
579+ "dst": "10.101.51.255",
580+ "family": 2,
581+ "ifindex": 3,
582+ "table": 255,
583+ "type": 3
584+ },
585+ {
586+ "dst": "127.0.0.0",
587+ "family": 2,
588+ "ifindex": 1,
589+ "table": 255,
590+ "type": 3
591+ },
592+ {
593+ "dst": "127.0.0.0/8",
594+ "family": 2,
595+ "ifindex": 1,
596+ "table": 255,
597+ "type": 2
598+ },
599+ {
600+ "dst": "127.0.0.1",
601+ "family": 2,
602+ "ifindex": 1,
603+ "table": 255,
604+ "type": 2
605+ },
606+ {
607+ "dst": "127.255.255.255",
608+ "family": 2,
609+ "ifindex": 1,
610+ "table": 255,
611+ "type": 3
612+ },
613+ {
614+ "dst": "::1",
615+ "family": 10,
616+ "ifindex": 1,
617+ "table": 254,
618+ "type": 1
619+ },
620+ {
621+ "dst": "fe80::/64",
622+ "family": 10,
623+ "ifindex": 3,
624+ "table": 254,
625+ "type": 1
626+ },
627+ {
628+ "dst": "::1",
629+ "family": 10,
630+ "ifindex": 1,
631+ "table": 255,
632+ "type": 2
633+ },
634+ {
635+ "dst": "fe80::fabc:12ff:fe1e:fa10",
636+ "family": 10,
637+ "ifindex": 3,
638+ "table": 255,
639+ "type": 2
640+ },
641+ {
642+ "dst": "ff00::/8",
643+ "family": 10,
644+ "ifindex": 3,
645+ "table": 255,
646+ "type": 5
647+ }
648+ ]
649+ },
650+ "storage": {
651+ "bcache": {
652+ "backing": {},
653+ "caching": {}
654+ },
655+ "blockdev": {
656+ "/dev/md126": {
657+ "DEVLINKS": "/dev/disk/by-id/md-uuid-ac4bee3d:2607dd80:76f9390f:f2d72638 /dev/md/subvol",
658+ "DEVNAME": "/dev/md126",
659+ "DEVPATH": "/devices/virtual/block/md126",
660+ "DEVTYPE": "disk",
661+ "MAJOR": "9",
662+ "MD_CONTAINER": "/dev/md/container",
663+ "MD_DEVICES": "2",
664+ "MD_DEVICE_ev_nvme0n1_DEV": "/dev/nvme0n1",
665+ "MD_DEVICE_ev_nvme0n1_ROLE": "0",
666+ "MD_DEVICE_ev_nvme1n1_DEV": "/dev/nvme1n1",
667+ "MD_DEVICE_ev_nvme1n1_ROLE": "1",
668+ "MD_DEVNAME": "subvol",
669+ "MD_LEVEL": "raid0",
670+ "MD_MEMBER": "0",
671+ "MD_UUID": "ac4bee3d:2607dd80:76f9390f:f2d72638",
672+ "MINOR": "126",
673+ "SUBSYSTEM": "block",
674+ "SYSTEMD_READY": "0",
675+ "TAGS": ":systemd:",
676+ "UDISKS_MD_CONTAINER": "/dev/md/container",
677+ "UDISKS_MD_DEVICES": "2",
678+ "UDISKS_MD_DEVICE_ev_nvme0n1_DEV": "/dev/nvme0n1",
679+ "UDISKS_MD_DEVICE_ev_nvme0n1_ROLE": "0",
680+ "UDISKS_MD_DEVICE_ev_nvme1n1_DEV": "/dev/nvme1n1",
681+ "UDISKS_MD_DEVICE_ev_nvme1n1_ROLE": "1",
682+ "UDISKS_MD_DEVNAME": "subvol",
683+ "UDISKS_MD_LEVEL": "raid0",
684+ "UDISKS_MD_MEMBER": "0",
685+ "UDISKS_MD_UUID": "ac4bee3d:2607dd80:76f9390f:f2d72638",
686+ "USEC_INITIALIZED": "9797274925",
687+ "attrs": {
688+ "alignment_offset": "0",
689+ "bdi": null,
690+ "capability": "50",
691+ "dev": "9:126",
692+ "discard_alignment": "0",
693+ "events": "",
694+ "events_async": "",
695+ "events_poll_msecs": "-1",
696+ "ext_range": "256",
697+ "hidden": "0",
698+ "inflight": " 0 0",
699+ "range": "1",
700+ "removable": "0",
701+ "ro": "0",
702+ "size": "214748364800",
703+ "stat": " 579 0 33208 192 0 0 0 0 0 376 192 0 0 0 0 0 0",
704+ "subsystem": "block",
705+ "uevent": "MAJOR=9\nMINOR=126\nDEVNAME=md126\nDEVTYPE=disk"
706+ }
707+ },
708+ "/dev/md127": {
709+ "DEVLINKS": "/dev/disk/by-id/md-uuid-00000000:00000000:00000000:00000000 /dev/md/container",
710+ "DEVNAME": "/dev/md127",
711+ "DEVPATH": "/devices/virtual/block/md127",
712+ "DEVTYPE": "disk",
713+ "MAJOR": "9",
714+ "MD_DEVICES": "2",
715+ "MD_DEVICE_ev_nvme0n1_DEV": "/dev/nvme0n1",
716+ "MD_DEVICE_ev_nvme0n1_ROLE": "spare",
717+ "MD_DEVICE_ev_nvme1n1_DEV": "/dev/nvme1n1",
718+ "MD_DEVICE_ev_nvme1n1_ROLE": "spare",
719+ "MD_DEVNAME": "container",
720+ "MD_LEVEL": "container",
721+ "MD_METADATA": "imsm",
722+ "MD_UUID": "00000000:00000000:00000000:00000000",
723+ "MINOR": "127",
724+ "SUBSYSTEM": "block",
725+ "SYSTEMD_READY": "0",
726+ "TAGS": ":systemd:",
727+ "UDISKS_MD_DEVICES": "2",
728+ "UDISKS_MD_DEVICE_ev_nvme0n1_DEV": "/dev/nvme0n1",
729+ "UDISKS_MD_DEVICE_ev_nvme0n1_ROLE": "spare",
730+ "UDISKS_MD_DEVICE_ev_nvme1n1_DEV": "/dev/nvme1n1",
731+ "UDISKS_MD_DEVICE_ev_nvme1n1_ROLE": "spare",
732+ "UDISKS_MD_DEVNAME": "container",
733+ "UDISKS_MD_LEVEL": "container",
734+ "UDISKS_MD_METADATA": "imsm",
735+ "UDISKS_MD_UUID": "00000000:00000000:00000000:00000000",
736+ "USEC_INITIALIZED": "9783286242",
737+ "attrs": {
738+ "alignment_offset": "0",
739+ "bdi": null,
740+ "capability": "50",
741+ "dev": "9:127",
742+ "discard_alignment": "0",
743+ "events": "",
744+ "events_async": "",
745+ "events_poll_msecs": "-1",
746+ "ext_range": "256",
747+ "hidden": "0",
748+ "inflight": " 0 0",
749+ "range": "1",
750+ "removable": "0",
751+ "ro": "0",
752+ "size": "0",
753+ "stat": " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0",
754+ "subsystem": "block",
755+ "uevent": "MAJOR=9\nMINOR=127\nDEVNAME=md127\nDEVTYPE=disk"
756+ }
757+ },
758+ "/dev/nvme0n1": {
759+ "DEVLINKS": "/dev/disk/by-id/nvme-A400_NVMe_SanDisk_256GB_171877421152 /dev/disk/by-id/nvme-eui.1718774211520001001b444a444677f0 /dev/disk/by-path/pci-0000:b2:05.5-pci-10000:01:00.0-nvme-1 /dev/disk/by-dname/nvme0n1",
760+ "DEVNAME": "/dev/nvme0n1",
761+ "DEVPATH": "/devices/pci0000:b2/0000:b2:05.5/pci10000:00/10000:00:02.0/10000:01:00.0/nvme/nvme0/nvme0n1",
762+ "DEVTYPE": "disk",
763+ "DM_MULTIPATH_DEVICE_PATH": "0",
764+ "ID_FS_TYPE": "isw_raid_member",
765+ "ID_FS_USAGE": "raid",
766+ "ID_FS_VERSION": "1.0.00",
767+ "ID_MODEL": "A400 NVMe SanDisk 256GB",
768+ "ID_PATH": "pci-0000:b2:05.5-pci-10000:01:00.0-nvme-1",
769+ "ID_PATH_TAG": "pci-0000_b2_05_5-pci-10000_01_00_0-nvme-1",
770+ "ID_REVISION": "A3550012",
771+ "ID_SERIAL": "A400 NVMe SanDisk 256GB_171877421152",
772+ "ID_SERIAL_SHORT": "171877421152",
773+ "ID_WWN": "eui.1718774211520001001b444a444677f0",
774+ "MAJOR": "259",
775+ "MINOR": "1",
776+ "MPATH_SBIN_PATH": "/sbin",
777+ "SUBSYSTEM": "block",
778+ "TAGS": ":systemd:",
779+ "USEC_INITIALIZED": "7921733",
780+ "attrs": {
781+ "alignment_offset": "0",
782+ "bdi": null,
783+ "capability": "50",
784+ "dev": "259:1",
785+ "device": null,
786+ "discard_alignment": "0",
787+ "eui": "00 1b 44 4a 44 46 77 f0",
788+ "events": "",
789+ "events_async": "",
790+ "events_poll_msecs": "-1",
791+ "ext_range": "256",
792+ "hidden": "0",
793+ "inflight": " 0 0",
794+ "nguid": "17187742-1152-0001-001b-444a444677f0",
795+ "nsid": "1",
796+ "range": "0",
797+ "removable": "0",
798+ "ro": "0",
799+ "size": "256060514304",
800+ "stat": " 751 0 41085 256 9 3 68 0 0 748 256 0 0 0 0 0 0",
801+ "subsystem": "block",
802+ "uevent": "MAJOR=259\nMINOR=1\nDEVNAME=nvme0n1\nDEVTYPE=disk",
803+ "uuid": "17187742-1152-0001-001b-444a444677f0",
804+ "wwid": "eui.1718774211520001001b444a444677f0"
805+ }
806+ },
807+ "/dev/nvme1n1": {
808+ "DEVLINKS": "/dev/disk/by-id/nvme-eui.1718774241910001001b444a444601b7 /dev/disk/by-id/nvme-A400_NVMe_SanDisk_256GB_171877424191 /dev/disk/by-dname/nvme1n1 /dev/disk/by-path/pci-0000:b2:05.5-pci-10000:02:00.0-nvme-1",
809+ "DEVNAME": "/dev/nvme1n1",
810+ "DEVPATH": "/devices/pci0000:b2/0000:b2:05.5/pci10000:00/10000:00:03.0/10000:02:00.0/nvme/nvme1/nvme1n1",
811+ "DEVTYPE": "disk",
812+ "DM_MULTIPATH_DEVICE_PATH": "0",
813+ "ID_FS_TYPE": "isw_raid_member",
814+ "ID_FS_USAGE": "raid",
815+ "ID_FS_VERSION": "1.0.00",
816+ "ID_MODEL": "A400 NVMe SanDisk 256GB",
817+ "ID_PATH": "pci-0000:b2:05.5-pci-10000:02:00.0-nvme-1",
818+ "ID_PATH_TAG": "pci-0000_b2_05_5-pci-10000_02_00_0-nvme-1",
819+ "ID_REVISION": "A3550012",
820+ "ID_SERIAL": "A400 NVMe SanDisk 256GB_171877424191",
821+ "ID_SERIAL_SHORT": "171877424191",
822+ "ID_WWN": "eui.1718774241910001001b444a444601b7",
823+ "MAJOR": "259",
824+ "MINOR": "0",
825+ "MPATH_SBIN_PATH": "/sbin",
826+ "SUBSYSTEM": "block",
827+ "TAGS": ":systemd:",
828+ "USEC_INITIALIZED": "7917708",
829+ "attrs": {
830+ "alignment_offset": "0",
831+ "bdi": null,
832+ "capability": "50",
833+ "dev": "259:0",
834+ "device": null,
835+ "discard_alignment": "0",
836+ "eui": "00 1b 44 4a 44 46 01 b7",
837+ "events": "",
838+ "events_async": "",
839+ "events_poll_msecs": "-1",
840+ "ext_range": "256",
841+ "hidden": "0",
842+ "inflight": " 0 0",
843+ "nguid": "17187742-4191-0001-001b-444a444601b7",
844+ "nsid": "1",
845+ "range": "0",
846+ "removable": "0",
847+ "ro": "0",
848+ "size": "256060514304",
849+ "stat": " 581 12 30543 258 12 1 76 0 0 732 259 0 0 0 0 0 0",
850+ "subsystem": "block",
851+ "uevent": "MAJOR=259\nMINOR=0\nDEVNAME=nvme1n1\nDEVTYPE=disk",
852+ "uuid": "17187742-4191-0001-001b-444a444601b7",
853+ "wwid": "eui.1718774241910001001b444a444601b7"
854+ }
855+ },
856+ "/dev/sda": {
857+ "DEVLINKS": "/dev/disk/by-dname/sda /dev/disk/by-path/pci-0000:00:11.5-ata-4 /dev/disk/by-id/scsi-SATA_TOSHIBA_DT01ACA1_Y6AKDK9MS /dev/disk/by-id/scsi-1ATA_TOSHIBA_DT01ACA100_Y6AKDK9MS /dev/disk/by-id/wwn-0x5000039febf22ff6 /dev/disk/by-id/scsi-0ATA_TOSHIBA_DT01ACA1_Y6AKDK9MS /dev/disk/by-id/ata-TOSHIBA_DT01ACA100_Y6AKDK9MS /dev/disk/by-id/scsi-35000039febf22ff6",
858+ "DEVNAME": "/dev/sda",
859+ "DEVPATH": "/devices/pci0000:00/0000:00:11.5/ata4/host3/target3:0:0/3:0:0:0/block/sda",
860+ "DEVTYPE": "disk",
861+ "DM_MULTIPATH_DEVICE_PATH": "0",
862+ "ID_ATA": "1",
863+ "ID_BUS": "ata",
864+ "ID_MODEL": "TOSHIBA_DT01ACA1",
865+ "ID_MODEL_ENC": "TOSHIBA\\x20DT01ACA1",
866+ "ID_PART_TABLE_TYPE": "gpt",
867+ "ID_PART_TABLE_UUID": "c46c7073-cde8-4c80-a200-340fac7bbf78",
868+ "ID_PATH": "pci-0000:00:11.5-ata-4",
869+ "ID_PATH_TAG": "pci-0000_00_11_5-ata-4",
870+ "ID_REVISION": "A810",
871+ "ID_SCSI": "1",
872+ "ID_SCSI_INQUIRY": "1",
873+ "ID_SERIAL": "TOSHIBA_DT01ACA100_Y6AKDK9MS",
874+ "ID_SERIAL_SHORT": "Y6AKDK9MS",
875+ "ID_TYPE": "disk",
876+ "ID_VENDOR": "ATA",
877+ "ID_VENDOR_ENC": "ATA\\x20\\x20\\x20\\x20\\x20",
878+ "ID_WWN": "0x5000039febf22ff6",
879+ "ID_WWN_WITH_EXTENSION": "0x5000039febf22ff6",
880+ "MAJOR": "8",
881+ "MINOR": "0",
882+ "MPATH_SBIN_PATH": "/sbin",
883+ "SCSI_IDENT_LUN_ATA": "TOSHIBA_DT01ACA100_Y6AKDK9MS",
884+ "SCSI_IDENT_LUN_NAA_REG": "5000039febf22ff6",
885+ "SCSI_IDENT_LUN_T10": "ATA_TOSHIBA_DT01ACA100_Y6AKDK9MS",
886+ "SCSI_IDENT_LUN_VENDOR": "Y6AKDK9MS",
887+ "SCSI_IDENT_SERIAL": "Y6AKDK9MS",
888+ "SCSI_MODEL": "TOSHIBA_DT01ACA1",
889+ "SCSI_MODEL_ENC": "TOSHIBA\\x20DT01ACA1",
890+ "SCSI_REVISION": "A810",
891+ "SCSI_TPGS": "0",
892+ "SCSI_TYPE": "disk",
893+ "SCSI_VENDOR": "ATA",
894+ "SCSI_VENDOR_ENC": "ATA\\x20\\x20\\x20\\x20\\x20",
895+ "SUBSYSTEM": "block",
896+ "TAGS": ":systemd:",
897+ "USEC_INITIALIZED": "8004918",
898+ "attrs": {
899+ "alignment_offset": "0",
900+ "bdi": null,
901+ "capability": "50",
902+ "dev": "8:0",
903+ "device": null,
904+ "discard_alignment": "0",
905+ "events": "",
906+ "events_async": "",
907+ "events_poll_msecs": "-1",
908+ "ext_range": "256",
909+ "hidden": "0",
910+ "inflight": " 0 0",
911+ "range": "16",
912+ "removable": "0",
913+ "ro": "0",
914+ "size": "1000204886016",
915+ "stat": " 20511 10015 1972534 403354 27098 33949 1614009 494315 0 305256 995343 0 0 0 0 10880 97673",
916+ "subsystem": "block",
917+ "uevent": "MAJOR=8\nMINOR=0\nDEVNAME=sda\nDEVTYPE=disk"
918+ },
919+ "partitiontable": {
920+ "device": "/dev/sda",
921+ "firstlba": 34,
922+ "id": "C46C7073-CDE8-4C80-A200-340FAC7BBF78",
923+ "label": "gpt",
924+ "lastlba": 1953525134,
925+ "partitions": [
926+ {
927+ "node": "/dev/sda1",
928+ "size": 1048576,
929+ "start": 2048,
930+ "type": "C12A7328-F81F-11D2-BA4B-00A0C93EC93B",
931+ "uuid": "DC99182A-4C35-4B34-88F9-5F5FE3145232"
932+ },
933+ {
934+ "node": "/dev/sda2",
935+ "size": 1952474511,
936+ "start": 1050624,
937+ "type": "0FC63DAF-8483-4772-8E79-3D69D8477DE4",
938+ "uuid": "A72A5EDB-0B7A-4FD6-A928-B02D79DC7C12"
939+ }
940+ ],
941+ "unit": "sectors"
942+ }
943+ },
944+ "/dev/sda1": {
945+ "DEVLINKS": "/dev/disk/by-label/efi /dev/disk/by-dname/sda-part1 /dev/disk/by-id/scsi-1ATA_TOSHIBA_DT01ACA100_Y6AKDK9MS-part1 /dev/disk/by-id/scsi-0ATA_TOSHIBA_DT01ACA1_Y6AKDK9MS-part1 /dev/disk/by-id/scsi-SATA_TOSHIBA_DT01ACA1_Y6AKDK9MS-part1 /dev/disk/by-id/scsi-35000039febf22ff6-part1 /dev/disk/by-partuuid/dc99182a-4c35-4b34-88f9-5f5fe3145232 /dev/disk/by-id/wwn-0x5000039febf22ff6-part1 /dev/disk/by-uuid/AAE5-D3B4 /dev/disk/by-id/ata-TOSHIBA_DT01ACA100_Y6AKDK9MS-part1 /dev/disk/by-path/pci-0000:00:11.5-ata-4-part1",
946+ "DEVNAME": "/dev/sda1",
947+ "DEVPATH": "/devices/pci0000:00/0000:00:11.5/ata4/host3/target3:0:0/3:0:0:0/block/sda/sda1",
948+ "DEVTYPE": "partition",
949+ "DM_MULTIPATH_DEVICE_PATH": "0",
950+ "ID_ATA": "1",
951+ "ID_BUS": "ata",
952+ "ID_FS_LABEL": "efi",
953+ "ID_FS_LABEL_ENC": "efi",
954+ "ID_FS_TYPE": "vfat",
955+ "ID_FS_USAGE": "filesystem",
956+ "ID_FS_UUID": "AAE5-D3B4",
957+ "ID_FS_UUID_ENC": "AAE5-D3B4",
958+ "ID_FS_VERSION": "FAT32",
959+ "ID_MODEL": "TOSHIBA_DT01ACA1",
960+ "ID_MODEL_ENC": "TOSHIBA\\x20DT01ACA1",
961+ "ID_PART_ENTRY_DISK": "8:0",
962+ "ID_PART_ENTRY_NUMBER": "1",
963+ "ID_PART_ENTRY_OFFSET": "2048",
964+ "ID_PART_ENTRY_SCHEME": "gpt",
965+ "ID_PART_ENTRY_SIZE": "1048576",
966+ "ID_PART_ENTRY_TYPE": "c12a7328-f81f-11d2-ba4b-00a0c93ec93b",
967+ "ID_PART_ENTRY_UUID": "dc99182a-4c35-4b34-88f9-5f5fe3145232",
968+ "ID_PART_TABLE_TYPE": "gpt",
969+ "ID_PART_TABLE_UUID": "c46c7073-cde8-4c80-a200-340fac7bbf78",
970+ "ID_PATH": "pci-0000:00:11.5-ata-4",
971+ "ID_PATH_TAG": "pci-0000_00_11_5-ata-4",
972+ "ID_REVISION": "A810",
973+ "ID_SCSI": "1",
974+ "ID_SCSI_INQUIRY": "1",
975+ "ID_SERIAL": "TOSHIBA_DT01ACA100_Y6AKDK9MS",
976+ "ID_SERIAL_SHORT": "Y6AKDK9MS",
977+ "ID_TYPE": "disk",
978+ "ID_VENDOR": "ATA",
979+ "ID_VENDOR_ENC": "ATA\\x20\\x20\\x20\\x20\\x20",
980+ "ID_WWN": "0x5000039febf22ff6",
981+ "ID_WWN_WITH_EXTENSION": "0x5000039febf22ff6",
982+ "MAJOR": "8",
983+ "MINOR": "1",
984+ "PARTN": "1",
985+ "SCSI_IDENT_LUN_ATA": "TOSHIBA_DT01ACA100_Y6AKDK9MS",
986+ "SCSI_IDENT_LUN_NAA_REG": "5000039febf22ff6",
987+ "SCSI_IDENT_LUN_T10": "ATA_TOSHIBA_DT01ACA100_Y6AKDK9MS",
988+ "SCSI_IDENT_LUN_VENDOR": "Y6AKDK9MS",
989+ "SCSI_IDENT_SERIAL": "Y6AKDK9MS",
990+ "SCSI_MODEL": "TOSHIBA_DT01ACA1",
991+ "SCSI_MODEL_ENC": "TOSHIBA\\x20DT01ACA1",
992+ "SCSI_REVISION": "A810",
993+ "SCSI_TPGS": "0",
994+ "SCSI_TYPE": "disk",
995+ "SCSI_VENDOR": "ATA",
996+ "SCSI_VENDOR_ENC": "ATA\\x20\\x20\\x20\\x20\\x20",
997+ "SUBSYSTEM": "block",
998+ "TAGS": ":systemd:",
999+ "UDISKS_IGNORE": "1",
1000+ "USEC_INITIALIZED": "8108731",
1001+ "attrs": {
1002+ "alignment_offset": "0",
1003+ "dev": "8:1",
1004+ "discard_alignment": "0",
1005+ "inflight": " 0 0",
1006+ "partition": "1",
1007+ "ro": "0",
1008+ "size": "536870912",
1009+ "start": "2048",
1010+ "stat": " 181 1013 18926 2661 1 0 1 0 0 2220 2661 0 0 0 0 0 0",
1011+ "subsystem": "block",
1012+ "uevent": "MAJOR=8\nMINOR=1\nDEVNAME=sda1\nDEVTYPE=partition\nPARTN=1"
1013+ },
1014+ "partitiontable": {
1015+ "device": "/dev/sda1",
1016+ "id": "0x00000000",
1017+ "label": "dos",
1018+ "partitions": [],
1019+ "unit": "sectors"
1020+ }
1021+ },
1022+ "/dev/sda2": {
1023+ "DEVLINKS": "/dev/disk/by-id/scsi-0ATA_TOSHIBA_DT01ACA1_Y6AKDK9MS-part2 /dev/disk/by-id/ata-TOSHIBA_DT01ACA100_Y6AKDK9MS-part2 /dev/disk/by-partuuid/a72a5edb-0b7a-4fd6-a928-b02d79dc7c12 /dev/disk/by-dname/sda-part2 /dev/disk/by-id/scsi-SATA_TOSHIBA_DT01ACA1_Y6AKDK9MS-part2 /dev/disk/by-id/scsi-35000039febf22ff6-part2 /dev/disk/by-uuid/651d27d7-13f2-4ca6-a798-ca8deb8f4f1c /dev/disk/by-id/wwn-0x5000039febf22ff6-part2 /dev/disk/by-path/pci-0000:00:11.5-ata-4-part2 /dev/disk/by-label/root /dev/disk/by-id/scsi-1ATA_TOSHIBA_DT01ACA100_Y6AKDK9MS-part2",
1024+ "DEVNAME": "/dev/sda2",
1025+ "DEVPATH": "/devices/pci0000:00/0000:00:11.5/ata4/host3/target3:0:0/3:0:0:0/block/sda/sda2",
1026+ "DEVTYPE": "partition",
1027+ "DM_MULTIPATH_DEVICE_PATH": "0",
1028+ "ID_ATA": "1",
1029+ "ID_BUS": "ata",
1030+ "ID_FS_LABEL": "root",
1031+ "ID_FS_LABEL_ENC": "root",
1032+ "ID_FS_TYPE": "ext4",
1033+ "ID_FS_USAGE": "filesystem",
1034+ "ID_FS_UUID": "651d27d7-13f2-4ca6-a798-ca8deb8f4f1c",
1035+ "ID_FS_UUID_ENC": "651d27d7-13f2-4ca6-a798-ca8deb8f4f1c",
1036+ "ID_FS_VERSION": "1.0",
1037+ "ID_MODEL": "TOSHIBA_DT01ACA1",
1038+ "ID_MODEL_ENC": "TOSHIBA\\x20DT01ACA1",
1039+ "ID_PART_ENTRY_DISK": "8:0",
1040+ "ID_PART_ENTRY_NUMBER": "2",
1041+ "ID_PART_ENTRY_OFFSET": "1050624",
1042+ "ID_PART_ENTRY_SCHEME": "gpt",
1043+ "ID_PART_ENTRY_SIZE": "1952474511",
1044+ "ID_PART_ENTRY_TYPE": "0fc63daf-8483-4772-8e79-3d69d8477de4",
1045+ "ID_PART_ENTRY_UUID": "a72a5edb-0b7a-4fd6-a928-b02d79dc7c12",
1046+ "ID_PART_TABLE_TYPE": "gpt",
1047+ "ID_PART_TABLE_UUID": "c46c7073-cde8-4c80-a200-340fac7bbf78",
1048+ "ID_PATH": "pci-0000:00:11.5-ata-4",
1049+ "ID_PATH_TAG": "pci-0000_00_11_5-ata-4",
1050+ "ID_REVISION": "A810",
1051+ "ID_SCSI": "1",
1052+ "ID_SCSI_INQUIRY": "1",
1053+ "ID_SERIAL": "TOSHIBA_DT01ACA100_Y6AKDK9MS",
1054+ "ID_SERIAL_SHORT": "Y6AKDK9MS",
1055+ "ID_TYPE": "disk",
1056+ "ID_VENDOR": "ATA",
1057+ "ID_VENDOR_ENC": "ATA\\x20\\x20\\x20\\x20\\x20",
1058+ "ID_WWN": "0x5000039febf22ff6",
1059+ "ID_WWN_WITH_EXTENSION": "0x5000039febf22ff6",
1060+ "MAJOR": "8",
1061+ "MINOR": "2",
1062+ "PARTN": "2",
1063+ "SCSI_IDENT_LUN_ATA": "TOSHIBA_DT01ACA100_Y6AKDK9MS",
1064+ "SCSI_IDENT_LUN_NAA_REG": "5000039febf22ff6",
1065+ "SCSI_IDENT_LUN_T10": "ATA_TOSHIBA_DT01ACA100_Y6AKDK9MS",
1066+ "SCSI_IDENT_LUN_VENDOR": "Y6AKDK9MS",
1067+ "SCSI_IDENT_SERIAL": "Y6AKDK9MS",
1068+ "SCSI_MODEL": "TOSHIBA_DT01ACA1",
1069+ "SCSI_MODEL_ENC": "TOSHIBA\\x20DT01ACA1",
1070+ "SCSI_REVISION": "A810",
1071+ "SCSI_TPGS": "0",
1072+ "SCSI_TYPE": "disk",
1073+ "SCSI_VENDOR": "ATA",
1074+ "SCSI_VENDOR_ENC": "ATA\\x20\\x20\\x20\\x20\\x20",
1075+ "SUBSYSTEM": "block",
1076+ "TAGS": ":systemd:",
1077+ "USEC_INITIALIZED": "8091231",
1078+ "attrs": {
1079+ "alignment_offset": "0",
1080+ "dev": "8:2",
1081+ "discard_alignment": "0",
1082+ "inflight": " 0 0",
1083+ "partition": "2",
1084+ "ro": "0",
1085+ "size": "999666949632",
1086+ "start": "1050624",
1087+ "stat": " 20119 9002 1940791 387824 20845 33949 1614008 492383 0 293872 880207 0 0 0 0 0 0",
1088+ "subsystem": "block",
1089+ "uevent": "MAJOR=8\nMINOR=2\nDEVNAME=sda2\nDEVTYPE=partition\nPARTN=2"
1090+ }
1091+ },
1092+ "/dev/sdb": {
1093+ "DEVLINKS": "/dev/disk/by-id/scsi-0ATA_TOSHIBA_DT01ACA1_Z6NVLPBMS /dev/disk/by-id/wwn-0x5000039fedcc17ce /dev/disk/by-path/pci-0000:00:11.5-ata-5 /dev/disk/by-id/scsi-35000039fedcc17ce /dev/disk/by-dname/sdb /dev/disk/by-id/scsi-SATA_TOSHIBA_DT01ACA1_Z6NVLPBMS /dev/disk/by-id/scsi-1ATA_TOSHIBA_DT01ACA100_Z6NVLPBMS /dev/disk/by-id/ata-TOSHIBA_DT01ACA100_Z6NVLPBMS",
1094+ "DEVNAME": "/dev/sdb",
1095+ "DEVPATH": "/devices/pci0000:00/0000:00:11.5/ata5/host4/target4:0:0/4:0:0:0/block/sdb",
1096+ "DEVTYPE": "disk",
1097+ "DM_MULTIPATH_DEVICE_PATH": "0",
1098+ "ID_ATA": "1",
1099+ "ID_BUS": "ata",
1100+ "ID_MODEL": "TOSHIBA_DT01ACA1",
1101+ "ID_MODEL_ENC": "TOSHIBA\\x20DT01ACA1",
1102+ "ID_PATH": "pci-0000:00:11.5-ata-5",
1103+ "ID_PATH_TAG": "pci-0000_00_11_5-ata-5",
1104+ "ID_REVISION": "A810",
1105+ "ID_SCSI": "1",
1106+ "ID_SCSI_INQUIRY": "1",
1107+ "ID_SERIAL": "TOSHIBA_DT01ACA100_Z6NVLPBMS",
1108+ "ID_SERIAL_SHORT": "Z6NVLPBMS",
1109+ "ID_TYPE": "disk",
1110+ "ID_VENDOR": "ATA",
1111+ "ID_VENDOR_ENC": "ATA\\x20\\x20\\x20\\x20\\x20",
1112+ "ID_WWN": "0x5000039fedcc17ce",
1113+ "ID_WWN_WITH_EXTENSION": "0x5000039fedcc17ce",
1114+ "MAJOR": "8",
1115+ "MINOR": "16",
1116+ "MPATH_SBIN_PATH": "/sbin",
1117+ "SCSI_IDENT_LUN_ATA": "TOSHIBA_DT01ACA100_Z6NVLPBMS",
1118+ "SCSI_IDENT_LUN_NAA_REG": "5000039fedcc17ce",
1119+ "SCSI_IDENT_LUN_T10": "ATA_TOSHIBA_DT01ACA100_Z6NVLPBMS",
1120+ "SCSI_IDENT_LUN_VENDOR": "Z6NVLPBMS",
1121+ "SCSI_IDENT_SERIAL": "Z6NVLPBMS",
1122+ "SCSI_MODEL": "TOSHIBA_DT01ACA1",
1123+ "SCSI_MODEL_ENC": "TOSHIBA\\x20DT01ACA1",
1124+ "SCSI_REVISION": "A810",
1125+ "SCSI_TPGS": "0",
1126+ "SCSI_TYPE": "disk",
1127+ "SCSI_VENDOR": "ATA",
1128+ "SCSI_VENDOR_ENC": "ATA\\x20\\x20\\x20\\x20\\x20",
1129+ "SUBSYSTEM": "block",
1130+ "TAGS": ":systemd:",
1131+ "USEC_INITIALIZED": "8444710",
1132+ "attrs": {
1133+ "alignment_offset": "0",
1134+ "bdi": null,
1135+ "capability": "50",
1136+ "dev": "8:16",
1137+ "device": null,
1138+ "discard_alignment": "0",
1139+ "events": "",
1140+ "events_async": "",
1141+ "events_poll_msecs": "-1",
1142+ "ext_range": "256",
1143+ "hidden": "0",
1144+ "inflight": " 0 0",
1145+ "range": "16",
1146+ "removable": "0",
1147+ "ro": "0",
1148+ "size": "1000204886016",
1149+ "stat": " 772 0 40882 25598 0 0 0 0 0 25956 25598 0 0 0 0 0 0",
1150+ "subsystem": "block",
1151+ "uevent": "MAJOR=8\nMINOR=16\nDEVNAME=sdb\nDEVTYPE=disk"
1152+ }
1153+ },
1154+ "/dev/sdc": {
1155+ "DEVLINKS": "/dev/disk/by-dname/sdc /dev/disk/by-path/pci-0000:00:14.0-usb-0:1:1.0-scsi-0:0:0:0 /dev/disk/by-id/usb-SanDisk_Ultra_USB_3.0_4C530000021125101524-0:0",
1156+ "DEVNAME": "/dev/sdc",
1157+ "DEVPATH": "/devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/host6/target6:0:0/6:0:0:0/block/sdc",
1158+ "DEVTYPE": "disk",
1159+ "ID_BUS": "usb",
1160+ "ID_INSTANCE": "0:0",
1161+ "ID_MODEL": "Ultra_USB_3.0",
1162+ "ID_MODEL_ENC": "Ultra\\x20USB\\x203.0\\x20\\x20\\x20",
1163+ "ID_MODEL_ID": "5591",
1164+ "ID_PATH": "pci-0000:00:14.0-usb-0:1:1.0-scsi-0:0:0:0",
1165+ "ID_PATH_TAG": "pci-0000_00_14_0-usb-0_1_1_0-scsi-0_0_0_0",
1166+ "ID_REVISION": "1.00",
1167+ "ID_SCSI": "1",
1168+ "ID_SCSI_INQUIRY": "1",
1169+ "ID_SERIAL": "SanDisk_Ultra_USB_3.0_4C530000021125101524-0:0",
1170+ "ID_SERIAL_SHORT": "4C530000021125101524",
1171+ "ID_TYPE": "disk",
1172+ "ID_USB_DRIVER": "usb-storage",
1173+ "ID_USB_INTERFACES": ":080650:",
1174+ "ID_USB_INTERFACE_NUM": "00",
1175+ "ID_VENDOR": "SanDisk",
1176+ "ID_VENDOR_ENC": "SanDisk\\x20",
1177+ "ID_VENDOR_ID": "0781",
1178+ "MAJOR": "8",
1179+ "MINOR": "32",
1180+ "MPATH_SBIN_PATH": "/sbin",
1181+ "SCSI_MODEL": "Ultra_USB_3.0",
1182+ "SCSI_MODEL_ENC": "Ultra\\x20USB\\x203.0\\x20\\x20\\x20",
1183+ "SCSI_REVISION": "1.00",
1184+ "SCSI_TPGS": "0",
1185+ "SCSI_TYPE": "disk",
1186+ "SCSI_VENDOR": "SanDisk",
1187+ "SCSI_VENDOR_ENC": "SanDisk\\x20",
1188+ "SUBSYSTEM": "block",
1189+ "TAGS": ":systemd:",
1190+ "USEC_INITIALIZED": "8372938",
1191+ "attrs": {
1192+ "alignment_offset": "0",
1193+ "bdi": null,
1194+ "capability": "51",
1195+ "dev": "8:32",
1196+ "device": null,
1197+ "discard_alignment": "0",
1198+ "events": "media_change",
1199+ "events_async": "",
1200+ "events_poll_msecs": "-1",
1201+ "ext_range": "256",
1202+ "hidden": "0",
1203+ "inflight": " 0 0",
1204+ "range": "16",
1205+ "removable": "1",
1206+ "ro": "0",
1207+ "size": "15376318464",
1208+ "stat": " 668 0 37664 590 0 0 0 0 0 704 590 0 0 0 0 0 0",
1209+ "subsystem": "block",
1210+ "uevent": "MAJOR=8\nMINOR=32\nDEVNAME=sdc\nDEVTYPE=disk"
1211+ }
1212+ },
1213+ "/dev/sr0": {
1214+ "DEVLINKS": "/dev/cdrom /dev/disk/by-path/pci-0000:00:17.0-ata-8 /dev/disk/by-id/wwn-0x5001480000000000 /dev/dvdrw /dev/cdrw /dev/disk/by-id/ata-HL-DT-ST_DVD+_-RW_GU90N_KZKGAU90643 /dev/dvd",
1215+ "DEVNAME": "/dev/sr0",
1216+ "DEVPATH": "/devices/pci0000:00/0000:00:17.0/ata14/host14/target14:0:0/14:0:0:0/block/sr0",
1217+ "DEVTYPE": "disk",
1218+ "ID_ATA": "1",
1219+ "ID_ATA_FEATURE_SET_PM": "1",
1220+ "ID_ATA_FEATURE_SET_PM_ENABLED": "1",
1221+ "ID_ATA_SATA": "1",
1222+ "ID_ATA_SATA_SIGNAL_RATE_GEN1": "1",
1223+ "ID_BUS": "ata",
1224+ "ID_CDROM": "1",
1225+ "ID_CDROM_CD": "1",
1226+ "ID_CDROM_CD_R": "1",
1227+ "ID_CDROM_CD_RW": "1",
1228+ "ID_CDROM_DVD": "1",
1229+ "ID_CDROM_DVD_PLUS_R": "1",
1230+ "ID_CDROM_DVD_PLUS_RW": "1",
1231+ "ID_CDROM_DVD_PLUS_R_DL": "1",
1232+ "ID_CDROM_DVD_R": "1",
1233+ "ID_CDROM_DVD_RAM": "1",
1234+ "ID_CDROM_DVD_RW": "1",
1235+ "ID_CDROM_MRW": "1",
1236+ "ID_CDROM_MRW_W": "1",
1237+ "ID_FOR_SEAT": "block-pci-0000_00_17_0-ata-8",
1238+ "ID_MODEL": "HL-DT-ST_DVD+_-RW_GU90N",
1239+ "ID_MODEL_ENC": "HL-DT-ST\\x20DVD+\\x2f-RW\\x20GU90N\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20",
1240+ "ID_PATH": "pci-0000:00:17.0-ata-8",
1241+ "ID_PATH_TAG": "pci-0000_00_17_0-ata-8",
1242+ "ID_REVISION": "A3C0",
1243+ "ID_SCSI": "1",
1244+ "ID_SCSI_INQUIRY": "1",
1245+ "ID_SERIAL": "HL-DT-ST_DVD+_-RW_GU90N_KZKGAU90643",
1246+ "ID_SERIAL_SHORT": "KZKGAU90643",
1247+ "ID_TYPE": "cd",
1248+ "ID_VENDOR": "HL-DT-ST",
1249+ "ID_VENDOR_ENC": "HL-DT-ST",
1250+ "ID_WWN": "0x5001480000000000",
1251+ "ID_WWN_WITH_EXTENSION": "0x5001480000000000",
1252+ "MAJOR": "11",
1253+ "MINOR": "0",
1254+ "SCSI_MODEL": "DVD+-RW_GU90N",
1255+ "SCSI_MODEL_ENC": "DVD+-RW\\x20GU90N\\x20\\x20\\x20",
1256+ "SCSI_REVISION": "A3C0",
1257+ "SCSI_TPGS": "0",
1258+ "SCSI_TYPE": "cd/dvd",
1259+ "SCSI_VENDOR": "HL-DT-ST",
1260+ "SCSI_VENDOR_ENC": "HL-DT-ST",
1261+ "SUBSYSTEM": "block",
1262+ "SYSTEMD_MOUNT_DEVICE_BOUND": "1",
1263+ "TAGS": ":uaccess:systemd:seat:",
1264+ "USEC_INITIALIZED": "10374322",
1265+ "attrs": {
1266+ "alignment_offset": "0",
1267+ "bdi": null,
1268+ "capability": "119",
1269+ "dev": "11:0",
1270+ "device": null,
1271+ "discard_alignment": "0",
1272+ "events": "media_change eject_request",
1273+ "events_async": "",
1274+ "events_poll_msecs": "-1",
1275+ "ext_range": "1",
1276+ "hidden": "0",
1277+ "inflight": " 0 0",
1278+ "range": "1",
1279+ "removable": "1",
1280+ "ro": "0",
1281+ "size": "1073741312",
1282+ "stat": " 11 0 5 27 0 0 0 0 0 52 27 0 0 0 0 0 0",
1283+ "subsystem": "block",
1284+ "uevent": "MAJOR=11\nMINOR=0\nDEVNAME=sr0\nDEVTYPE=disk"
1285+ }
1286+ }
1287+ },
1288+ "dasd": {},
1289+ "dmcrypt": {},
1290+ "filesystem": {
1291+ "/dev/sda1": {
1292+ "LABEL": "efi",
1293+ "LABEL_ENC": "efi",
1294+ "TYPE": "vfat",
1295+ "USAGE": "filesystem",
1296+ "UUID": "AAE5-D3B4",
1297+ "UUID_ENC": "AAE5-D3B4",
1298+ "VERSION": "FAT32"
1299+ },
1300+ "/dev/sda2": {
1301+ "LABEL": "root",
1302+ "LABEL_ENC": "root",
1303+ "TYPE": "ext4",
1304+ "USAGE": "filesystem",
1305+ "UUID": "651d27d7-13f2-4ca6-a798-ca8deb8f4f1c",
1306+ "UUID_ENC": "651d27d7-13f2-4ca6-a798-ca8deb8f4f1c",
1307+ "VERSION": "1.0"
1308+ }
1309+ },
1310+ "lvm": {},
1311+ "mount": [
1312+ {
1313+ "children": [
1314+ {
1315+ "children": [
1316+ {
1317+ "fstype": "securityfs",
1318+ "options": "rw,nosuid,nodev,noexec,relatime",
1319+ "source": "securityfs",
1320+ "target": "/sys/kernel/security"
1321+ },
1322+ {
1323+ "children": [
1324+ {
1325+ "fstype": "cgroup2",
1326+ "options": "rw,nosuid,nodev,noexec,relatime,nsdelegate",
1327+ "source": "cgroup2",
1328+ "target": "/sys/fs/cgroup/unified"
1329+ },
1330+ {
1331+ "fstype": "cgroup",
1332+ "options": "rw,nosuid,nodev,noexec,relatime,xattr,name=systemd",
1333+ "source": "cgroup",
1334+ "target": "/sys/fs/cgroup/systemd"
1335+ },
1336+ {
1337+ "fstype": "cgroup",
1338+ "options": "rw,nosuid,nodev,noexec,relatime,cpu,cpuacct",
1339+ "source": "cgroup",
1340+ "target": "/sys/fs/cgroup/cpu,cpuacct"
1341+ },
1342+ {
1343+ "fstype": "cgroup",
1344+ "options": "rw,nosuid,nodev,noexec,relatime,net_cls,net_prio",
1345+ "source": "cgroup",
1346+ "target": "/sys/fs/cgroup/net_cls,net_prio"
1347+ },
1348+ {
1349+ "fstype": "cgroup",
1350+ "options": "rw,nosuid,nodev,noexec,relatime,devices",
1351+ "source": "cgroup",
1352+ "target": "/sys/fs/cgroup/devices"
1353+ },
1354+ {
1355+ "fstype": "cgroup",
1356+ "options": "rw,nosuid,nodev,noexec,relatime,rdma",
1357+ "source": "cgroup",
1358+ "target": "/sys/fs/cgroup/rdma"
1359+ },
1360+ {
1361+ "fstype": "cgroup",
1362+ "options": "rw,nosuid,nodev,noexec,relatime,perf_event",
1363+ "source": "cgroup",
1364+ "target": "/sys/fs/cgroup/perf_event"
1365+ },
1366+ {
1367+ "fstype": "cgroup",
1368+ "options": "rw,nosuid,nodev,noexec,relatime,pids",
1369+ "source": "cgroup",
1370+ "target": "/sys/fs/cgroup/pids"
1371+ },
1372+ {
1373+ "fstype": "cgroup",
1374+ "options": "rw,nosuid,nodev,noexec,relatime,freezer",
1375+ "source": "cgroup",
1376+ "target": "/sys/fs/cgroup/freezer"
1377+ },
1378+ {
1379+ "fstype": "cgroup",
1380+ "options": "rw,nosuid,nodev,noexec,relatime,blkio",
1381+ "source": "cgroup",
1382+ "target": "/sys/fs/cgroup/blkio"
1383+ },
1384+ {
1385+ "fstype": "cgroup",
1386+ "options": "rw,nosuid,nodev,noexec,relatime,hugetlb",
1387+ "source": "cgroup",
1388+ "target": "/sys/fs/cgroup/hugetlb"
1389+ },
1390+ {
1391+ "fstype": "cgroup",
1392+ "options": "rw,nosuid,nodev,noexec,relatime,memory",
1393+ "source": "cgroup",
1394+ "target": "/sys/fs/cgroup/memory"
1395+ },
1396+ {
1397+ "fstype": "cgroup",
1398+ "options": "rw,nosuid,nodev,noexec,relatime,cpuset",
1399+ "source": "cgroup",
1400+ "target": "/sys/fs/cgroup/cpuset"
1401+ }
1402+ ],
1403+ "fstype": "tmpfs",
1404+ "options": "ro,nosuid,nodev,noexec,mode=755",
1405+ "source": "tmpfs",
1406+ "target": "/sys/fs/cgroup"
1407+ },
1408+ {
1409+ "fstype": "pstore",
1410+ "options": "rw,nosuid,nodev,noexec,relatime",
1411+ "source": "pstore",
1412+ "target": "/sys/fs/pstore"
1413+ },
1414+ {
1415+ "fstype": "efivarfs",
1416+ "options": "rw,nosuid,nodev,noexec,relatime",
1417+ "source": "efivarfs",
1418+ "target": "/sys/firmware/efi/efivars"
1419+ },
1420+ {
1421+ "fstype": "bpf",
1422+ "options": "rw,nosuid,nodev,noexec,relatime,mode=700",
1423+ "source": "none",
1424+ "target": "/sys/fs/bpf"
1425+ },
1426+ {
1427+ "fstype": "debugfs",
1428+ "options": "rw,nosuid,nodev,noexec,relatime",
1429+ "source": "debugfs",
1430+ "target": "/sys/kernel/debug"
1431+ },
1432+ {
1433+ "fstype": "tracefs",
1434+ "options": "rw,nosuid,nodev,noexec,relatime",
1435+ "source": "tracefs",
1436+ "target": "/sys/kernel/tracing"
1437+ },
1438+ {
1439+ "fstype": "fusectl",
1440+ "options": "rw,nosuid,nodev,noexec,relatime",
1441+ "source": "fusectl",
1442+ "target": "/sys/fs/fuse/connections"
1443+ },
1444+ {
1445+ "fstype": "configfs",
1446+ "options": "rw,nosuid,nodev,noexec,relatime",
1447+ "source": "configfs",
1448+ "target": "/sys/kernel/config"
1449+ }
1450+ ],
1451+ "fstype": "sysfs",
1452+ "options": "rw,nosuid,nodev,noexec,relatime",
1453+ "source": "sysfs",
1454+ "target": "/sys"
1455+ },
1456+ {
1457+ "children": [
1458+ {
1459+ "fstype": "autofs",
1460+ "options": "rw,relatime,fd=28,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=21402",
1461+ "source": "systemd-1",
1462+ "target": "/proc/sys/fs/binfmt_misc"
1463+ }
1464+ ],
1465+ "fstype": "proc",
1466+ "options": "rw,nosuid,nodev,noexec,relatime",
1467+ "source": "proc",
1468+ "target": "/proc"
1469+ },
1470+ {
1471+ "children": [
1472+ {
1473+ "fstype": "devpts",
1474+ "options": "rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000",
1475+ "source": "devpts",
1476+ "target": "/dev/pts"
1477+ },
1478+ {
1479+ "fstype": "tmpfs",
1480+ "options": "rw,nosuid,nodev",
1481+ "source": "tmpfs",
1482+ "target": "/dev/shm"
1483+ },
1484+ {
1485+ "fstype": "mqueue",
1486+ "options": "rw,nosuid,nodev,noexec,relatime",
1487+ "source": "mqueue",
1488+ "target": "/dev/mqueue"
1489+ },
1490+ {
1491+ "fstype": "hugetlbfs",
1492+ "options": "rw,relatime,pagesize=2M",
1493+ "source": "hugetlbfs",
1494+ "target": "/dev/hugepages"
1495+ }
1496+ ],
1497+ "fstype": "devtmpfs",
1498+ "options": "rw,nosuid,noexec,relatime,size=3762756k,nr_inodes=940689,mode=755",
1499+ "source": "udev",
1500+ "target": "/dev"
1501+ },
1502+ {
1503+ "children": [
1504+ {
1505+ "fstype": "tmpfs",
1506+ "options": "rw,nosuid,nodev,noexec,relatime,size=5120k",
1507+ "source": "tmpfs",
1508+ "target": "/run/lock"
1509+ },
1510+ {
1511+ "children": [
1512+ {
1513+ "fstype": "fuse.gvfsd-fuse",
1514+ "options": "rw,nosuid,nodev,relatime,user_id=1000,group_id=1000",
1515+ "source": "gvfsd-fuse",
1516+ "target": "/run/user/1000/gvfs"
1517+ }
1518+ ],
1519+ "fstype": "tmpfs",
1520+ "options": "rw,nosuid,nodev,relatime,size=758920k,mode=700,uid=1000,gid=1000",
1521+ "source": "tmpfs",
1522+ "target": "/run/user/1000"
1523+ }
1524+ ],
1525+ "fstype": "tmpfs",
1526+ "options": "rw,nosuid,nodev,noexec,relatime,size=758924k,mode=755",
1527+ "source": "tmpfs",
1528+ "target": "/run"
1529+ },
1530+ {
1531+ "fstype": "vfat",
1532+ "options": "rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro",
1533+ "source": "/dev/sda1",
1534+ "target": "/boot/efi"
1535+ },
1536+ {
1537+ "fstype": "squashfs",
1538+ "options": "ro,nodev,relatime",
1539+ "source": "/dev/loop0",
1540+ "target": "/snap/core18/1997"
1541+ },
1542+ {
1543+ "fstype": "squashfs",
1544+ "options": "ro,nodev,relatime",
1545+ "source": "/dev/loop3",
1546+ "target": "/snap/snap-store/518"
1547+ },
1548+ {
1549+ "fstype": "squashfs",
1550+ "options": "ro,nodev,relatime",
1551+ "source": "/dev/loop1",
1552+ "target": "/snap/gnome-3-28-1804/145"
1553+ },
1554+ {
1555+ "fstype": "squashfs",
1556+ "options": "ro,nodev,relatime",
1557+ "source": "/dev/loop2",
1558+ "target": "/snap/gnome-3-34-1804/60"
1559+ },
1560+ {
1561+ "fstype": "squashfs",
1562+ "options": "ro,nodev,relatime",
1563+ "source": "/dev/loop4",
1564+ "target": "/snap/snapd/11588"
1565+ },
1566+ {
1567+ "fstype": "squashfs",
1568+ "options": "ro,nodev,relatime",
1569+ "source": "/dev/loop6",
1570+ "target": "/snap/gnome-3-34-1804/66"
1571+ },
1572+ {
1573+ "fstype": "squashfs",
1574+ "options": "ro,nodev,relatime",
1575+ "source": "/dev/loop5",
1576+ "target": "/snap/snap-store/498"
1577+ },
1578+ {
1579+ "fstype": "squashfs",
1580+ "options": "ro,nodev,relatime",
1581+ "source": "/dev/loop8",
1582+ "target": "/snap/snapd/11841"
1583+ },
1584+ {
1585+ "fstype": "squashfs",
1586+ "options": "ro,nodev,relatime",
1587+ "source": "/dev/loop9",
1588+ "target": "/snap/gtk-common-themes/1515"
1589+ },
1590+ {
1591+ "fstype": "squashfs",
1592+ "options": "ro,nodev,relatime",
1593+ "source": "/dev/loop10",
1594+ "target": "/snap/gnome-3-28-1804/128"
1595+ },
1596+ {
1597+ "fstype": "squashfs",
1598+ "options": "ro,nodev,relatime",
1599+ "source": "/dev/loop7",
1600+ "target": "/snap/gtk-common-themes/1514"
1601+ },
1602+ {
1603+ "fstype": "squashfs",
1604+ "options": "ro,nodev,relatime",
1605+ "source": "/dev/loop11",
1606+ "target": "/snap/core18/2066"
1607+ }
1608+ ],
1609+ "fstype": "ext4",
1610+ "options": "rw,relatime",
1611+ "source": "/dev/sda2",
1612+ "target": "/"
1613+ }
1614+ ],
1615+ "multipath": {
1616+ "paths": [
1617+ {
1618+ "device": "sda",
1619+ "host_adapter": "[undef]",
1620+ "host_wwnn": "[undef]",
1621+ "host_wwpn": "[undef]",
1622+ "multipath": "[orphan]",
1623+ "serial": "Y6AKDK9MS",
1624+ "target_wwnn": "ata-4.00",
1625+ "target_wwpn": "[undef]"
1626+ },
1627+ {
1628+ "device": "sdb",
1629+ "host_adapter": "[undef]",
1630+ "host_wwnn": "[undef]",
1631+ "host_wwpn": "[undef]",
1632+ "multipath": "[orphan]",
1633+ "serial": "Z6NVLPBMS",
1634+ "target_wwnn": "ata-5.00",
1635+ "target_wwpn": "[undef]"
1636+ },
1637+ {
1638+ "device": "nvme0n1",
1639+ "host_adapter": "[undef]",
1640+ "host_wwnn": "[undef]",
1641+ "host_wwpn": "[undef]",
1642+ "multipath": "[orphan]",
1643+ "serial": "171877421152 ",
1644+ "target_wwnn": "[undef]",
1645+ "target_wwpn": "[undef]"
1646+ },
1647+ {
1648+ "device": "nvme1n1",
1649+ "host_adapter": "[undef]",
1650+ "host_wwnn": "[undef]",
1651+ "host_wwpn": "[undef]",
1652+ "multipath": "[orphan]",
1653+ "serial": "171877424191 ",
1654+ "target_wwnn": "[undef]",
1655+ "target_wwpn": "[undef]"
1656+ }
1657+ ]
1658+ },
1659+ "raid": {
1660+ "/dev/md126": {
1661+ "DEVLINKS": "/dev/disk/by-id/md-uuid-ac4bee3d:2607dd80:76f9390f:f2d72638 /dev/md/subvol",
1662+ "DEVNAME": "/dev/md126",
1663+ "DEVPATH": "/devices/virtual/block/md126",
1664+ "DEVTYPE": "disk",
1665+ "MAJOR": "9",
1666+ "MD_CONTAINER": "/dev/md/container",
1667+ "MD_DEVICES": "2",
1668+ "MD_DEVICE_ev_nvme0n1_DEV": "/dev/nvme0n1",
1669+ "MD_DEVICE_ev_nvme0n1_ROLE": "0",
1670+ "MD_DEVICE_ev_nvme1n1_DEV": "/dev/nvme1n1",
1671+ "MD_DEVICE_ev_nvme1n1_ROLE": "1",
1672+ "MD_DEVNAME": "subvol",
1673+ "MD_LEVEL": "raid0",
1674+ "MD_MEMBER": "0",
1675+ "MD_UUID": "ac4bee3d:2607dd80:76f9390f:f2d72638",
1676+ "MINOR": "126",
1677+ "SUBSYSTEM": "block",
1678+ "SYSTEMD_READY": "0",
1679+ "TAGS": ":systemd:",
1680+ "UDISKS_MD_CONTAINER": "/dev/md/container",
1681+ "UDISKS_MD_DEVICES": "2",
1682+ "UDISKS_MD_DEVICE_ev_nvme0n1_DEV": "/dev/nvme0n1",
1683+ "UDISKS_MD_DEVICE_ev_nvme0n1_ROLE": "0",
1684+ "UDISKS_MD_DEVICE_ev_nvme1n1_DEV": "/dev/nvme1n1",
1685+ "UDISKS_MD_DEVICE_ev_nvme1n1_ROLE": "1",
1686+ "UDISKS_MD_DEVNAME": "subvol",
1687+ "UDISKS_MD_LEVEL": "raid0",
1688+ "UDISKS_MD_MEMBER": "0",
1689+ "UDISKS_MD_UUID": "ac4bee3d:2607dd80:76f9390f:f2d72638",
1690+ "USEC_INITIALIZED": "9797274925",
1691+ "container": "/dev/md/container",
1692+ "raidlevel": "raid0",
1693+ "size": "214748364800"
1694+ },
1695+ "/dev/md127": {
1696+ "DEVLINKS": "/dev/disk/by-id/md-uuid-00000000:00000000:00000000:00000000 /dev/md/container",
1697+ "DEVNAME": "/dev/md127",
1698+ "DEVPATH": "/devices/virtual/block/md127",
1699+ "DEVTYPE": "disk",
1700+ "MAJOR": "9",
1701+ "MD_DEVICES": "2",
1702+ "MD_DEVICE_ev_nvme0n1_DEV": "/dev/nvme0n1",
1703+ "MD_DEVICE_ev_nvme0n1_ROLE": "spare",
1704+ "MD_DEVICE_ev_nvme1n1_DEV": "/dev/nvme1n1",
1705+ "MD_DEVICE_ev_nvme1n1_ROLE": "spare",
1706+ "MD_DEVNAME": "container",
1707+ "MD_LEVEL": "container",
1708+ "MD_METADATA": "imsm",
1709+ "MD_UUID": "00000000:00000000:00000000:00000000",
1710+ "MINOR": "127",
1711+ "SUBSYSTEM": "block",
1712+ "SYSTEMD_READY": "0",
1713+ "TAGS": ":systemd:",
1714+ "UDISKS_MD_DEVICES": "2",
1715+ "UDISKS_MD_DEVICE_ev_nvme0n1_DEV": "/dev/nvme0n1",
1716+ "UDISKS_MD_DEVICE_ev_nvme0n1_ROLE": "spare",
1717+ "UDISKS_MD_DEVICE_ev_nvme1n1_DEV": "/dev/nvme1n1",
1718+ "UDISKS_MD_DEVICE_ev_nvme1n1_ROLE": "spare",
1719+ "UDISKS_MD_DEVNAME": "container",
1720+ "UDISKS_MD_LEVEL": "container",
1721+ "UDISKS_MD_METADATA": "imsm",
1722+ "UDISKS_MD_UUID": "00000000:00000000:00000000:00000000",
1723+ "USEC_INITIALIZED": "9783286242",
1724+ "devices": [
1725+ "/dev/nvme0n1",
1726+ "/dev/nvme1n1"
1727+ ],
1728+ "raidlevel": "container",
1729+ "size": "0",
1730+ "spare_devices": []
1731+ }
1732+ },
1733+ "zfs": {
1734+ "zpools": {}
1735+ }
1736+ }
1737+}
1738diff --git a/tests/unittests/test_storage_config.py b/tests/unittests/test_storage_config.py
1739index 4c0e272..83a47d9 100644
1740--- a/tests/unittests/test_storage_config.py
1741+++ b/tests/unittests/test_storage_config.py
1742@@ -651,15 +651,14 @@ class TestLvmParser(CiTestCase):
1743
1744 class TestRaidParser(CiTestCase):
1745
1746- def setUp(self):
1747- super(TestRaidParser, self).setUp()
1748- self.probe_data = _get_data('probert_storage_mdadm_bcache.json')
1749- self.raidp = RaidParser(self.probe_data)
1750+ def _load(self, fname):
1751+ probe_data = _get_data(fname)
1752+ return RaidParser(probe_data), probe_data
1753
1754 def test_raid_parser(self):
1755 """ RaidParser 'class_data' on instance matches input. """
1756- self.assertDictEqual(self.probe_data['raid'],
1757- self.raidp.class_data)
1758+ raidp, probe_data = self._load('probert_storage_mdadm_bcache.json')
1759+ self.assertDictEqual(probe_data['raid'], raidp.class_data)
1760
1761 def test_raid_asdict(self):
1762 """ RaidParser converts known raid_data to expected dict. """
1763@@ -668,20 +667,49 @@ class TestRaidParser(CiTestCase):
1764 'type': 'raid',
1765 'id': 'raid-md0',
1766 'name': 'md0',
1767+ 'metadata': '1.2',
1768 'raidlevel': 'raid5',
1769 'devices': ['disk-vde', 'disk-vdf', 'disk-vdg'],
1770 'spare_devices': [],
1771 }
1772- raid_data = self.raidp.class_data[devname]
1773- self.assertDictEqual(expected_dict, self.raidp.asdict(raid_data))
1774+ raidp, _ = self._load('probert_storage_mdadm_bcache.json')
1775+ raid_data = raidp.class_data[devname]
1776+ self.assertDictEqual(expected_dict, raidp.asdict(raid_data))
1777
1778 @skipUnlessJsonSchema()
1779 def test_raid_parser_parses_all_lvs_vgs(self):
1780 """ RaidParser returns expected dicts for known raid probe data."""
1781- configs, errors = self.raidp.parse()
1782+ raidp, _ = self._load('probert_storage_mdadm_bcache.json')
1783+ configs, errors = raidp.parse()
1784 self.assertEqual(1, len(configs))
1785 self.assertEqual(0, len(errors))
1786
1787+ def test_imsm_container(self):
1788+ raidp, probe_data = self._load('probert_storage_imsm.json')
1789+ container_raid_data = probe_data['raid']['/dev/md127']
1790+ container_expected = {
1791+ 'type': 'raid',
1792+ 'id': 'raid-md127',
1793+ 'name': 'md127',
1794+ 'metadata': 'imsm',
1795+ 'raidlevel': 'container',
1796+ 'devices': ['disk-nvme0n1', 'disk-nvme1n1'],
1797+ 'spare_devices': [],
1798+ }
1799+ self.assertEqual(container_expected, raidp.asdict(container_raid_data))
1800+
1801+ def test_imsm_volume(self):
1802+ raidp, probe_data = self._load('probert_storage_imsm.json')
1803+ container_raid_data = probe_data['raid']['/dev/md126']
1804+ container_expected = {
1805+ 'type': 'raid',
1806+ 'id': 'raid-md126',
1807+ 'name': 'md126',
1808+ 'raidlevel': 'raid0',
1809+ 'container': 'raid-md127',
1810+ }
1811+ self.assertEqual(container_expected, raidp.asdict(container_raid_data))
1812+
1813
1814 class TestDasdParser(CiTestCase):
1815
1816@@ -942,7 +970,7 @@ class TestExtractStorageConfig(CiTestCase):
1817 cfg['id'].startswith('raid')]
1818 self.assertEqual(1, len(raids))
1819 self.assertEqual(1, len(raid_partitions))
1820- self.assertEqual({'id': 'raid-md1', 'type': 'raid',
1821+ self.assertEqual({'id': 'raid-md1', 'type': 'raid', 'metadata': '1.2',
1822 'raidlevel': 'raid1', 'name': 'md1',
1823 'devices': ['partition-vdb1', 'partition-vdc1'],
1824 'spare_devices': []}, raids[0])

Subscribers

People subscribed via source and target branches