nova baremetal overrides network card MAC addresses, interacts poorly with udev persistent rules

Bug #1078154 reported by Robert Collins
10
This bug affects 1 person
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.

Tags: baremetal
Revision history for this message
Robert Collins (lifeless) wrote :

(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.

Changed in nova:
status: New → Triaged
importance: Undecided → High
Revision history for this message
Robert Collins (lifeless) wrote :

Further notes - the pxe file writes to /etc/udev/rules.d/70-persistent-net.rules as an attempt to mitigate this, but it writes the stored macs, not the nova assigned ones, which actually makes the confusion worse.

Changed in nova:
assignee: nobody → Robert Collins (lifeless)
status: Triaged → In Progress
Changed in nova:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in nova:
milestone: none → grizzly-3
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in nova:
milestone: grizzly-3 → 2013.1
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.