diff options
author | Jose M. Guisado <jguisado@soleta.eu> | 2023-10-18 13:05:39 +0200 |
---|---|---|
committer | Jose M. Guisado <jguisado@soleta.eu> | 2023-10-18 13:32:24 +0200 |
commit | b49ec83bcde10ca6e0066ef5f01b636e11cb4d25 (patch) | |
tree | d35757d0530a01e35a5eebbe88d2c86fe5bf3b67 | |
parent | 59eac6d0d548b0c855d302f86558f94000a83a0d (diff) |
live: hw_inventory: fix empty pci storage size bug
When a client's hardware presents an empty pci storage child there is an
invalid call to _bytes_to_human a string is supplied as a default value
if the storage child does not present a 'size' attribute.
Fix this by checking if 'size' is present in the JSON output from lshw.
If size is present then map the bytes to a human readable string using
_bytes_to_human, if no size is present then use 'Empty slot' to indicate
that the memory bank is not being used.
-rw-r--r-- | src/utils/hw_inventory.py | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/utils/hw_inventory.py b/src/utils/hw_inventory.py index dff1c7a..23c8765 100644 --- a/src/utils/hw_inventory.py +++ b/src/utils/hw_inventory.py @@ -151,7 +151,7 @@ def _process_core_pci_network(inventory, obj): def _process_core_pci_storage_child(inventory, obj): obj_id = obj.get('id', '') if obj_id.startswith('disk') or obj_id.startswith('nvme'): - size = _bytes_to_human(obj.get('size', 'Unknown size')) + size = _bytes_to_human(obj['size']) if 'size' in obj else 'Unknown size' name = ' '.join([obj.get('description', ''), obj.get('product', 'Unknown product'), size]) elem = HardwareElement(HardwareType.DISK, name) inventory.add_element(elem) |