← Back to team overview

maas-devel team mailing list archive

Re: IP address reservation API

 

On 2014-06-25 09:03, Julian Edwards wrote:

Each of the "cluster interface" parameters are required so we know on
which network the IP must be allocated.  We have a few different ways to
identify a cluster interface, some of which may be more or less
appropriate depending on what the caller already knows:

  - the network details, e.g. N.N.N.N/bits (or ipv6 equivalent)
  - the cluster ID plus one of its NIC names (won't work for IPv6 I am
told by jtv, he can explain)

Very well: a single network interface can have multiple IPv6 addresses, in addition to its IPv4 address. The IPv6 addresses can be in multiple networks (but typically, several per network as well). Therefore, a network interface on the cluster controller no longer identifies a network.

What we've been wanting to do about this is make NodeGroupInterface refer to Network, instead of duplicating similar basic network information. If we did that, we could identify networks by network specifier — which works with network names, IP addresses, etc.

That would still leave one wrinkle in the API: it identifies a cluster interface by cluster UUID and network interface name. That won't work for IPv6. But an IPv4-only compatibility layer looks doable.


Jeroen


References