Could not talk to Docker/Containerd/CRI: Could not initialize container handler

Hi,

I have the following when deploying PX-Essentials on OCP 4.6.1.

In the PX docs, it says
<<

  • In Kubernetes environments, Portworx installation starts by deploying OCI-Monitor Daemonset, which monitors and manages the Portworx service. In order to download, install and/or validate the Portworx service, the OCI-Monitor connects to the appropriate Kubernetes container runtime via socket-files that need to be mounted into the OCI-Monitor’s POD.
  • Please inspect the Portworx DaemonSet spec, and ensure the appropriate socket-files/directories are mounted as volumes from the host-system into the Portworx POD. Alternatively, you can [reinstall Portworx], or at minimum generate a new YAML-spec via the Portworx spec generator page in [PX-Central], and copy the volume-mounts into your Portworx spec.

But cannot find anywhere how to coipy those volume mounts.

Can somebody help ?

Thx
Franck

======================================================================

time=“2020-11-01T08:36:56Z” level=info msg=“Input arguments: /px-oci-mon -c portworx -x kubernetes -b -a -secret_type k8s -r 17001 --oem esse -marketplace_name OperatorHub”
time=“2020-11-01T08:36:56Z” level=info msg=“Updated arguments: /px-oci-mon -c portworx -x kubernetes -b -a -secret_type k8s -r 17001 -marketplace_name OperatorHub”
time=“2020-11-01T08:36:56Z” level=info msg=“OCI-Monitor computed version v2.5.7-g88a03c4f-dirty”
time=“2020-11-01T08:36:56Z” level=info msg=“Service handler initialized via as DBus{type:dbus,svc:portworx.service,id:0xc000495ba0}”
time=“2020-11-01T08:36:56Z” level=info msg=“Activating REST server”
time=“2020-11-01T08:36:56Z” level=info msg=“Locating my container handler”
time=“2020-11-01T08:36:56Z” level=info msg="> Attempt to use Docker as container handler failed" error="/var/run/docker.sock not a socket-file"
time=“2020-11-01T08:36:56Z” level=info msg="> Attempt to use ContainerD as container handler failed" error=“stat /run/containerd/containerd.sock: no such file or directory”
time=“2020-11-01T08:36:56Z” level=info msg="> Attempt to use k8s-CRI as container handler failed" error=“CRI-Socket path not specified”
time=“2020-11-01T08:36:56Z” level=error msg=“Could not instantiate container client” error=“Could not initialize container handler”
Usage: /px-oci-mon [options]

options:
–endpoint ip:port Start REST service at specific endpoint
–dev Deploy PX-Developer rather than PX-Enterprise build
–sync Will issue sync operation before stopping/restarting the PX-OCI service
–drain-all Will drain ALL PX-dependent pods before upgrade (dfl. only managed nodes get drained)
–log Will use logfile instead of Docker-log
–ignore-preexec-fail Will ignore failed Pre/Post -exec scriplets
–disable-service-log Disables following portworx-service log
–max-log-lines <#> Specify number of log-lines when flushing portworx service logs
–cnthandler Force a container handler ( is docker or containerd)
–svcandler Force a service handler ( is dbus, dbusp, nssysd or nsups)
–debug Increase logs-verbosity to debug-level

  •                  Any additional options will be passed on to px-runc
    

NOTE that any options not explicitly listed above, will be passed directly to px-runc.
For details please see

time=“2020-11-01T08:36:56Z” level=error msg=“Could not talk to Docker/Containerd/CRI: Could not initialize container handler - please ensure ‘/var/run/docker.sock’, ‘/run/containerd/containerd.sock’ or ‘/var/run/crio/crio.sock’ are mounted.”

Hi !
As far as i know PX-Essentials do not have OCP 4.6.x official support yet.
But you can annotate nodes, pointing PX where to find CRI-O socket: kubeadm.alpha.kubernetes.io/cri-socket: /var/run/crio/crio.sock and OCI-Monitor will continue install after that.

Hope this help.