Foreman 2.5.1 / Katello 4.1 - CentOS Stream was faling to install with PXE boot (How I fixed it)

I’m just posting this here in case it helps others.
Back when I installed Foreman 2.4.0 / Katello 4.1 I was able to kickstart a CentOS Stream VM without issue. After upgrading to Foreman 2.5.1 / Katello 4.1 I couldn’t anymore.

The symptom was that:

modprobe --dry-run xfs

would fail saying it can’t be found in

/lib/modules/<kernel_version>/

How I fixed it?
I stumbled upon this post CentOS7 network installation fails - #2 by Jesse_Stroik
which gave me a hint.

So I moved away the files (kept a backup in case) in /var/lib/tftpboot/boot/
I had

drwxr-xr-x+ 3 foreman-proxy root           103 Jul  1 09:32 ../
-rw-r--r--+ 1 foreman-proxy foreman-proxy  53M May  3 18:08 c7-base-repo-143-initrd.img
-rw-r--r--+ 1 foreman-proxy foreman-proxy 6.5M May  3 18:08 c7-base-repo-143-vmlinuz
-rw-r--r--+ 1 foreman-proxy foreman-proxy  73M Jun 19 03:04 cstream-baseos-repo-768-initrd.img
-rw-r--r--+ 1 foreman-proxy foreman-proxy 9.7M Jun 11 03:03 cstream-baseos-repo-768-vmlinuz

And I went to create a CentOS Stream host again.
it populated /var/lib/tftpboot/boot/ with what looks the same files

-rw-r--r--. 1 foreman-proxy foreman-proxy  73M Jun 19 03:04 cstream-baseos-repo-768-initrd.img
-rw-r--r--. 1 foreman-proxy foreman-proxy 9.7M Jun 11 03:03 cstream-baseos-repo-768-vmlinuz

but checking the md5sum of old and new initrd and vmlinuz files showed they were different.

CentOS Stream host was kickstarted over PXE boot and configured all the way.

I don’t understand why the initird & vmlinuz files were not overwritten with current version though so maybe there’s a bug here.

4 Likes

Thx… had exactly the same problem today, saved a lot of time. (Provisioning CentOS 8 Stream)

1 Like

These kinds of errors happen when smart-proxy is unable to correctly download both kernel and initramdisk. Typically when downloading of initramdisk is interrupted, the file is left corrupted (we use wget -c) and various kernel-module errors appear.

The solution: delete both and let them redownload from scratch.