Discovery plugin / possible to expect a CentOS8 ethernet naming in a near future?

Hello,

I use the last 3.7 version. Is it possible to expect a next version that will provide the CentOS8/RHEL8 native ethernet network naming conventions ? Because for now, the names are not the same that after install and I would be very convenient to read the same names.
Regards

Hello,

what ethernet naming conventions are on your mind? If you refer to systemd naming:

https://www.freedesktop.org/software/systemd/man/systemd.net-naming-scheme.html

This has been added into RHEL 7.0 with exception of virtio driver which still use eth0. This was a bug that could not be fixed until RHEL 8.0.

Hello,
We use default naming from OS.
Here is an exemple !

Here is once RHEL8 installed :

]# cat /proc/cmdline
BOOT_IMAGE=(hd0,msdos1)/vmlinuz-4.18.0-240.el8.x86_64 root=/dev/mapper/vg00-root ro nofb splash=quiet crashkernel=auto resume=/dev/mapper/vg00-swap rd.lvm.lv=vg00/root rd.lvm.lv=vg00/swap rhgb quiet
[root@obench29s ~]# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens1f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether a0:36:9f:f1:ff:20 brd ff:ff:ff:ff:ff:ff
3: eno1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether 34:80:0d:9e:e1:70 brd ff:ff:ff:ff:ff:ff
4: ens1f1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether a0:36:9f:f1:ff:21 brd ff:ff:ff:ff:ff:ff
5: eno2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether 34:80:0d:9e:e1:71 brd ff:ff:ff:ff:ff:ff
6: ens1f2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether a0:36:9f:f1:ff:22 brd ff:ff:ff:ff:ff:ff
7: eno3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether 34:80:0d:9e:e1:72 brd ff:ff:ff:ff:ff:ff
8: ens1f3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether a0:36:9f:f1:ff:23 brd ff:ff:ff:ff:ff:ff
9: eno4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 34:80:0d:9e:e1:73 brd ff:ff:ff:ff:ff:ff
10: idrac: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN mode DEFAULT group default qlen 1000
    link/ether 58:8a:5a:f5:a3:07 brd ff:ff:ff:ff:ff:ff

Regards

Iā€™ts like the discovery uses biosdevname=1. But we donā€™t.

Discovery does not use biosdevname=1 by default and I still do not understand your concern. Please elaborate.

Hello,
It does not but look at the example above. I thought it was quite telling yet.
Discovery presents em1,2,3,4 whereas basic installed CentOS presents eno for instance.

Oh yeah I missed the block (which I reformatted).

I think you are missing biosdevname package on the installed system. It should be present on the discovery image. Can you check that: em1 interface renamed to eno1 ; p1p1 interface renamed to enp129s0f0 after system reboot - Red Hat Customer Portal

Also do this: dmesg | grep "renamed from" on both systems.

Hello,
Default RHEL8 grub does not use biosdevname.
And my server has already biosdevname installed.

# rpm -qa biosdev*
biosdevname-0.7.3-2.el8.x86_64
# cat /proc/cmdline
BOOT_IMAGE=(hd0,msdos1)/vmlinuz-4.18.0-240.el8.x86_64 root=/dev/mapper/vg00-root ro nofb splash=quiet crashkernel=auto resume=/dev/mapper/vg00-swap rd.lvm.lv=vg00/root rd.lvm.lv=vg00/swap rhgb quiet
# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens1f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether a0:36:9f:f1:ff:20 brd ff:ff:ff:ff:ff:ff
3: ens1f1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether a0:36:9f:f1:ff:21 brd ff:ff:ff:ff:ff:ff
4: eno1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether 34:80:0d:9e:e1:70 brd ff:ff:ff:ff:ff:ff
5: ens1f2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether a0:36:9f:f1:ff:22 brd ff:ff:ff:ff:ff:ff
6: eno2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether 34:80:0d:9e:e1:71 brd ff:ff:ff:ff:ff:ff
7: ens1f3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether a0:36:9f:f1:ff:23 brd ff:ff:ff:ff:ff:ff
8: eno3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether 34:80:0d:9e:e1:72 brd ff:ff:ff:ff:ff:ff
9: eno4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 34:80:0d:9e:e1:73 brd ff:ff:ff:ff:ff:ff
10: idrac: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN mode DEFAULT group default qlen 1000
    link/ether 58:8a:5a:f5:a3:07 brd ff:ff:ff:ff:ff:ff

For my understanding, the strange fact is to retrieve biosdevname set in the discovery imageā€¦

I edited your post for the second time, please use proper formatting when pasting output.

I do not understand.

I asked RHEL engineers here at Red Hat what would cause such behavior, if you say both discovery and provisioned system have default kernel line options and the package installed, I would really expect to have them both the same NIC names. I do not know what is wrong, I am seeing this for the first time.

What hardware and network card is that?

DELL R640

|Integrated NIC 1|QLogic 4x10GE QL41164HMCU CNA - 34:80:0D:9E:E1:70|
|NIC Slot 1|Intel(R) Gigabit 4P I350-t Adapter - A0:36:9F:F1:FF:20|
machine is DELL PowerEdge R640
network cards are :
-Integrated NIC 1|QLogic 4x10GE QL41164HMCU CNA - 34:80:0D:9E:E1:70|
-|NIC Slot 1|Intel(R) Gigabit 4P I350-t Adapter - A0:36:9F:F1:FF:20|

ā€œI do not understandā€
The naming on my installed system seems normal for me.

I was not expecting to get em interface except with biosdevname enabled.
To check, Iā€™ve set biosdevname into the boot kernel line and here is the result :slight_smile:

cat /proc/cmdline

BOOT_IMAGE=(hd0,msdos1)/vmlinuz-4.18.0-240.el8.x86_64 root=/dev/mapper/vg00-root ro nofb splash=quiet crashkernel=auto resume=/dev/mapper/vg00-swap rd.lvm.lv=vg00/root rd.lvm.lv=vg00/swap rhgb quiet biosdevname=1
[root@obench29s ~]# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens1f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether a0:36:9f:f1:ff:20 brd ff:ff:ff:ff:ff:ff
3: p1p2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
link/ether a0:36:9f:f1:ff:21 brd ff:ff:ff:ff:ff:ff
4: em1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
link/ether 34:80:0d:9e:e1:70 brd ff:ff:ff:ff:ff:ff
5: p1p3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
link/ether a0:36:9f:f1:ff:22 brd ff:ff:ff:ff:ff:ff
6: em2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
link/ether 34:80:0d:9e:e1:71 brd ff:ff:ff:ff:ff:ff
7: p1p4: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
link/ether a0:36:9f:f1:ff:23 brd ff:ff:ff:ff:ff:ff
8: em3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
link/ether 34:80:0d:9e:e1:72 brd ff:ff:ff:ff:ff:ff
9: em4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 34:80:0d:9e:e1:73 brd ff:ff:ff:ff:ff:ff
10: idrac: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN mode DEFAULT group default qlen 1000
link/ether 58:8a:5a:f5:a3:07 brd ff:ff:ff:ff:ff:ff

So this the mystery why the FDI foreman discovery system (and maybe also the live image of RHEL8 ) use the biosdevname like it would be set.

RHEL engineers replied to me: biosdevname is automatically enabled on Dell hardware at RHEL 7. But it isnā€™t automatically enabled on Dell hardware at RHEL8.

Unfortunately, I do not have a solution for you other than

More details at

We should be looking into upgrading discovery to EL8 this year, there is a major change there going from livecd-creator to lorax, I would rather switch away from live CD completely to dracut instead.

1 Like

One thing which comes to my mind is - why exactly do you need interfaces to be the same? I mean, obviously itā€™s good for consistency, but technically Foreman deploys MAC addresses to ifcfg configuration files, so even if ifcfg-XXXX is named incorrectly, NetworkManager should pick and configure network correctly.

Hello,
Thank you Iā€™ve also checked that but for the operator, and for bonding name guess, It would be better to read the final names.
BTW, is it a big deal to make a new version using version 8 ?
Regards

I do not know, Iā€™d need to take a look. Technically, itā€™s a change in the tool that builds the image. But we need then to revisit out release process, jenkins building job, downstream process. What can look like an easy change can actually be pretty challenging.

But even if we have EL8-based discovery, you will have the same problem when you want to install an EL7 system. It would be just the other way around.

Try it out yourself, building FDI is not difficult actually:

Instructions will not work, you need to use livemedia-creator instead. I think we might add support for this tho while continue building EL7 FDI image.

For the record, I tried to build discovery off CentOS8. After runniing bulid-livecd from the git repository which writes new fdi-image.ks I edited it accordingly:

network  --bootproto=dhcp
url --mirrorlist=http://mirrorlist.centos.org/?release=8&arch=$basearch&repo=baseos
repo --name="AppStream" --mirrorlist=http://mirrorlist.centos.org/?release=8&arch=$basearch&repo=appstream
repo --name="epel8" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=epel-8&arch=x86_64
repo --name="foreman-el8" --baseurl=http://yum.theforeman.org/releases/nightly/el8/$basearch/
repo --name="foreman-plugins-el8" --baseurl=http://yum.theforeman.org/plugins/nightly/el8/$basearch/
module --name=ruby --stream=2.7
#auth --useshadow --enablemd5
clearpart --all --initlabel
part / --fstype="ext4" --size=4000
shutdown

And in the packages section, I added dracut-live but removed OpenIPMI-tools, acpid, bind-utils, isomd5sum, tcpdump, tftp, uuid. Finally I renamed tfm-rubygem-facter to just rubygem-facter. Then the command was:

sudo livemedia-creator --ks fdi-image.ks --make-iso --iso centos.iso --tmp /tmp
2021-05-18 09:19:00,219: livemedia-creator v34.9-1
2021-05-18 09:19:00,219: selinux is enabled and in Permissive mode
2021-05-18 09:19:00,307: disk_img = /tmp/lmc-disk-mr2qmvzx.img
2021-05-18 09:19:00,307: Using disk size of 4002MiB
2021-05-18 09:19:00,307: install_log = /home/lzap/work/foreman-discovery-image/virt-install.log
2021-05-18 09:19:01,053: qemu vnc=127.0.0.1:0
2021-05-18 09:19:01,053: Running qemu
2021-05-18 09:19:01,077: Processing logs from ('127.0.0.1', 43800)
2021-05-18 09:24:22,108: Installation finished without errors.
2021-05-18 09:24:22,109: Shutting down log processing
2021-05-18 09:24:22,109: unmounting the iso
2021-05-18 09:24:22,128: Disk Image install successful
2021-05-18 09:24:22,128: working dir is /tmp/lmc-work-xpjl3jue
2021-05-18 09:24:22,172: Partition mounted on /tmp/tmpt7b80s77 size=4194304000
2021-05-18 09:24:22,172: Using disk size of 4002MiB
2021-05-18 09:24:22,204: [Errno 2] AdresĆ”Å™ nebo soubor neexistuje: '/tmp/tmpt7b80s77/boot'

Unfortunately, I am running into an issue I donā€™t know how to solve. I asked the devs:

I was able to build a FDI. I havenā€™t tested much of its features tho:

Please share if that works for you.