Sunday, 31 July 2016

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

I read through the current yaml and recognized a lot from curtin/Maas that I
knew. There is one point I wanted to ... well not discuss, but mention at least.

As a habit I still think in "system z" terms once in a while and in that case
this is good as it is "different". And different is good to identify rough edges
of spec like this.

So in that s390x world and reading this announcement as written with a
scope of: "unify and clean up networking configuration" I'd miss:
- a way configure my Network card options (layer2, hwchksum, ..)
- a way to identify my card by subchannel

Both are currently handled by chzdev of [1] (networkd picks up later by card
name) and therefore don't apply to configuring networkd/NetworkManager.
But they are clearly networking related configurations.

So it is a matter of our intended "target":
- If we think of it as one place to configure all I need for my networking
  config, but just above a certain level - I think it is ok.
- If we think of it as one place to configure all I need for my networking
  config - it is missing something.

To be clear that is not a feature request in any way, I just want to ensure that
this "separating line" between Network-Hardware and Network-Logical
configuration is a conscious and intentional decision instead of happening

More so I think this should be a chance to everyone else to bring up examples
that might cross this line even more and should be considered into the netplan

Kind Regards,

Christian Ehrhardt
Software Engineer, Ubuntu Server
Canonical Ltd

On Fri, Jul 29, 2016 at 11:14 AM, Martin Pitt <> wrote:
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

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:
  Code: git clone




Martin Pitt                        |
Ubuntu Developer (  | Debian Developer  (

ubuntu-devel mailing list
Modify settings or unsubscribe at: