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