Unnamed network interfaces.
Some interfaces do not have device (logical) name (eth0, for instance), such as not connected network mezzanine cards in blade servers. In such situations, the card will be named `unknown[0-9]`.
This commit is contained in:
parent
a7c6ae68e2
commit
84a9aca141
2 changed files with 36 additions and 33 deletions
|
@ -69,15 +69,21 @@ class LSHW():
|
||||||
return self.memories
|
return self.memories
|
||||||
|
|
||||||
def find_network(self, obj):
|
def find_network(self, obj):
|
||||||
d = {}
|
# Some interfaces do not have device (logical) name (eth0, for
|
||||||
d["name"] = obj["logicalname"]
|
# instance), such as not connected network mezzanine cards in blade
|
||||||
d["macaddress"] = obj["serial"]
|
# servers. In such situations, the card will be named `unknown[0-9]`.
|
||||||
d["serial"] = obj["serial"]
|
unkn_intfs = [
|
||||||
d["product"] = obj["product"]
|
i for i in self.interfaces if i["name"].startswith("unknown")
|
||||||
d["vendor"] = obj["vendor"]
|
]
|
||||||
d["description"] = obj["description"]
|
unkn_name = "unknown{}".format(len(unkn_intfs))
|
||||||
|
self.interfaces.append({
|
||||||
self.interfaces.append(d)
|
"name": obj.get("logicalname", unkn_name),
|
||||||
|
"macaddress": obj.get("serial", ""),
|
||||||
|
"serial": obj.get("serial", ""),
|
||||||
|
"product": obj["product"],
|
||||||
|
"vendor": obj["vendor"],
|
||||||
|
"description": obj["description"],
|
||||||
|
})
|
||||||
|
|
||||||
def find_storage(self, obj):
|
def find_storage(self, obj):
|
||||||
if "children" in obj:
|
if "children" in obj:
|
||||||
|
@ -120,13 +126,12 @@ class LSHW():
|
||||||
|
|
||||||
def find_cpus(self, obj):
|
def find_cpus(self, obj):
|
||||||
if "product" in obj:
|
if "product" in obj:
|
||||||
c = {}
|
self.cpus.append({
|
||||||
c["product"] = obj["product"]
|
"product": obj["product"],
|
||||||
c["vendor"] = obj["vendor"]
|
"vendor": obj["vendor"],
|
||||||
c["description"] = obj["description"]
|
"description": obj["description"],
|
||||||
c["location"] = obj["slot"]
|
"location": obj["slot"],
|
||||||
|
})
|
||||||
self.cpus.append(c)
|
|
||||||
|
|
||||||
def find_memories(self, obj):
|
def find_memories(self, obj):
|
||||||
if "children" not in obj:
|
if "children" not in obj:
|
||||||
|
@ -137,25 +142,23 @@ class LSHW():
|
||||||
if "empty" in dimm["description"]:
|
if "empty" in dimm["description"]:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
d = {}
|
self.memories.append({
|
||||||
d["slot"] = dimm.get("slot")
|
"slot": dimm.get("slot"),
|
||||||
d["description"] = dimm.get("description")
|
"description": dimm.get("description"),
|
||||||
d["id"] = dimm.get("id")
|
"id": dimm.get("id"),
|
||||||
d["serial"] = dimm.get("serial", 'N/A')
|
"serial": dimm.get("serial", 'N/A'),
|
||||||
d["vendor"] = dimm.get("vendor", 'N/A')
|
"vendor": dimm.get("vendor", 'N/A'),
|
||||||
d["product"] = dimm.get("product", 'N/A')
|
"product": dimm.get("product", 'N/A'),
|
||||||
d["size"] = dimm.get("size", 0) / 2 ** 20 / 1024
|
"size": dimm.get("size", 0) / 2 ** 20 / 1024,
|
||||||
|
})
|
||||||
self.memories.append(d)
|
|
||||||
|
|
||||||
def find_gpus(self, obj):
|
def find_gpus(self, obj):
|
||||||
if "product" in obj:
|
if "product" in obj:
|
||||||
c = {}
|
self.gpus.append({
|
||||||
c["product"] = obj["product"]
|
"product": obj["product"],
|
||||||
c["vendor"] = obj["vendor"]
|
"vendor": obj["vendor"],
|
||||||
c["description"] = obj["description"]
|
"description": obj["description"],
|
||||||
|
})
|
||||||
self.gpus.append(c)
|
|
||||||
|
|
||||||
def walk_bridge(self, obj):
|
def walk_bridge(self, obj):
|
||||||
if "children" not in obj:
|
if "children" not in obj:
|
||||||
|
|
2
setup.py
2
setup.py
|
@ -16,7 +16,7 @@ def get_requirements():
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
name='netbox_agent',
|
name='netbox_agent',
|
||||||
version='0.7.0',
|
version='0.7.1',
|
||||||
description='NetBox agent for server',
|
description='NetBox agent for server',
|
||||||
long_description=open('README.md', encoding="utf-8").read(),
|
long_description=open('README.md', encoding="utf-8").read(),
|
||||||
long_description_content_type='text/markdown',
|
long_description_content_type='text/markdown',
|
||||||
|
|
Loading…
Add table
Reference in a new issue