netbox-agent/netbox_agent/vendors/supermicro.py
Thomas Davis 1c3ea69d9e Several minor fixes
raid_arry check should return an empty array, not NoneType

not all systems will have IPv6 defined, so try to get the information..  if not
just continue on.

Vendor Supermicro was incomplete.
2019-08-27 10:30:04 -07:00

31 lines
955 B
Python

from netbox_agent.server import ServerBase
class SupermicroHost(ServerBase):
def __init__(self, *args, **kwargs):
super(SupermicroHost, self).__init__(*args, **kwargs)
self.manufacturer = 'Supermicro'
def is_blade(self):
blade = self.get_product_name().startswith('SBI')
blade |= self.get_product_name().startswith('SYS')
return blade
def get_blade_slot(self):
# No supermicro on hands
return None
def get_chassis_name(self):
if not self.is_blade():
return None
return 'Chassis {}'.format(self.get_service_tag())
def get_chassis(self):
if self.is_blade():
return self.dmi.get_by_type('Chassis')[0]['Version']
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']
return self.get_service_tag()