The current crio.conf installed in 4.5 has the wrong hooks dir: # Path to OCI hooks directories for automatically executed hooks. If one of the # directories does not exist, then CRI-O will automatically skip them. hooks_dir = [ "/usr/share/containers/oci/hooks.d", ] It should be hooks_dir = [ "/etc/containers/oci/hooks.d", ] /usr/share/containers/oci/hooks.d was removed because (1) it is read only and (2) there are no default hooks enabled. MCO merged a new config system from FCOS "templates: Migrate to CoreOS config format". Looking at https://github.com/openshift/machine-config-operator/blob/master/templates/worker/01-worker-container-runtime/_base/files/crio.yaml there are no settings for the default hooks dir. These changes are breaking all NVIDIA GPU operator installations. OCP 4.5 is not usable with GPUs.
https://github.com/openshift/machine-config-operator/pull/1299/files This added the default hook directories.
When I add the dir /etc/containers/oci/hooks.d/ to crio.conf the hooks are fired.
attached PR should fix this
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (OpenShift Container Platform 4.6 GA Images), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2020:4196