Troubleshoot deploymentConfig

Common deploymentConfig issues include validation errors, configuration verification problems, and annotation conflicts that can prevent successful Operator installation.

Important

OLM v1 deploymentConfig API is a Technology Preview feature only. Technology Preview features are not supported with Red Hat production service level agreements (SLAs) and might not be functionally complete. Red Hat does not recommend using them in production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process.

For more information about the support scope of Red Hat Technology Preview features, see Technology Preview Features Support Scope.

Validation errors

Check the Progressing condition for validation errors when installation fails:

$ oc get clusterextension <extension_name> -o jsonpath='{.status.conditions[?(@.type=="Progressing")].message}'

Common validation errors and resolutions:

Unknown field

Configuration includes an unsupported field. Remove unsupported fields.

Type mismatch

Field value does not match the expected type. Verify field types match Kubernetes specifications.

Required field missing

Mandatory nested field is missing. Complete all required fields in nested structures.

Verifying applied configuration

Inspect the Operator deployment to verify applied configurations:

$ oc get deployment -n <namespace> -l olm.operatorframework.io/owner-name=<extension_name> -o yaml

Configuration locations in the deployment specification:

  • Environment variables: spec.template.spec.containers[].env and spec.template.spec.containers[].envFrom

  • Resources: spec.template.spec.containers[].resources

  • Node selector: spec.template.spec.nodeSelector

  • Tolerations: spec.template.spec.tolerations

  • Affinity: spec.template.spec.affinity

  • Volumes: spec.template.spec.volumes and spec.template.spec.containers[].volumeMounts

  • Annotations: metadata.annotations and spec.template.metadata.annotations

Annotation conflicts

Bundle annotations take precedence over deploymentConfig annotations when keys conflict. View the installed bundle information:

$ oc get clusterextension <extension_name> -o jsonpath='{.status.install.bundle}'

This returns the bundle name and version. To see the annotations applied to the Operator pod template:

$ oc get deployment -n <namespace> -l olm.operatorframework.io/owner-name=<extension_name> -o jsonpath='{.items[0].spec.template.metadata.annotations}'

To override a bundle annotation, modify the bundle or accept the bundle value.