mirror of
https://github.com/kellyjonbrazil/jc.git
synced 2025-06-19 00:17:51 +02:00
add val fields and append device table flags to state
This commit is contained in:
@ -67,7 +67,8 @@ def _process(proc_data: Dict) -> Dict:
|
|||||||
'active_devices', 'working_devices', 'failed_devices', 'spare_devices',
|
'active_devices', 'working_devices', 'failed_devices', 'spare_devices',
|
||||||
'events', 'number', 'major', 'minor', 'raid_device', 'avail_dev_size_num',
|
'events', 'number', 'major', 'minor', 'raid_device', 'avail_dev_size_num',
|
||||||
'data_offset', 'super_offset', 'unused_space_before', 'unused_space_after',
|
'data_offset', 'super_offset', 'unused_space_before', 'unused_space_after',
|
||||||
'chunk_size', 'preferred_minor', 'check_status_percent', 'resync_status_percent'}
|
'chunk_size', 'preferred_minor', 'check_status_percent', 'resync_status_percent',
|
||||||
|
'rebuild_status_percent'}
|
||||||
|
|
||||||
array_state_map = {
|
array_state_map = {
|
||||||
'A': 'active',
|
'A': 'active',
|
||||||
@ -103,6 +104,9 @@ def _process(proc_data: Dict) -> Dict:
|
|||||||
if 'name' in proc_data:
|
if 'name' in proc_data:
|
||||||
proc_data['name_val'] = proc_data['name'].split(maxsplit=1)[0]
|
proc_data['name_val'] = proc_data['name'].split(maxsplit=1)[0]
|
||||||
|
|
||||||
|
if 'uuid' in proc_data:
|
||||||
|
proc_data['uuid_val'] = proc_data['uuid'].split(maxsplit=1)[0]
|
||||||
|
|
||||||
if 'checksum' in proc_data:
|
if 'checksum' in proc_data:
|
||||||
proc_data['checksum_val'] = proc_data['checksum'].split(maxsplit=1)[0]
|
proc_data['checksum_val'] = proc_data['checksum'].split(maxsplit=1)[0]
|
||||||
proc_data['checksum_state'] = proc_data['checksum'].split()[-1]
|
proc_data['checksum_state'] = proc_data['checksum'].split()[-1]
|
||||||
@ -129,6 +133,9 @@ def _process(proc_data: Dict) -> Dict:
|
|||||||
if 'check_status' in proc_data:
|
if 'check_status' in proc_data:
|
||||||
proc_data['check_status_percent'] = proc_data['check_status'].split('%')[0]
|
proc_data['check_status_percent'] = proc_data['check_status'].split('%')[0]
|
||||||
|
|
||||||
|
if 'rebuild_status' in proc_data:
|
||||||
|
proc_data['rebuild_status_percent'] = proc_data['rebuild_status'].split('%')[0]
|
||||||
|
|
||||||
# add timestamp fields
|
# add timestamp fields
|
||||||
if 'creation_time' in proc_data:
|
if 'creation_time' in proc_data:
|
||||||
dt = jc.utils.timestamp(proc_data['creation_time'], format_hint=(1000,))
|
dt = jc.utils.timestamp(proc_data['creation_time'], format_hint=(1000,))
|
||||||
@ -215,8 +222,12 @@ def parse(
|
|||||||
if 'RaidDevice' in item:
|
if 'RaidDevice' in item:
|
||||||
item['raid_device'] = item.pop('RaidDevice')
|
item['raid_device'] = item.pop('RaidDevice')
|
||||||
|
|
||||||
raw_output['device_table'] = d_table
|
if 'device' in item and item['device']:
|
||||||
|
if not item['device'].startswith('/'):
|
||||||
|
flags, dev = item['device'].rsplit(maxsplit=1)
|
||||||
|
item['device'] = dev
|
||||||
|
item['state'] = item['state'] + ' ' + flags
|
||||||
|
|
||||||
|
raw_output['device_table'] = d_table # type: ignore
|
||||||
|
|
||||||
return raw_output if raw else _process(raw_output)
|
return raw_output if raw else _process(raw_output)
|
||||||
|
Reference in New Issue
Block a user