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"):
|
for disk in self.lshw.get_hw_linux("storage"):
|
||||||
if self.is_virtual_disk(disk, raid_devices):
|
if self.is_virtual_disk(disk, raid_devices):
|
||||||
continue
|
continue
|
||||||
size =int(disk.get('size', 0)) / 1073741824
|
size = disk.get('size', 0)
|
||||||
|
if size is not None:
|
||||||
|
size = int(size) / 1073741824
|
||||||
d = {
|
d = {
|
||||||
"name": "",
|
"name": "",
|
||||||
'Size': '{} GB'.format(size),
|
'Size': '{} GB'.format(size),
|
||||||
|
|
|
||||||
|
|
@ -86,18 +86,8 @@ class LSHW():
|
||||||
})
|
})
|
||||||
|
|
||||||
def find_storage(self, obj):
|
def find_storage(self, obj):
|
||||||
if "children" in obj:
|
serials = []
|
||||||
for device in obj["children"]:
|
if "nvme" in obj["configuration"]["driver"]:
|
||||||
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"]:
|
|
||||||
if not is_tool('nvme'):
|
if not is_tool('nvme'):
|
||||||
logging.error('nvme-cli >= 1.0 does not seem to be installed')
|
logging.error('nvme-cli >= 1.0 does not seem to be installed')
|
||||||
return
|
return
|
||||||
|
|
@ -108,13 +98,14 @@ class LSHW():
|
||||||
encoding='utf8')
|
encoding='utf8')
|
||||||
)
|
)
|
||||||
for device in nvme["Devices"]:
|
for device in nvme["Devices"]:
|
||||||
|
serials += device["SerialNumber"].strip()
|
||||||
d = {
|
d = {
|
||||||
'logicalname': device["DevicePath"],
|
'logicalname': device["DevicePath"],
|
||||||
'product': device["ModelNumber"],
|
'product': device["ModelNumber"],
|
||||||
'serial': device["SerialNumber"],
|
'serial': device["SerialNumber"].strip(),
|
||||||
"version": device["Firmware"],
|
"version": device["Firmware"],
|
||||||
'description': "NVME",
|
'description': "NVMe device",
|
||||||
'type': "NVME",
|
'type': "NVMe device",
|
||||||
}
|
}
|
||||||
if "UsedSize" in device:
|
if "UsedSize" in device:
|
||||||
d['size'] = device["UsedSize"]
|
d['size'] = device["UsedSize"]
|
||||||
|
|
@ -124,6 +115,20 @@ class LSHW():
|
||||||
except Exception:
|
except Exception:
|
||||||
pass
|
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):
|
def find_cpus(self, obj):
|
||||||
if "product" in obj:
|
if "product" in obj:
|
||||||
self.cpus.append({
|
self.cpus.append({
|
||||||
|
|
|
||||||
Loading…
Add table
editor.link_modal.header
Reference in a new issue