BMYPC6007

A Catalogsource is not ready.

Severity

Error

Problem description

It indicates that a Catalogsource in the OpenShift® is either not ready or not healthy. It is required for any operator lifecycle management operation, such as installation or upgrade to function. All catalog sources in the OpenShift cluster must be healthy and ready. Any unhealthy catalog source impacts the OLM functions in the cluster.

Recommended actions

Do the following steps to resolve the issue:
  • Some of the possible reasons with diagnostic steps for a catalog source to not work are as follows:
    1. Invalid image name in the catalog source:
      • Check the pod for the given catalog source in its dedicated namespace or openshift-marketplace namespace.
      • Run the following command to describe the pod.
        oc describe pod <pod name> -n <namespace>
      • If you find an error with the message invalid image reference under events section, then fix the image field in the catalog source YAML. Wait for the catalog source to turn healthy.
    2. Missing images in the registry for disconnected setup:
      • Check the pod for the given catalog source in its dedicated namespace or openshift-marketplace namespace.
      • Run the following command to describe the pod.
        oc describe pod <pod name> -n <namespace>
      • If you find an error with the message unknown manifest under events section, mirror images to enterprise registry and wait for catalog source to turn healthy.
    3. Missing ImageContentSourcePolicy for disconnected set up:
      • Check the pod for the given catalog source in its dedicated namespace or openshift-marketplace namespace.
      • Run the following command to describe the pod.
        oc describe pod <pod name> -n <namespace>
      • If you find an error with the messages unknown manifest and Mirrors failed under events section, then review the imagecontentsourcepolicy applied for any incorrect paths or ports or spelling mistakes. Fix them and wait for catalog source to turn healthy.
    4. Missing credentials for the registry in the global pull-secret of the openshift-config namespace. Check the credentials in the global pull-secret in the openshift-config namespace:
      • Check the pod for the given catalog source in its dedicated namespace or openshift-marketplace namespace.
      • Run the following command to describe the pod.
        oc describe pod <pod name> -n <namespace>
      • If you find an error with the messages Unknown desc = unable to retrieve auth token: invalid and username/password: unknown: Authentication is required under events section, then review the pull-secret in openshift-config namespace for correct credentials for registry where the image is referenced. Fix auth for registry in secret and wait for catalog source to turn healthy.
    5. Connection error to the registry. Make sure that the firewall and proxy do not block registry and port access.
      • Check the pod for the given catalog source in its dedicated namespace or openshift-marketplace namespace.
      • Run the following command to describe the pod.
        oc describe pod <pod name> -n <namespace>
      • If you find an error with the messages pinging container registry registry.redhat.io: Get and "https://<registryhost>": dial tcp <registryip>: connect: connection refused under events section, then review the firewall and proxy settings to make sure that registry access is allowed to the cluster and wait for catalog source to turn healthy.

After the CatalogSource is in a ready state, the upgrade precheck detects the fix and resumes the upgrade operation automatically.

If you want to override the prechecks that are blocking the upgrade, do the following steps:

It converts the Error prechecks to Warning prechecks and triggers the upgrade.
Note: Before using the precheck-acks configmap to override the pre-checks, ensure that the unhealthy resource does not affect the upgrade.
  1. Run the following command and export IBM Storage Fusion namespace as an environmental variable.
    export FUSION_NS="namespace-where-fusion-is-installed"
  2. Run the following command to create a precheck-acks configmap in the namespace where the IBM Storage Fusion is installed.
    oc create configmap precheck-acks -n $FUSION_NS
  3. In the precheck-acks config map, add the key CatalogSourceStatus and set the value to true.
    oc patch configmap precheck-acks -n $FUSION_NS --type merge -p '{"data": {"CatalogSourceStatus": "true"}}'