netplan breaks Xen VIF driver
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Won't Fix
|
Undecided
|
Unassigned | ||
Xenial |
Won't Fix
|
Undecided
|
Unassigned | ||
Zesty |
Won't Fix
|
Undecided
|
Unassigned | ||
Artful |
Won't Fix
|
Undecided
|
Unassigned | ||
Bionic |
Won't Fix
|
Undecided
|
Unassigned | ||
nplan (Ubuntu) |
Fix Released
|
High
|
Dan Streetman | ||
Xenial |
Fix Released
|
Undecided
|
Mathieu Trudel-Lapierre | ||
Zesty |
Fix Released
|
Undecided
|
Mathieu Trudel-Lapierre | ||
Artful |
Fix Released
|
High
|
Mathieu Trudel-Lapierre | ||
Bionic |
Fix Released
|
High
|
Dan Streetman |
Bug Description
[Impact]
Some network interfaces on a Xen guest are broken by new behavior introduced by netplan. On a Xen guest instance, when netplan is run to 'apply' its configuration, under certain circumstances netplan will try to "reset" the interface by unbinding and then re-binding the interface driver from the interface, by using the sysfs "bind" and "unbind" functions of the driver. Normally, this results in the interface being released and then fully re-initialized by the driver.
However the Xen VIF driver breaks when this is done. The internal Xen backend state of the interface remains in 'closed' state after the driver re-connects to the interface, and attempts to open and use the interface result in a kernel Oops in the Xen VIF driver.
To users, it appears that the interface is unusable because it has an all 0 mac address; but if the mac is manually set and the interface brought up the driver Oopses as mentioned above.
This problem makes booting painful because of very long timeouts waiting for all network interfaces to start, and affected Xen VIF interfaces will of course never complete startup.
[Fix]
No fix yet. Upstream kernel does not appear fixed.
[Test Case]
Create a guest instance under a Xen hypervisor (e.g. an AWS instance) that has Ubuntu Artful 17.10 installed. Use only a single interface at first when creating it. Then once it is ready, attach a second network interface to the instance. From inside the instance, configure the new interface in netplan (i.e. add a /etc/netplan/ config for it). Make sure the new interface is down (netplan does not appear to unbind/bind interfaces that are up), and then run:
$ sudo netplan apply
or for debug,
$ sudo netplan --debug apply
this will unbind and re-bind the second interface, which will then have all-0 mac, and will be unusable, as described above.
[Regression Potential]
Changes to the Xen VIF driver can result in unusable network interfaces, or problems while using Xen VIF interfaces.
[Other Info]
Problem appears to exist upstream also.
Related branches
- Mathieu Trudel-Lapierre (community): Approve
-
Diff: 24 lines (+6/-0)1 file modifiedsrc/netplan (+6/-0)
Changed in linux (Ubuntu): | |
status: | New → In Progress |
assignee: | nobody → Dan Streetman (ddstreet) |
importance: | Undecided → High |
Changed in linux (Ubuntu Artful): | |
status: | New → In Progress |
importance: | Undecided → High |
assignee: | nobody → Dan Streetman (ddstreet) |
tags: | added: sts sts-sponsor |
tags: | removed: sts-sponsor |
Changed in linux (Ubuntu): | |
assignee: | Dan Streetman (ddstreet) → nobody |
Changed in linux (Ubuntu Artful): | |
assignee: | Dan Streetman (ddstreet) → nobody |
Changed in linux (Ubuntu Bionic): | |
assignee: | Dan Streetman (ddstreet) → nobody |
Changed in linux (Ubuntu Xenial): | |
status: | New → Won't Fix |
Changed in linux (Ubuntu Zesty): | |
status: | New → Won't Fix |
Changed in linux (Ubuntu): | |
importance: | High → Wishlist |
Changed in linux (Ubuntu Artful): | |
importance: | High → Wishlist |
Changed in linux (Ubuntu Bionic): | |
importance: | High → Wishlist |
importance: | Wishlist → Undecided |
Changed in linux (Ubuntu Artful): | |
importance: | Wishlist → Undecided |
Changed in linux (Ubuntu): | |
importance: | Wishlist → Undecided |
status: | In Progress → Won't Fix |
tags: | removed: verification-failed |
Changed in nplan (Ubuntu Artful): | |
assignee: | Dan Streetman (ddstreet) → Mathieu Trudel-Lapierre (cyphermox) |
Changed in nplan (Ubuntu Zesty): | |
assignee: | nobody → Mathieu Trudel-Lapierre (cyphermox) |
Changed in nplan (Ubuntu Xenial): | |
assignee: | nobody → Mathieu Trudel-Lapierre (cyphermox) |
switching this bug over to netplan, as there are already several nic drivers blacklisted from the "replugging" in netplan, due to them not supporting (or breaking) unbinding/ rebinding.