Make netbox_agent compatible with recent Netbox versions and pynetbox v7 #277
3 changed files with 17 additions and 9 deletions
|
@ -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 \
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
pynetbox==6.1.2
|
||||
pynetbox==7.0.1
|
||||
netaddr==0.8.0
|
||||
netifaces==0.10.9
|
||||
pyyaml==6.0.1
|
||||
|
|
Loading…
Add table
Reference in a new issue