aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHåkon Solbjørg <hakon@solbj.org>2023-04-06 15:47:13 +0200
committerHåkon Solbjørg <hakon@solbj.org>2023-04-06 15:47:13 +0200
commit1e9c2a7cce492e668483b87d648362c7b20afd83 (patch)
treeeb8caf7f0b54ef0518fbbacbca51dd8928a97c4a
parent1e5aea24a4e060d2f5e160251e17136f7f0169a9 (diff)
fix(mist2netbox): Only delete primary addr if it is not equal and it exists
-rw-r--r--tools/netbox/scripts/mist2netbox/mist2netbox.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/tools/netbox/scripts/mist2netbox/mist2netbox.py b/tools/netbox/scripts/mist2netbox/mist2netbox.py
index 11d0d2f..1390362 100644
--- a/tools/netbox/scripts/mist2netbox/mist2netbox.py
+++ b/tools/netbox/scripts/mist2netbox/mist2netbox.py
@@ -167,7 +167,7 @@ class Mist2Netbox(Script):
mgmt_addr_ipv4 = device_data['ip_stat']['ip']
mgmt_addr_ipv4_netmask = device_data['ip_stat']['netmask']
mgmt_addr_v4 = f"{mgmt_addr_ipv4}/25" # netmask is in cidr notation, and netmask6 is in prefix notation. why?
- if device.primary_ip4 != mgmt_addr_v4:
+ if device.primary_ip4 and device.primary_ip4 != mgmt_addr_v4:
device.primary_ip4.delete()
mgmt_addr_v4, _ = IPAddress.objects.get_or_create(
address=mgmt_addr_v4,
@@ -177,7 +177,7 @@ class Mist2Netbox(Script):
mgmt_addr_ipv6 = device_data['ip_stat']['ip6']
mgmt_addr_ipv6_netmask = device_data['ip_stat']['netmask6']
mgmt_addr_v6 = f"{mgmt_addr_ipv6}{mgmt_addr_ipv6_netmask}"
- if device.primary_ip6 != mgmt_addr_v6:
+ if device.primary_ip6 and device.primary_ip6 != mgmt_addr_v6:
device.primary_ip6.delete()
mgmt_addr_v6, _ = IPAddress.objects.get_or_create(
address=mgmt_addr_v6,