fix: privilege nvme-cli over lshw, fix NoneType size for nvme
This commit is contained in:
parent
07e9323f6a
commit
aab89b1b93
2 changed files with 23 additions and 16 deletions
|
|
@ -341,7 +341,9 @@ 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
|
||||
size = disk.get('size', 0)
|
||||
if size is not None:
|
||||
size = int(size) / 1073741824
|
||||
d = {
|
||||
"name": "",
|
||||
'Size': '{} GB'.format(size),
|
||||
|
|
|
|||
|
|
@ -86,18 +86,8 @@ class LSHW():
|
|||
})
|
||||
|
||||
def find_storage(self, obj):
|
||||
if "children" in obj:
|
||||
for device in obj["children"]:
|
||||
self.disks.append({
|
||||
"logicalname": device.get("logicalname"),
|
||||
"product": device.get("product"),
|
||||
"serial": device.get("serial"),
|
||||
"version": device.get("version"),
|
||||
"size": device.get("size"),
|
||||
"description": device.get("description"),
|
||||
"type": device.get("description"),
|
||||
})
|
||||
elif "nvme" in obj["configuration"]["driver"]:
|
||||
serials = []
|
||||
if "nvme" in obj["configuration"]["driver"]:
|
||||
if not is_tool('nvme'):
|
||||
logging.error('nvme-cli >= 1.0 does not seem to be installed')
|
||||
return
|
||||
|
|
@ -108,13 +98,14 @@ class LSHW():
|
|||
encoding='utf8')
|
||||
)
|
||||
for device in nvme["Devices"]:
|
||||
serials += device["SerialNumber"].strip()
|
||||
d = {
|
||||
'logicalname': device["DevicePath"],
|
||||
'product': device["ModelNumber"],
|
||||
'serial': device["SerialNumber"],
|
||||
'serial': device["SerialNumber"].strip(),
|
||||
"version": device["Firmware"],
|
||||
'description': "NVME",
|
||||
'type': "NVME",
|
||||
'description': "NVMe device",
|
||||
'type': "NVMe device",
|
||||
}
|
||||
if "UsedSize" in device:
|
||||
d['size'] = device["UsedSize"]
|
||||
|
|
@ -124,6 +115,20 @@ class LSHW():
|
|||
except Exception:
|
||||
pass
|
||||
|
||||
if "children" in obj:
|
||||
for device in obj["children"]:
|
||||
if device.get("serial").strip() in serials:
|
||||
continue
|
||||
self.disks.append({
|
||||
"logicalname": device.get("logicalname"),
|
||||
"product": device.get("product"),
|
||||
"serial": device.get("serial").strip(),
|
||||
"version": device.get("version"),
|
||||
"size": device.get("size"),
|
||||
"description": device.get("description"),
|
||||
"type": device.get("description"),
|
||||
})
|
||||
|
||||
def find_cpus(self, obj):
|
||||
if "product" in obj:
|
||||
self.cpus.append({
|
||||
|
|
|
|||
Loading…
Add table
editor.link_modal.header
Reference in a new issue