Unsolved XCP-ng latest - newly imaged CentOS Stream 8 hosts don't do kernel updates
I'm migrating from VMware 7 to the most recent XCP-ng. I've just started using XCP-ng after years with VMware.
Today I noticed that hosts I image on XCP-ng don't change grub2 to use the most recent kernel even though it's installed during a dnf update. I do not have this problem with bare-iron or VMware-hosted hosts. Even hosts that I start on VMware then move to XCP-ng via VMDK -> OVA -> VDI update correctly. It's just hosts imaged on XCP-ng that have a problem.
The hosts are all using UEFI. The OS being installed is CentOS Stream 8. I'm creating the VM in XOA, selecting the "CentOS 8" template then changing the boot from BIOS to UEFI.
I'm imaging hosts on VMware and XCP-ng using the exact same ks.cfg file except "--drives=sda" Vs "--drives=xvda".
On investigation I see a missing line in /etc/default/grub on the hosts that aren't updating properly:
I can get things working with:
sudo dnf reinstall -y grub2-tools-2.02-129.el8.x86_64 sudo dnf reinstall kernel-core-4.18.0-448.el8.x86_64 kernel-4.18.0-448.el8.x86_64
The first rebuilds /etc/default/grub, inserting missing ENABLE line and the second properly updates grub2.
Of course, I'd really prefer to have hosts properly configured on install so I don't have to play games with puppet or other management tools to make sure this line is present.
Is there a XCP-ng setting I'm missing? Anything else I'm obviously overlooking?
olivierlambert Vates 🪐 Co-Founder🦸 CEO 🧑💼
Weird, I don't think the guest behavior should change more than the disk driver used. @stormi any opinion?
stormi Vates 🪐 XCP-ng Team 🚀
I don't see any obvious settting, and XCP-ng won't interfere with a guest OS installation, so the root cause for this missing
GRUB_ENABLE_BLSCFG=truemust be somewhere in the installation process, triggered by I-don't-know-what when being installed in an XCP-ng guest.