nova baremetal overrides network card MAC addresses, interacts poorly with udev persistent rules
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
High
|
Robert Collins |
Bug Description
This interacts poorly with udev rules on Ubuntu that remember the MAC address of interfaces: the first boot will work as expected, but after a single reboot, eth0 will be missing because eth0 is 'remembered' as the original MAC address of the card, not the nova assigned random address.
Similar issues can be predicted for Windows, other Linux distributions and most operating systems: manually assigned NIC MAC addresses are the exception, not the rule.
The baremetal code was written to do this for consistency with nova VM based instances, but VM's are running with virtual hardware: there the NIC MAC address is not overriden by the operating system, but configured to be what nova expects in the hypervisor. There isn't a generic mechanism to do that for baremetal.
A list discussion was held; the the most sensible answer, at least for hardware with real MAC addresses like PXE booting i386/amd64 class machines, is to not override the MAC address at all. However, this does entail the bare metal driver being able to set the MAC address for an instance rather than nova dynamically allocating it.
Changed in nova: | |
status: | New → Triaged |
importance: | Undecided → High |
Changed in nova: | |
assignee: | nobody → Robert Collins (lifeless) |
status: | Triaged → In Progress |
Changed in nova: | |
status: | In Progress → Fix Committed |
Changed in nova: | |
milestone: | none → grizzly-3 |
status: | Fix Committed → Fix Released |
Changed in nova: | |
milestone: | grizzly-3 → 2013.1 |
(I would triage this but I don't have permissions). Whomever does - I suggest triaged, high, as this is going to bite many folk who try to use bare-metal.