<div dir="ltr"><div>Network naming has been troublesome for a bit.  If you want to keep the classic names, your boot string needs to contain:<br><br>net.ifnames=0 biosdevname=0<br><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Aug 4, 2016 at 10:09 AM, Alexander Thomas <span dir="ltr"><<a href="mailto:alexander.thomas@esaturnus.com" target="_blank">alexander.thomas@esaturnus.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">There was a discussion titled “example network script will misname<br>
interface if installing stretch” just a few weeks ago. It ended with:<br>
<br>
Thomas Lange wrote:<br>
> > Using jessie as the base os to install stretch.<br>
> > 30-interface will setup /etc/network/interfaces with<br>
> > something like eth0, and if you upgrade to stretch,<br>
> > it will reboot and eth0 is now named something like<br>
> > enp3s0f1.<br>
> This is already fixed in FAI 5.1.<br>
<br>
I now have the same problem while installing xenial from a jessie<br>
NFSroot. It defines an interface eth0 in /etc/network/interfaces, but<br>
when the installed system boots, the interface is named ‘ens3’.<br>
<br>
I installed FAI 5.1.2 and ensured I have the latest config scripts<br>
from the FAI git repository, but it makes no difference. I tried the<br>
following workaround inspired by the same discussion thread, by<br>
renaming $NIC1 in scripts/DEBIAN/30-interface as follows:<br>
<br>
NIC1="$(udevadm test /sys/class/net/$NIC1 2>/dev/null | fgrep<br>
ID_NET_NAME_SLOT | cut -d= -f2)"<br>
<br>
Although it feels dirty and unreliable and I don't know why I need to<br>
use SLOT here instead of PATH, it worked fine, at first. When I try to<br>
install a VM with a virtio network interface, it breaks. In that case,<br>
ID_NET_NAME_SLOT is no longer in the udevadm output, only<br>
ID_NET_NAME_MAC is. Still, the interface eventually becomes ‘ens3’,<br>
but that name is nowhere to be found in the udevadm output.<br>
<br>
How do I ensure /etc/network/interfaces is always written with the<br>
correct names? Or how do I end up with a truly predictable network<br>
device?<br>
<br>
<br>
Regards,<br>
Alexander<br>
</blockquote></div><br></div>