make the agent work if only a datacenter is specified

This commit is contained in:
Solvik Blum 2020-07-01 12:44:34 +02:00
commit 937ec413d4

View file

@ -49,10 +49,12 @@ class ServerBase():
return dc.get()
def get_netbox_datacenter(self):
datacenter = nb.dcim.sites.get(
slug=self.get_datacenter()
dc = self.get_datacenter()
if dc:
return nb.dcim.sites.get(
slug=dc,
)
return datacenter
return None
def update_netbox_location(self, server):
dc = self.get_datacenter()
@ -86,11 +88,18 @@ class ServerBase():
return rack.get()
def get_netbox_rack(self):
rack = nb.dcim.racks.get(
name=self.get_rack(),
site_id=self.get_netbox_datacenter().id,
rack = self.get_rack()
datacenter = self.get_netbox_datacenter()
if not rack:
return None
if rack and not datacenter:
logging.warning("Can't get rack if no datacenter is configured or found")
return None
return nb.dcim.racks.get(
name=rack,
site_id=datacenter.id,
)
return rack
def get_product_name(self):
"""