fix: inventory disk issue if size None
``` Traceback (most recent call last): File "/usr/bin/netbox_agent", line 33, in <module> sys.exit(load_entry_point('netbox-agent==0.7.1', 'console_scripts', 'netbox_agent')()) File "/opt/netbox-agent/lib/python3.6/site-packages/netbox_agent/cli.py", line 50, in main return run(config) File "/opt/netbox-agent/lib/python3.6/site-packages/netbox_agent/cli.py", line 43, in run server.netbox_create_or_update(config) File "/opt/netbox-agent/lib/python3.6/site-packages/netbox_agent/server.py", line 417, in netbox_create_or_update self.inventory.create_or_update() File "/opt/netbox-agent/lib/python3.6/site-packages/netbox_agent/inventory.py", line 550, in create_or_update self.do_netbox_disks() File "/opt/netbox-agent/lib/python3.6/site-packages/netbox_agent/inventory.py", line 420, in do_netbox_disks disks = self.get_hw_disks() File "/opt/netbox-agent/lib/python3.6/site-packages/netbox_agent/inventory.py", line 344, in get_hw_disks size = int(disk.get('size', 0)) TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType' ```
This commit is contained in:
parent
79a08359ae
commit
0b9087fa41
1 changed files with 17 additions and 15 deletions
|
@ -341,21 +341,23 @@ class Inventory():
|
|||
for disk in self.lshw.get_hw_linux("storage"):
|
||||
if self.is_virtual_disk(disk, raid_devices):
|
||||
continue
|
||||
size =int(disk.get('size', 0)) / 1073741824
|
||||
d = {
|
||||
"name": "",
|
||||
'Size': '{} GB'.format(size),
|
||||
'logicalname': disk.get('logicalname'),
|
||||
'description': disk.get('description'),
|
||||
'SN': disk.get('serial'),
|
||||
'Model': disk.get('product'),
|
||||
'Type': disk.get('type'),
|
||||
}
|
||||
if disk.get('vendor'):
|
||||
d['Vendor'] = disk['vendor']
|
||||
else:
|
||||
d['Vendor'] = get_vendor(disk['product'])
|
||||
disks.append(d)
|
||||
size = int(getattr(disk, "size", 0))
|
||||
if size > 0:
|
||||
size /= 1073741824
|
||||
d = {
|
||||
"name": "",
|
||||
'Size': '{} GB'.format(size),
|
||||
'logicalname': disk.get('logicalname'),
|
||||
'description': disk.get('description'),
|
||||
'SN': disk.get('serial'),
|
||||
'Model': disk.get('product'),
|
||||
'Type': disk.get('type'),
|
||||
}
|
||||
if disk.get('vendor'):
|
||||
d['Vendor'] = disk['vendor']
|
||||
else:
|
||||
d['Vendor'] = get_vendor(disk['product'])
|
||||
disks.append(d)
|
||||
|
||||
# remove duplicate serials
|
||||
seen = set()
|
||||
|
|
Loading…
Reference in a new issue