Comment 12 for bug 1583815

Revision history for this message
Albert Syriy (asyriy) wrote :

The best way to fix the issue (IMHO) is migrate to predictable interface naming schema.

Udev discover interfaces in the arbitrary order and as a result assign ethX names in arbitrary order too.

The boot process has two phases. At the beginning the initrd/iniramfs image (with udev rules and corresponding kernel modules) are downloaded into memory and Udev initialize hardware (and assign the names to it) temporary file system in memory are using at that moment. Later (the second phase, when disk has been mounted and Ubuntu has switched to the persistent file system) Udev triggers second initialization and runs all udev rules again, pretend like the devices just have been discovered and assign names. At the second phase you could easily get "device busy" if attempt to rename interfaces being in active state (for example according the udev rule you should rename eth0 to eth1 and vise verse). This renaming fails.

Please check if you have the same set of udev network rules on bootstrap, packed in initrd image and in the deployed Ubuntu image. Please put attention to the presence of the 75-net-description.rules on initrd