aboutsummaryrefslogtreecommitdiffstats
path: root/tools/netbox/scripts/planning2netbox
diff options
context:
space:
mode:
Diffstat (limited to 'tools/netbox/scripts/planning2netbox')
-rw-r--r--tools/netbox/scripts/planning2netbox/planning2netbox.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/tools/netbox/scripts/planning2netbox/planning2netbox.py b/tools/netbox/scripts/planning2netbox/planning2netbox.py
index 5fc53a7..0df6a8f 100644
--- a/tools/netbox/scripts/planning2netbox/planning2netbox.py
+++ b/tools/netbox/scripts/planning2netbox/planning2netbox.py
@@ -231,9 +231,13 @@ class Planning2Netbox(Script):
# Set mgmt ip
mgmt_addr_v4, _ = IPAddress.objects.get_or_create(
address=data['mgmt4'],
+ assigned_object_type=interface_type,
+ assigned_object_id=vlan_interface.id,
)
mgmt_addr_v6, _ = IPAddress.objects.get_or_create(
address=data['mgmt6'],
+ assigned_object_type=interface_type,
+ assigned_object_id=vlan_interface.id,
)
switch.primary_ip4 = mgmt_addr_v4
switch.primary_ip6 = mgmt_addr_v6
@@ -266,11 +270,15 @@ class Planning2Netbox(Script):
# and then some of the features of it doesn't work,
# e.g. prefix.get_first_available_ip().
+ subnet4 = IPNetwork(data['subnet4'])
+ uplink_addr_v4_raw = subnet4[1]
uplink_addr_v4, _ = IPAddress.objects.get_or_create(
- address=IPNetwork(data['subnet4'])[1],
+ address=f"{uplink_addr_v4_raw}/{subnet4.prefixlen}",
)
+ subnet6 = IPNetwork(data['subnet6'])
+ uplink_addr_v6_raw = subnet6[1]
uplink_addr_v6, _ = IPAddress.objects.get_or_create(
- address=IPNetwork(data['subnet6'])[1],
+ address=f"{uplink_addr_v6_raw}/{subnet6.prefixlen}",
)
core_subinterface.ip_addresses.add(uplink_addr_v4)
core_subinterface.ip_addresses.add(uplink_addr_v6)