Skip to content

Conversation

@TuxPowered42
Copy link
Contributor

No description provided.

We allow Servers to have various inet attribute types which configure
behaviour of checking for IP address conflics. Type "loadbalancer" does
not have an uniqueness check, type "network" only checks within the same
servertype.

Ensure that the uniqueness of IP address is checked symmetrically:
"host" inet attribute type must not ensure its uniqueness against
"network" and "loadbalancer", because they don't check against "host".

For example it was possible to create a domain object for IP address of
a VM, but it was impossible to create a VM once a domain existed.

Improve the message shown to user in case of conflict.
Supernet is calculated only for intern_ip and expected to yield a single
value for each Server. Most of our servers and loadbalancers are
dual-stack, that is they have IPv4 and IPv6 addresses. The algorithm
works fine for calculating route_network, as this is always a single
object with IPv4 and IPv6 addresses. But it fails for provider_network:
LB Pools might belong to a different provider_network for IPv4 and IPv6.
For example IPv4 might be leased from datacenter, while IPv6 is from our
own provider-independent prefix.

Provide option to obey target address family when calculating a
supernet. This allows for adding multiple supernet attributes e.g.
provider_network_ipv4 and provider_network_ipv6.
Use code similar to _add_supernet_attribute_af() to calculate
supernetworks for unspecified address family directly in
query_materalizer. Remove get_supernet() from class Server.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants