Troubleshooting catalog issues

Symptom

When you try to install a catalog, like the IBM Operator Catalog or an IBM Cloud Pak CASE catalog, your catalogsource pods encounter an ImagePullBackOff error. The following pod status and log entries illustrate this issue:

  • Using the kubectl get pods command:

    -> kubectl get pods .... -n openshift-marketplace
    NAME           READY   STATUS             RESTARTS   AGE
    ....           0/1     ImagePullBackOff   0          4m2s
    
  • Using the kubectl logs command

    -> kubectl logs .... -n openshift-marketplace
    Error from server (BadRequest): container "registry-server" in pod "...." is waiting to start: trying and failing to pull image
    
  • Using the kubectl describe command

    -> kubectl describe pod .... -n openshift-marketplace
     ...
      Warning  Failed          2m53s (x4 over 4m29s)  kubelet            Failed to pull image "....": rpc error: code = Unknown desc = choosing image instance: no image found in manifest list for architecture arm64, variant "", OS linux
      Warning  Failed          2m53s (x4 over 4m29s)  kubelet            Error: ErrImagePull
      Warning  Failed          2m38s (x6 over 4m28s)  kubelet            Error: ImagePullBackOff
     ...
    

Cause

Multi-architecture compute node clusters are supported with Red Hat OpenShift Container Platform 4.14. Not all catalog sources contain node affinity to route catalog correctly in a multi-arch compute node cluster. As a result, when you try to install, for example, a IBM Cloud Pak CASE catalog, it might result in an error because it is landing on a non-compatible node.

Solution

Target a supported architecture within your cluster in your catalogsource definition to route your pods to your architecture. The following example illustrates the catalogsource definition routing catalogsource pods to amd64.

grpcPodConfig:
  nodeSelector:
    kubernetes.io/arch: amd64