kubernetes-sigs/image-builder

Redhat raw images do not have all the required drivers in initrd

vignesh-goutham opened this issue · 0 comments

What steps did you take and what happened:
Built a rhel-8 raw image, and used the resulting image to run a baremetal cluster using Tinkerbell provider. The image failed to bootup. Upon inspection it looks like the initrd image does not include all the required drivers needed. After adding the drivers already available on the OS on dracut.conf, the image boots up properly.

What did you expect to happen:
The built raw image's initrd to include all the required drivers

Raw image builds use KVM to create a vm and run the image building on the vm, and export the disks. This is causing initrd to only consume drivers required to run on a KVM virtualized environment. An ansible task to force dracut to rebuild initrd with host mode set to false should be added to raw providers.

dracut --force --host-only=false

This will make the initrd image built to consume all drivers, and not only the ones required for running on a KVM virtual environment.

Project (Image Builder for Cluster API)

/kind bug
[One or more /area label. See https://github.com/kubernetes-sigs/cluster-api/labels?q=area for the list of labels]