Monday 1 August 2016

Re: Annoucing netplan -- Consolidated YAML network configuration across Ubuntu

Top posting as I don't have specific points to respond to, but just a
general thought.

Over in the wild and crazy world of OpenStack, we've been coming up with
some of this already in the config-drive:

http://specs.openstack.org/openstack/nova-specs/specs/liberty/implemented/metadata-service-network-info.html#rest-api-impact

I see a ton of parallel in the idea, and there is already code in
cloud-init to translate it into /e/n/i, so I just wonder if this format
can be reused, or at least built upon, so that the effort doesn't have
to be duplicated forever.

Excerpts from Martin Pitt's message of 2016-07-29 11:14:59 +0200:
> Hello all,
>
> The purpose of the new "netplan" project is to unify and clean up
> networking configuration in Ubuntu. Currently, Desktop/Server
> installers generate ifupdown /etc/network/interfaces,
> MaaS/curtin/cloud-init use a YAML based format that gets translated to
> /e/n/i, and there is currently no simple way to pre-configure
> NetworkManager, and no support for networkd.
>
> With netplan there are central /etc/netplan/*.yaml network config
> files for *all* Ubuntu -- Snappy, Server, Client, MaaS, cloud-init.
> All installers only generate such a file, no /etc/network/interfaces
> any more. This then gives us the flexibility to dynamically select or
> switch between different backends -- for example, there is demand for
> moving away from ifupdown towards networkd, and some environments
> might prefer NetworkManager for everything. netplan translates the
> YAML config to the backend specific configuration formats on boot, but
> all these are only written to /run -- i. e. they are ephemeral and not
> considered primary configuration files in /etc.
>
> This is now available in yakkety as "nplan" package. "netplan" already
> exists but is something else entirely -- but as we intend to install
> it by default everywhere very soon, the package name does not really
> matter.
>
> It currently supports configuring ethernets, wifi (infrastructure,
> adhoc, AP), and bridges, which should be the most common device types.
> Version 0.4 (just uploaded to yakkety) now also provides documentation
> of the configuration as HTML and manpage; the rendered HTML page can
> also be seen at [1] for the time being.
>
> Of course a lot of features are still missing (bonds, routes,
> nameservers, veth), there is no upgrade handling from /e/n/i yet, and
> it does not start networkd automatically (i. e. if you use it you
> currently need to "systemctl enable systemd-networkd"). All these are
> being tracked as work items in the blueprint[2] and in bug reports [3].
>
> If you are interested in network configuration, or are a
> cloud-init/installer/snappy developer etc. who wants to use it, I
> appreciate feedback about the YAML format, features, bug reports, etc.
> -- for now I reserve the right to break the current YAML format in
> incompatible ways, for example if there is a strong desire to change
> the structure or rename some properties. This already has been
> discussed between Ryan, Scott, Loïc and me for hours though, so
> hopefully it won't change dramatically any more ☺
>
> Project page: https://launchpad.net/netplan
> Code: git clone https://git.launchpad.net/netplan
>
> Thanks,
>
> Martin
>
> [1] http://people.canonical.com/~pitti/tmp/netplan.html
> [2] https://blueprints.launchpad.net/ubuntu/+spec/foundations-y-network-yaml
> [3] https://bugs.launchpad.net/ubuntu/+source/nplan
>

--
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel