Bare Metal IPI provisioning is failing to provision the worker nodes. The metal3-machine-os-downloader InitContainer is getting in CrashLoopBackOff state because it cannot find virt-* commands in the container image.
Since https://github.com/openshift/ocp-build-data/pull/1757, the ironic-machine-os-downloader container image is built using RHEL9 repositories.
However, following upstream move of guestfs tools to a dedicated repository , the libguestfs packaging differs between RHEL8 and RHEL9:
- the libguestfs-tools-c package containing most virt-* commands is now provided by the guestfs-tools package
- the libguestfs-tools package is now provided by the virt-win-reg package which does not require the libguestfs-tools-c package anymore
Since the Dockerfile specifies only the libguestfs-tools package, the virt-* commands are not installed when using RHEL9 repositories.
A trivial fix is to update the Dockerfile to install the guestfs-tools package instead of the libguestfs-tools package.