This commit is contained in:
Solvik 2023-08-28 19:01:13 +02:00 committed by GitHub
commit 68ce606500
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 9 deletions

View file

@ -19,6 +19,7 @@ MANUFACTURERS = {
'Generic': GenericHost,
}
MIN_NETBOX_VERSION = '3.3'
def run(config):
dmi = dmidecode.parse()
@ -34,8 +35,8 @@ def run(config):
except KeyError:
server = GenericHost(dmi=dmi)
if version.parse(nb.version) < version.parse('2.9'):
print('netbox-agent is not compatible with Netbox prior to verison 2.9')
if version.parse(nb.version) < version.parse(MIN_NETBOX_VERSION):
print(f'netbox-agent is not compatible with Netbox prior to verison {MIN_NETBOX_VERSION}')
return False
if config.register or config.update_all or config.update_network or \

View file

@ -556,12 +556,19 @@ class ServerNetwork(Network):
switch_ip,
))
cable = nb.dcim.cables.create(
termination_a_id=nb_server_interface.id,
termination_a_type="dcim.interface",
termination_b_id=nb_switch_interface.id,
termination_b_type="dcim.interface",
a_terminations=[
{
'object_id': nb_server_interface.id,
'object_type':'dcim.interface'
}
],
b_terminations=[
{
'object_id': nb_switch_interface.id,
'object_type': 'dcim.interface'
}
],
)
nb_server_interface.cable = cable
logging.info(
'Connected interface {interface} with {switch_interface} of {switch_ip}'.format(
interface=nb_server_interface.name,
@ -579,7 +586,7 @@ class ServerNetwork(Network):
switch_ip, switch_interface, nb_server_interface
)
else:
nb_sw_int = nb_server_interface.cable.termination_b
nb_sw_int = nb_server_interface.cable.b_terminations[0]
nb_sw = nb_sw_int.device
nb_mgmt_int = nb.dcim.interfaces.get(
device_id=nb_sw.id,