2017-01-15

My OpenStack cloud depends on Ubuntu, and the latest release of OpenStack-Ansible (what I use to deploy OpenStack) requires Ubuntu 16.04 at a minimum. I tried upgrading the servers in place from Ubuntu 14.04 to 16.04, but that didn’t work so well. Those servers wouldn’t boot and the only recourse was a re-install.

Once I finished re-installing them (and wrestling with several installer bugs in Ubuntu 16.04), it was time to set up networking. The traditional network configurations in /etc/network/interfaces are fine, but they weren’t working the same way they were in 14.04. The VLAN configuration syntax appears to be different now.

But wait — 16.04 has systemd 229! I can use systemd-networkd to configure the network in a way that is a lot more familiar to me. I’ve made posts about systemd-networkd before and the simplicity in the configurations.

I started with some simple configurations:

Here’s a summary of the configurations:

Physical network interface is enp3s0

VLAN 10 is trunked down from a switch to that interface

Bridge br-mgmt should be on VLAN 10 (only send/receive traffic tagged with VLAN 10)

Once that was done, I restarted systemd-networkd to put the change into effect:

Great! Let’s check our work:

So the bridge has no interfaces and it’s in a no-carrier status. Why? Let’s check the journal:

The Could not append VLANs: Operation not permitted error is puzzling. After some searching on Google, I found a thread from Lennart:

But Ubuntu 16.04 has systemd 229:

I haven’t found a solution for this quite yet. Keep an eye on this post and I’ll update it once I know more!

The post systemd-networkd on Ubuntu 16.04 LTS (Xenial) appeared first on major.io.

Show more