[Maas-devel] Ongoing IPv6 work

Jeroen Vermeulen jeroen.vermeulen at canonical.com
Wed Sep 3 02:11:48 UTC 2014


We're in the process of implementing IPv6 support in MAAS.  To keep
those interested informed, and give you a chance to influence the
development, I'd like to give you an overview of how I'm doing that and
what it will look like.  IPv6 is unfamiliar territory to many of us, so
your feedback is welcome!

The focus is on providing nodes with an operational IPv6 capability,
where MAAS can provide them with stable IPv6 addresses both for their
own use and for guest containers.  Management and provisioning of nodes
will continue to require IPv4 for now, as will the servers' internal
operation.  However we are planning an option to make a node run
exclusively on IPv6 once deployed.

Very little will change in the user interface.  In addition to the
existing cluster interfaces, which operate on IPv4 subnets, you will be
able to define IPv6 ones as well.  They look a lot like IPv4 cluster
interfaces, with a choice of DHCP management and DNS management (no
address auto-configuration for now), and both static and dynamic address
ranges.  As with IPv4 ones today, MAAS discovers the IPv6 interfaces
automatically on installation.

Nodes will receive static IPv6 addresses, just like they already receive
IPv4 addresses on the same network interfaces.  I plan to implement this
by configuring the IPv6 address statically on the node through
cloud-init, not through DHCP.  So a node in MAAS's hands will have a
dynamic address set through stateful DHCP, while a node in the user's
hands will have a statically configured address.  In the future we
expect to assign IPv4 addresses in this way as well.

(This is not how we currently assign "static" IPv4 addresses.  For that
we use ISC dhcpd's OMAPI to create host maps in the DHCP server.
However OMAPI is deprecated and does not support IPv6, so a different
approach is needed.)

IPv6 support is a large job with only one man to implement it, so expect
operating system support to be limited.  The initial work will be on Ubuntu.

What has been done so far?  The UI and API can be accessed through IPv6.
 MAAS can resolve hostnames to IPv6 addresses in its DNS server, run
separate DHCP servers for IPv4 and IPv6, discover and configure IPv6
cluster interfaces, choose static IPv6 addresses for nodes and return
them in the API.  IPv4 addresses can be “suppressed” for nodes that
shouldn’t support IPv4.  Network specifiers and URLs now support IPv6
addresses.  Also the team has identified and addressed many places in
the code that did not work in an IPv6 environment.  The main thing still
missing is the actual configuration of IPv6 networking on the nodes.

If you have any thoughts, objections, ideas, or contributions, please
let us know.  You can follow up on this mailing list, or on the #maas
IRC channel.


Thank you for reading this far!

Jeroen




More information about the Maas-devel mailing list