Skip to content

Subscription and CSV don't bind each other #2201

@horis233

Description

@horis233

Bug Report

This is an intermittent defect we observe in the operator install and upgrade. Operator Subscription and CSV can't bind each other.

What did you do?
A clear and concise description of the steps you took (or insert a code snippet).

The issue has been seen in both fresh install and upgrade

  • A subscription is created for an Operator.
  • A operator is upgraded to a new version

What did you expect to see?
A clear and concise description of what you expected to happen (or insert a code snippet).

I expect the operator could be deployed or upgraded successfully

What did you see instead? Under which circumstances?
A clear and concise description of what you expected to happen (or insert a code snippet).

What I observe is the CSV of the operator is created, but there is no update in the subscription status, which cause even if the install plan is completed, the subscription is in the unknown status and CSV is in the Cannot Update status

Screen Shot 2021-06-09 at 10 01 47 AM

Also, it will block the catalog operator sync other operators.

E0609 14:02:55.116596       1 queueinformer_operator.go:290] sync "ibm-common-services" failed: constraints not satisfiable: pkgunique/ibm-odlm permits at most 1 of opencloud-operators/openshift-marketplace/v3/operand-deployment-lifecycle-manager.v1.6.0, opencloud-operators/openshift-marketplace/v3/operand-deployment-lifecycle-manager.v1.5.0, @existing/ibm-common-services//operand-deployment-lifecycle-manager.v1.6.0, gvkunique/operator.ibm.com/v1alpha1/OperandRegistry permits at most 1 of opencloud-operators/openshift-marketplace/v3/operand-deployment-lifecycle-manager.v1.6.0, @existing/ibm-common-services//operand-deployment-lifecycle-manager.v1.6.0, @existing/ibm-common-services//operand-deployment-lifecycle-manager.v1.6.0 is mandatory, ibm-odlm is mandatory, ibm-odlm requires at least one of opencloud-operators/openshift-marketplace/v3/operand-deployment-lifecycle-manager.v1.6.0, opencloud-operators/openshift-marketplace/v3/operand-deployment-lifecycle-manager.v1.5.0
I0609 14:02:55.116762       1 event.go:278] Event(v1.ObjectReference{Kind:"Namespace", Namespace:"", Name:"ibm-common-services", UID:"92621a07-5877-4ef2-bffa-dfb5e4252992", APIVersion:"v1", ResourceVersion:"146584", FieldPath:""}): type: 'Warning' reason: 'ResolutionFailed' constraints not satisfiable: pkgunique/ibm-odlm permits at most 1 of opencloud-operators/openshift-marketplace/v3/operand-deployment-lifecycle-manager.v1.6.0, opencloud-operators/openshift-marketplace/v3/operand-deployment-lifecycle-manager.v1.5.0, @existing/ibm-common-services//operand-deployment-lifecycle-manager.v1.6.0, gvkunique/operator.ibm.com/v1alpha1/OperandRegistry permits at most 1 of opencloud-operators/openshift-marketplace/v3/operand-deployment-lifecycle-manager.v1.6.0, @existing/ibm-common-services//operand-deployment-lifecycle-manager.v1.6.0, @existing/ibm-common-services//operand-deployment-lifecycle-manager.v1.6.0 is mandatory, ibm-odlm is mandatory, ibm-odlm requires at least one of opencloud-operators/openshift-market...
E0609 14:02:58.912745       1 queueinformer_operator.go:290] sync "ibm-common-services" failed: constraints not satisfiable: ibm-odlm requires at least one of opencloud-operators/openshift-marketplace/v3/operand-deployment-lifecycle-manager.v1.6.0, opencloud-operators/openshift-marketplace/v3/operand-deployment-lifecycle-manager.v1.5.0, @existing/ibm-common-services//operand-deployment-lifecycle-manager.v1.6.0 is mandatory, pkgunique/ibm-odlm permits at most 1 of opencloud-operators/openshift-marketplace/v3/operand-deployment-lifecycle-manager.v1.6.0, opencloud-operators/openshift-marketplace/v3/operand-deployment-lifecycle-manager.v1.5.0, @existing/ibm-common-services//operand-deployment-lifecycle-manager.v1.6.0, gvkunique/operator.ibm.com/v1alpha1/OperandRegistry permits at most 1 of opencloud-operators/openshift-marketplace/v3/operand-deployment-lifecycle-manager.v1.6.0, @existing/ibm-common-services//operand-deployment-lifecycle-manager.v1.6.0, ibm-odlm is mandatory
I0609 14:02:58.912840       1 event.go:278] Event(v1.ObjectReference{Kind:"Namespace", Namespace:"", Name:"ibm-common-services", UID:"92621a07-5877-4ef2-bffa-dfb5e4252992", APIVersion:"v1", ResourceVersion:"146584", FieldPath:""}): type: 'Warning' reason: 'ResolutionFailed' constraints not satisfiable: ibm-odlm requires at least one of opencloud-operators/openshift-marketplace/v3/operand-deployment-lifecycle-manager.v1.6.0, opencloud-operators/openshift-marketplace/v3/operand-deployment-lifecycle-manager.v1.5.0, @existing/ibm-common-services//operand-deployment-lifecycle-manager.v1.6.0 is mandatory, pkgunique/ibm-odlm permits at most 1 of opencloud-operators/openshift-marketplace/v3/operand-deployment-lifecycle-manager.v1.6.0, opencloud-operators/openshift-marketplace/v3/operand-deployment-lifecycle-manager.v1.5.0, @existing/ibm-common-services//operand-deployment-lifecycle-manager.v1.6.0, gvkunique/operator.ibm.com/v1alpha1/OperandRegistry permits at most 1 of opencloud-operators/openshift-marketplace/v3/...
I0609 14:03:02.744559       1 event.go:278] Event(v1.ObjectReference{Kind:"Namespace", Namespace:"", Name:"ibm-common-services", UID:"92621a07-5877-4ef2-bffa-dfb5e4252992", APIVersion:"v1", ResourceVersion:"146584", FieldPath:""}): type: 'Warning' reason: 'ResolutionFailed' constraints not satisfiable: ibm-odlm requires at least one of opencloud-operators/openshift-marketplace/v3/operand-deployment-lifecycle-manager.v1.6.0, opencloud-operators/openshift-marketplace/v3/operand-deployment-lifecycle-manager.v1.5.0, pkgunique/ibm-odlm permits at most 1 of opencloud-operators/openshift-marketplace/v3/operand-deployment-lifecycle-manager.v1.5.0, opencloud-operators/openshift-marketplace/v3/operand-deployment-lifecycle-manager.v1.6.0, @existing/ibm-common-services//operand-deployment-lifecycle-manager.v1.6.0, @existing/ibm-common-services//operand-deployment-lifecycle-manager.v1.6.0 is mandatory, gvkunique/operator.ibm.com/v1alpha1/OperandConfig permits at most 1 of opencloud-operators/openshift-marketplace/v3/op...

I upload files of CSV, Subscription and installplan for further investigations.
yaml-files.zip

Environment

  • operator-lifecycle-manager version:

0.16.1

Since we have seen this issue on OCP 4.7 and 4.8, I believe this defect is on 0.17.0 and 0.17.1 as well.

  • Kubernetes version information:

OCP 4.6,4.7,4.8

  • Kubernetes cluster kind:

OCP

Possible Solution

Delete the operator CSV and let the catalog operator reconcile it again.

Additional context
Add any other context about the problem here.

cc @pgodowski

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/bugCategorizes issue or PR as related to a bug.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions