[2.5] MAAS running alongside libvirt in a container causes libvirt vnet* interfaces to be added to MAAS
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MAAS |
Fix Released
|
High
|
Mike Pontillo | ||
2.3 |
Fix Committed
|
High
|
Blake Rouse | ||
2.4 |
Fix Committed
|
High
|
Blake Rouse |
Bug Description
When running MAAS in a container alongside libvirt, every time a new virtual machine is created, virtual NICs are also brought online (named vnet*).
Since MAAS is in a container, all of its supposedly-physical interfaces are already virtual interfaces (which tend to look a lot like the ones libvirt creates), so it's difficult to tell the difference between "legit" interfaces and these vnet* interfaces, which are nothing more than useless clutter as far as MAAS is concerned.
Worse, when using KVM pod networking with a controller, it's possible that MAAS will recognize vnet* interfaces as connected to the same fabric and VLAN, and then try to use them to attach more virtual machines (bad idea).
Two things that should be fixed as a result of this:
- MAAS should try to ignore vnet* interfaces that are present on controllers running inside containers. These interfaces have a MAC address that starts with "fe:", so that (combined with their name) should make them easy enough to create a heuristic to ignore.
- When attaching to networks, MAAS should always prefer bridge interfaces, if present, over *any* physical interfaces, regardless of interface ID or nesting (since the vnet* interfaces may be attached to the bridge!).
Related branches
- Blake Rouse (community): Approve
-
Diff: 98 lines (+37/-2)4 files modifiedsrc/provisioningserver/utils/ipaddr.py (+2/-0)
src/provisioningserver/utils/network.py (+13/-1)
src/provisioningserver/utils/tests/test_ipaddr.py (+12/-1)
src/provisioningserver/utils/tests/test_network.py (+10/-0)
- Blake Rouse (community): Approve
-
Diff: 98 lines (+37/-2)4 files modifiedsrc/provisioningserver/utils/ipaddr.py (+2/-0)
src/provisioningserver/utils/network.py (+13/-1)
src/provisioningserver/utils/tests/test_ipaddr.py (+12/-1)
src/provisioningserver/utils/tests/test_network.py (+10/-0)
- Andres Rodriguez (community): Needs Information
- Newell Jensen (community): Approve
- MAAS Lander: Pending (unittests) requested
-
Diff: 98 lines (+37/-2)4 files modifiedsrc/provisioningserver/utils/ipaddr.py (+2/-0)
src/provisioningserver/utils/network.py (+13/-1)
src/provisioningserver/utils/tests/test_ipaddr.py (+12/-1)
src/provisioningserver/utils/tests/test_network.py (+10/-0)
Changed in maas: | |
status: | Triaged → Fix Committed |
Changed in maas: | |
status: | Fix Committed → Fix Released |