CentOS 8.3 can't boot OS installer (KVM + VirtIO)

Problem: AFAICT not related to foreman, but to CentOS 8.3 itself.

I noticed that I am unable to boot the OS installer when I use the images provided with CentOS 8.3. What I was able to find out is that the problem seems to be that the image, after booting, is unable to get an IP address.

The NIC seems to be set to down and not attempting to configure itself with DHCP. Does anyone know if anything significant changed in CentOS 8.3 that would require a modification to the cmdline options passed to the image when booting (except ip=dhcp)

Expected outcome: Install CentOS 8.3 from PXE.

Have a look at the patch here:
https://github.com/theforeman/foreman/pull/8179

It’s a change in 8.3 that breaks our templates :frowning:

2 Likes

:man_facepalming:

That looks like a breaking change in a minor release :frowning:

Thanks for pointing that out! I’ll try to adapt my templates with this patch!

1 Like

I’m trying to fix my iPXE machines, but I don’t know where the options below are coming from.

I have already updated the kickstart_kernel_options snippet, as well as the Kickstart default iPXE (your patch updates only PXELinux, right?)

Found it!

Don’t forget to update the Minor Version in the ‘Operating systems’ :wink:

Hmm, setting the minor release creates a new problem…

When the OS is configured as below (no minor version):

[root@deploy ~]# hammer os show --id 4
Id:                 4
Title:              CentOS 8
Release name:       
Family:             Redhat
Name:               CentOS
Major version:      8
Minor version:      

It works just fine, however, when I set the minor version of the OS to 3, it will render the templates for the host groups correctly. But, if you touch them (e.g. by opening them in the web UI), the configured ‘Sycned Content’ falls off, as the repo does not report the minor version and therefore no longer matches the OS.

Any idea how to fix that?

Well you can always hardcode the change in the template. Or you can introduce a host param named something like force-bootif-workaround or something like that and apply that if its present. If you choose to, please contribute the change because what you are running into (not using minor version for your OS) might be a problem for other users as well. Thanks.

I’ll look into that :slight_smile: first I want to fix my environment’s issues with syncing smart proxies (I have some issues with PLP00000 errors leaving them not completely synced and therefore kinda useless)

Your suggestion works like a charm!

If you change line 25 of kickstart_kernel_options to look like this

if mac && rhel_compatible && os_major == 8 && os_minor == 3 || host_param_true?('force_bootif_workaround')

and then set force_bootif_workaround to true in your host parameters, you’re good to go.

How can I make a PR to get this merged? It needs a bug report first, right?

Patches are now in develop branch and on the way to 2.2 and 2.3 releases via updates.

1 Like