Annoucing netplan -- Consolidated YAML network configuration across Ubuntu

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 -- Martin Pitt | http://www.piware.de Ubuntu Developer (www.ubuntu.com) | Debian Developer (www.debian.org) -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: not available URL: <https://lists.ubuntu.com/archives/ubuntu-devel/attachments/20160729/a0c97767/attachment.pgp>