Bug 2122097

Summary: Kernelcmd not being honored during provisioning using Kickstart default PXELinux template
Product: Red Hat Satellite Reporter: sganar
Component: Provisioning TemplatesAssignee: satellite6-bugs <satellite6-bugs>
Status: NEW --- QA Contact: Satellite QE Team <sat-qe-bz-list>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.11.2CC: lstejska, mhulan
Target Milestone: UnspecifiedKeywords: Triaged, WorkAround
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description sganar 2022-08-29 05:51:26 UTC
This bug was initially created as a copy of Bug #2122096


Description of problem:
Kernelcmd not being honored during provisioning using Kickstart default PXELinux template

I am trying to set net.ifnames=0 and biosdevname=0 to kickstart a rhel-7 host using the “Kickstart default PXELinux” template. I want to use the eth naming convention for the interfaces. Here is the command I use to create the host.

```
hammer host create \
  --name tests001 \
  --architecture x86_64 \
  --build true \
  --content-view rhel-7-server \
  --domain local.net \
  --enabled true \
  --lifecycle-environment rhel-7-server_08-08-2022 \
  --location MyLocation \
  --managed true \
  --medium rhel-server-7.7-x86_64-dvd-20190728 \
  --operatingsystem rhel-server-7.7-x86_64 \
  --organization MyOrganization \
  --overwrite true \
  --partition-table "rhel-7-server-dynamic-xfs" \
  --product rhel-7-server-rpms \
  --provision-method build \
  --pxe-loader "PXELinux BIOS" \
  --interface "mac=08:00:27:cc:2a:40, \
               ip=192.168.0.145, \
               type=interface, \
               managed=true, \
               primary=true, \
               provision=true, \
               subnet=192.168.0.0, \
               virtual=false" \
  --interface "mac=08:00:27:f0:6d:8a, \
               ip=192.168.1.145, \
               type=interface, \
               managed=true, \
               primary=false, \
               provision=false, \
               subnet=192.168.1.0, \
               virtual=false" \
  --parameters "selinux-mode=permissive, \
                bootloader-append=selinux=1 audit=1 transparent_hugepage=never, \
                time-zone=Etc/GMT, \
                disable-firewall=false, \
                redhat_install_agent=false, \
                redhat_install_host_tools=false, \
                redhat_install_host_tracer_tools=false, \
                activation_key=rhel-7-server-latest, \
                atomic=false, \
                subscription_manager=true, \
                subscription_manager_auto_attach=false, \
                subscription_manager_certpkg_url=http://formn001/pub/katello-ca-consumer-latest.noarch.rpm, \
                subscription_manager_org=MyOrganization, \
                package_upgrade=true, \
                loader_timeout=2, \
                kernelcmd=net.ifnames=0 biosdevname=0"
```

After I run the command, I navigate to “Hosts > Provisioning Templates > Kickstart default PXELinux” and select Preview. I can see the APPEND line correctly shows “net.ifnames=0 biosdevname=0”.

`APPEND initrd=boot/rhel-server-7-7-x86_64-dvd-20190728-qWmnKQBMBQsJ-initrd.img net.ifnames=0 biosdevname=0 network ksdevice=bootif ks.device=bootif BOOTIF=01-08-00-27-cc-2a-40 ks=http://formn001.local.net/unattended/provision?token=3d07f52d-740d-4e3a-b9bd-07068bdbfa8d kssendmac ks.sendmac ip=192.168.0.145::192.168.0.1:255.255.255.0:tests001.local.net::none nameserver=192.168.0.12 nameserver=192.168.1.12`

After that I start the new VM using Oracle VM VirtualBox and boot to the network. The correct PXE menu is displayed, and I hit TAB to see the pxe command line. I see everything as written in the APPEND line above except for net.ifnames=0 and biosdevname=0. If I continue to provision the host everything is setup correctly except net.ifnames=0 and biosdevname=0 are not honored and I do not get the eth naming convention. I can manually enter net.ifnames=0 and biosdevname=0 on the pxe command line and it works correctly, but that is not feasible to provision hundreds of hosts.

If I clone the template and manually add net.ifnames=0 and biosdevname=0, I can see it on the pxe command line, the options are honored, and I get the eth naming convention.

Version-Release number of selected component (if applicable):
satellite 6.11.2

How reproducible:
Always

Actual results:
net.ifnames=0 and biosdevname=0 not showing on the pxeboot command line

Expected results:
Expecting net.ifnames=0 and biosdevname=0 to show on the pxeboot command line

Additional info:
Upstream link : https://community.theforeman.org/t/kernelcmd-not-being-honored-during-provisioning-using-kickstart-default-pxelinux-template/30094

Comment 1 Brad Buckingham 2022-08-29 13:07:40 UTC
*** Bug 2122096 has been marked as a duplicate of this bug. ***

Comment 2 Brad Buckingham 2023-09-01 21:10:52 UTC
Upon review of our valid but aging backlog the Satellite Team has concluded that this Bugzilla does not meet the criteria for a resolution in the near term, and are planning to close in a month. This message may be a repeat of a previous update and the bug is again being considered to be closed. If you have any concerns about this, please contact your Red Hat Account team.  Thank you.