diff options
Diffstat (limited to 'tools/netbox/scripts/planning2netbox')
-rw-r--r-- | tools/netbox/scripts/planning2netbox/planning2netbox.py | 12 |
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) |