Merge pull request #204 from Solvik/fix/chriss/unnamed_network_interfaces

Unnamed network interfaces.
This commit is contained in:
Cyril Levis 2022-03-08 10:56:21 +01:00 committed by GitHub
commit 18773a2dff
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 36 additions and 33 deletions

View file

@ -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:

View file

@ -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',