fix various failed dmidecode calls

This commit is contained in:
Solvik Blum 2020-02-15 20:19:25 +01:00
commit d1631580ce
5 changed files with 10 additions and 10 deletions

View file

@ -20,7 +20,7 @@ class DellHost(ServerBase):
` Location In Chassis: Slot 03`
"""
if self.is_blade():
return self.dmi.get_by_type('Baseboard')[0].get('Location In Chassis').strip()
return self.baseboard[0].get('Location In Chassis').strip()
return None
def get_chassis_name(self):
@ -30,12 +30,12 @@ class DellHost(ServerBase):
def get_chassis(self):
if self.is_blade():
return self.dmi.get_by_type('Chassis')[0]['Version'].strip()
return self.chassis[0]['Version'].strip()
return self.get_product_name()
def get_chassis_service_tag(self):
if self.is_blade():
return self.dmi.get_by_type('Chassis')[0]['Serial Number'].strip()
return self.chassis[0]['Serial Number'].strip()
return self.get_service_tag()
def get_power_consumption(self):

View file

@ -5,7 +5,7 @@ from netbox_agent.server import ServerBase
class GenericHost(ServerBase):
def __init__(self, *args, **kwargs):
super(GenericHost, self).__init__(*args, **kwargs)
self.manufacturer = dmidecode.get_by_type('Baseboard')[0].get('Manufacturer')
self.manufacturer = dmidecode.get_by_type(self.dmi, 'Baseboard')[0].get('Manufacturer')
def is_blade(self):
return None

View file

@ -19,7 +19,7 @@ class HPHost(ServerBase):
"""
# FIXME: make a dmidecode function get_by_dminame() ?
if self.is_blade():
locator = self.dmi.get_by_type(204)
locator = dmidecode.get_by_type(self.dmi, 204)
if self.get_product_name() == 'ProLiant BL460c Gen10':
locator = locator[0]['Strings']
return {

View file

@ -7,12 +7,12 @@ class QCTHost(ServerBase):
self.manufacturer = 'QCT'
def is_blade(self):
return 'Location In Chassis' in self.dmi.get_by_type('Baseboard')[0].keys()
return 'Location In Chassis' in self.baseboard[0].keys()
def get_blade_slot(self):
if self.is_blade():
return 'Slot {}'.format(
self.dmi.get_by_type('Baseboard')[0].get('Location In Chassis').strip()
self.baseboard[0].get('Location In Chassis').strip()
)
return None
@ -23,10 +23,10 @@ class QCTHost(ServerBase):
def get_chassis(self):
if self.is_blade():
return self.dmi.get_by_type('Chassis')[0]['Version'].strip()
return self.chassis[0]['Version'].strip()
return self.get_product_name()
def get_chassis_service_tag(self):
if self.is_blade():
return self.dmi.get_by_type('Chassis')[0]['Serial Number'].strip()
return self.chassis[0]['Serial Number'].strip()
return self.get_service_tag()