router name/keyword in IP description sets router address for a DHCP range
Change-Id: I4a2d86a3cf02bb1e545dd567408001a1477ebcd3
diff --git a/scripts/netbox_edgeconfig.py b/scripts/netbox_edgeconfig.py
index 3f30db2..a9b2172 100644
--- a/scripts/netbox_edgeconfig.py
+++ b/scripts/netbox_edgeconfig.py
@@ -228,6 +228,11 @@
subnet["range"] = value["dhcp_range"]
continue
+ # handle a router reservation
+ if name == "router":
+ subnet["routers"] = value["ip4"]
+ continue
+
# has a MAC address, and it's not null
if "macaddr" in value and value["macaddr"]:
@@ -388,8 +393,24 @@
devs["prefix_dhcp"] = {"dhcp_range": ip["address"]}
continue
+ # if it's a reserved IP
+ if ip["status"]["value"] == "reserved":
+ res = {}
+
+ res["type"] = "reserved"
+ res["description"] = ip["description"]
+ res["ip4"] = str(netaddr.IPNetwork(ip["address"]).ip)
+ res["dns_name"] = ip["dns_name"] if "dns_name" in ip else "None"
+ res["services"] = {}
+
+ resname = res["description"].lower().split(" ")[0]
+
+ devs[resname] = res
+ continue
+
dev = {}
+ dev["type"] = "device"
dev["ip4"] = str(netaddr.IPNetwork(ip["address"]).ip)
dev["macaddr"] = get_interface_mac_addr(ip["assigned_object"]["id"])
@@ -503,7 +524,7 @@
"dns_rev_zones": dns_rev_zones,
"dhcpd_subnets": dhcpd_subnets,
"dhcpd_interfaces": dhcpd_interfaces,
- # "devs_per_prefix": devs_per_prefix,
+ # "devs_per_prefix": devs_per_prefix, # useful when debugging
}
)