Contrary to most ppl who posted so far I have Supermicro hardware, not HP and still see the same issue. This is happening on ubuntu xenial 16.04, both with a server install CD but also an installed system if I pull a disk from another server. In neither case I have biosdevname installed.
The interesting/funny/annoying this is that two very similar supermicro machines with the same intel i350 card work just fine. On the box where it breaks you can see from udev that the names selected where indeed conflicting:
Notice that for all of them ID_NET_NAME_ONBOARD=eno1 . This is correct from systemd perpsective since there is one card on this box and it's onboard. /lib/systemd/network/99-default.link does indeed specifty onboard before path which means all cards would end up being called eno1. Since this can't be true, the first one gets eno1, which is the case, and the remainder get renamed to "renameX".
On the boxes where this works it turns out that the ID_NET_NAME_ONBOARD is not set. Why that's the case I don't get it, it's almost the same mobo and definitely with the same onboard NIC... but that's why. I tried to change the order in /lib/systemd/network/99-default.link but for some reason that didn't help.
just to add a data point:
Contrary to most ppl who posted so far I have Supermicro hardware, not HP and still see the same issue. This is happening on ubuntu xenial 16.04, both with a server install CD but also an installed system if I pull a disk from another server. In neither case I have biosdevname installed.
The interesting/ funny/annoying this is that two very similar supermicro machines with the same intel i350 card work just fine. On the box where it breaks you can see from udev that the names selected where indeed conflicting:
P: /devices/ pci0000: 00/0000: 00:1c.0/ 0000:06: 00.0/net/ rename2 /devices/ pci0000: 00/0000: 00:1c.0/ 0000:06: 00.0/net/ rename2 FROM_DATABASE= I350 Gigabit Network Connection LINK_FILE= /lib/systemd/ network/ 99-default. link NAME_ONBOARD= eno1 NAME_PATH= enp6s0f0 pci0000: 00/0000: 00:1c.0/ 0000:06: 00.1/net/ rename3 /devices/ pci0000: 00/0000: 00:1c.0/ 0000:06: 00.1/net/ rename3 FROM_DATABASE= I350 Gigabit Network Connection LINK_FILE= /lib/systemd/ network/ 99-default. link NAME_ONBOARD= eno1 NAME_PATH= enp6s0f1 pci0000: 00/0000: 00:1c.0/ 0000:06: 00.2/net/ eno1 /devices/ pci0000: 00/0000: 00:1c.0/ 0000:06: 00.2/net/ eno1 FROM_DATABASE= I350 Gigabit Network Connection LINK_FILE= /lib/systemd/ network/ 99-default. link NAME_ONBOARD= eno1 NAME_PATH= enp6s0f2 pci0000: 00/0000: 00:1c.0/ 0000:06: 00.3/net/ rename5 /devices/ pci0000: 00/0000: 00:1c.0/ 0000:06: 00.3/net/ rename5 FROM_DATABASE= I350 Gigabit Network Connection LINK_FILE= /lib/systemd/ network/ 99-default. link NAME_ONBOARD= eno1 NAME_PATH= enp6s0f3
E: DEVPATH=
E: ID_BUS=pci
E: ID_MODEL_
E: ID_MODEL_ID=0x1521
E: ID_NET_DRIVER=igb
E: ID_NET_
E: ID_NET_
E: ID_NET_
--
P: /devices/
E: DEVPATH=
E: ID_BUS=pci
E: ID_MODEL_
E: ID_MODEL_ID=0x1521
E: ID_NET_DRIVER=igb
E: ID_NET_
E: ID_NET_
E: ID_NET_
--
P: /devices/
E: DEVPATH=
E: ID_BUS=pci
E: ID_MODEL_
E: ID_MODEL_ID=0x1521
E: ID_NET_DRIVER=igb
E: ID_NET_
E: ID_NET_
E: ID_NET_
--
P: /devices/
E: DEVPATH=
E: ID_BUS=pci
E: ID_MODEL_
E: ID_MODEL_ID=0x1521
E: ID_NET_DRIVER=igb
E: ID_NET_
E: ID_NET_
E: ID_NET_
Notice that for all of them ID_NET_ NAME_ONBOARD= eno1 . This is correct from systemd perpsective since there is one card on this box and it's onboard. /lib/systemd/ network/ 99-default. link does indeed specifty onboard before path which means all cards would end up being called eno1. Since this can't be true, the first one gets eno1, which is the case, and the remainder get renamed to "renameX".
On the boxes where this works it turns out that the ID_NET_NAME_ONBOARD is not set. Why that's the case I don't get it, it's almost the same mobo and definitely with the same onboard NIC... but that's why. I tried to change the order in /lib/systemd/ network/ 99-default. link but for some reason that didn't help.
hope that helps someone,
Spike