Skip to content
Snippets Groups Projects
Commit 4e5878d5 authored by JORGE SASIAIN's avatar JORGE SASIAIN
Browse files

NAT-198: add dns_view option during allocate host

parent 8919a639
No related branches found
No related tags found
2 merge requests!27Merge develop into NAT-185,!15Nat 185
......@@ -14,17 +14,20 @@
"LO": {
"V4": {"containers": [], "networks": ["1.1.0.0/28"], "mask": 0},
"V6": {"containers": [], "networks": ["dead:beef::/80"], "mask": 0},
"domain_name": ".lo"
"domain_name": ".lo",
"dns_view": "default"
},
"TRUNK": {
"V4": {"containers": ["1.1.1.0/24"], "networks": [], "mask": 31},
"V6": {"containers": ["dead:beef::/64"], "networks": [], "mask": 126},
"domain_name": ".trunk"
"domain_name": ".trunk",
"dns_view": "default
},
"GEANT_IP": {
"V4": {"containers": ["1.1.2.0/24"], "networks": [], "mask": 31},
"V6": {"containers": ["dead:beef::/64"], "networks": [], "mask": 126},
"domain_name": ".geantip"
"domain_name": ".geantip",
"dns_view": "default
}
},
"PROVISIONING_PROXY": {
......
......@@ -240,6 +240,7 @@ def _allocate_host(hostname=None,
addrs=None,
networks=None,
cname_aliases=None,
dns_view="default",
extattrs={}
) -> Union[HostAddresses, str]:
"""
......@@ -303,7 +304,7 @@ def _allocate_host(hostname=None,
],
"name": hostname,
"configure_for_dns": True,
"view": "default",
"view": dns_view,
"extattrs": extattrs
}
......@@ -324,7 +325,7 @@ def _allocate_host(hostname=None,
cname_req_payload = {
"name": "",
"canonical": hostname,
"view": "default",
"view": dns_view,
"extattrs": extattrs
}
......@@ -380,11 +381,13 @@ def allocate_service_host(hostname=None,
oss_ipv4_networks = getattr(ipam_params, service_type).V4.networks
oss_ipv6_networks = getattr(ipam_params, service_type).V6.networks
domain_name = getattr(ipam_params, service_type).domain_name
dns_view = getattr(ipam_params, service_type).dns_view
assert (oss_ipv4_containers and oss_ipv6_containers) \
or (oss_ipv4_networks and oss_ipv6_networks), \
"This service is missing either containers or networks configuration."
assert domain_name, "This service is missing domain_name configuration."
assert dns_view, "This service is missing dns_view configuration."
if cname_aliases:
cname_aliases = [alias + domain_name for alias in cname_aliases]
......@@ -419,6 +422,7 @@ def allocate_service_host(hostname=None,
host = _allocate_host(hostname=hostname+domain_name,
networks=network_tuple,
cname_aliases=cname_aliases,
dns_view=dns_view,
extattrs=extattrs)
if "NETWORK_FULL" not in host:
......@@ -455,6 +459,7 @@ def allocate_service_host(hostname=None,
hostname=hostname+domain_name,
networks=(str(ipv4_network), str(ipv6_network)),
cname_aliases=cname_aliases,
dns_view=dns_view,
extattrs=extattrs
)
assert "NETWORK_FULL" not in host
......@@ -482,6 +487,7 @@ def allocate_service_host(hostname=None,
hostname=hostname+domain_name,
addrs=(str(ipv4_addr), str(ipv6_addr)),
cname_aliases=cname_aliases,
dns_view=dns_view,
extattrs=extattrs
)
assert "NETWORK_FULL" not in host
......
......@@ -32,6 +32,7 @@ class ServiceNetworkParams(BaseSettings):
V4: V4NetworkParams
V6: V6NetworkParams
domain_name: str
dns_view: str
class IPAMParams(BaseSettings):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment