-
Story
-
Resolution: Done
-
Undefined
-
None
-
None
-
None
Right now, the MCO allows a cluster admin to selectively install either a realtime kernel or, if they're on ARM64, it allows them to install a kernel with support for 64k pages. This is done by setting the kernelType field on a MachineConfig to either realtime or 64k-pages. The MCO does this currently by having the MCD install the appropriate packages for the given kernel. However, in OCL, the kernelType field will be ignored for two reasons: 1) The MCD will not install these packages since this code path is not activated by OCL since it is assumed that the layered image has the appropriate kernel installed. 2) BuildController does not currently consider that field.
Instead, BuildController should respect the kernelType field and install the appropriate kernel. As an implementation detail, the RPMs for these additional kernels can be found within the extensions image that is part of every OpenShift release. This means that we can leverage the extensions installation process to implement this. However, for OKD on FCOS, there is no extensions image so we'll need to install the packages directly from the repository instead.
It is worth mentioning that installing these kernels via OCL is possible, even without the kernelType field being respected. All one would have to do is include something like rpm-ostree install kernel-rt in their Containerfile.