Development

This commit is contained in:
Matthew Grotke 2026-05-31 01:54:01 -04:00
parent b0447625f6
commit 84118a4c2b
2 changed files with 12 additions and 5 deletions

View file

@ -203,10 +203,15 @@ def resolve_vlan_options(vlan):
}
overrides = vlan.get("dhcp_information", {}).get("explicit_overrides", {})
default = lowest_quartet_ip(vlan)
def _resolve(key):
v = overrides.get(key, "")
if isinstance(v, list):
return ','.join(v) if v else default
return v or default
return {
"gateway": overrides.get("gateway", "") or default,
"dns_server": overrides.get("dns_server", "") or default,
"ntp_server": overrides.get("ntp_server", "") or default,
"gateway": overrides.get("gateway", "") or default,
"dns_server": _resolve("dns_server"),
"ntp_server": _resolve("ntp_server"),
}
def is_physical(vlan):

View file

@ -566,10 +566,12 @@ def validate_config(data):
)
dns = eo.get("dns_server", "")
if dns:
check_ip("explicit_overrides.dns_server", dns)
for _ip in (dns if isinstance(dns, list) else [dns]):
check_ip("explicit_overrides.dns_server", _ip)
ntp = eo.get("ntp_server", "")
if ntp:
check_ip("explicit_overrides.ntp_server", ntp)
for _ip in (ntp if isinstance(ntp, list) else [ntp]):
check_ip("explicit_overrides.ntp_server", _ip)
pool_start = check_ip("dynamic_pool_start", d["dynamic_pool_start"])
pool_end = check_ip("dynamic_pool_end", d["dynamic_pool_end"])