operator icon indicating copy to clipboard operation
operator copied to clipboard

OLM can't perform dependency resolution when depending on Tekton/OpenShift Pipelines operator

Open illeatmyhat opened this issue 2 years ago • 4 comments

Expected Behavior

When creating an Operator which depends on this operator (either through the CSV requires field, or through the dependencies.yaml), the OLM will determine the correct (usually latest) version of Tekton/OpenShift Pipelines to install, and add it to the Subscription's InstallPlan. The OLM will then proceed to install all required resources.

Actual Behavior

The OLM will fail to resolve dependencies, no InstallPlan is created, and the Subscription will hang, resulting in nothing being installed. No obvious or consistent error message is produced.

Steps to Reproduce the Problem

Create an Operator that depends on Tekton Pipelines, e.g in the ClusterServiceVersion:

required:
- kind: TektonPipeline
  name: tektonpipelines.operator.tekton.dev
  version: v1alpha1

or

required:
- kind: Pipeline
  name: pipelines.tekton.dev
  version: v1alpha1

Additional Info

Debug advice: Check the pod logs in the openshift-operator-lifecycle-manager and openshift-marketplace namespaces, otherwise there is no obvious reason for Subscription installing to hang.

  • Kubernetes version:

    Output of kubectl version:

Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.1-5-g76a04fc", GitCommit:"c66c03f", GitTreeState:"clean", BuildDate:"2021-02-03T17:45:18Z", GoVersion:"go1.15.5", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.3+ffbb954", GitCommit:"3a0f2c90b43e6cffd07f57b5b78dd9f083e47ee2", GitTreeState:"clean", BuildDate:"2021-11-29T05:06:16Z", GoVersion:"go1.16.6", Compiler:"gc", Platform:"linux/amd64"}
  • Tekton Pipeline version: N/A [Latest version available on OperatorHub is 1.6.1]

illeatmyhat avatar Jan 12 '22 20:01 illeatmyhat

Tekton Pipeline version: N/A [Latest version available on OperatorHub is 1.6.1]

I am assuming that you are on OpenShift 4.x. We have had other operators making the dependency work with the following in their CSV file.

required:
      - description: Represents Installation of Tekton.
        displayName: OpenShift Pipelines Config
        kind: TektonConfig
        name: tektonconfigs.operator.tekton.dev
        version: v1alpha1

If the operator we are talking about is the one on OpenShift Platform, then you can get immediate help on, openshift-pipelines google chat or on forum-tektoncd-pipelines coreos slack.

nikhil-thomas avatar Jan 17 '22 00:01 nikhil-thomas

Shipwright's operator uses the approach above, and we can confirm that this works with upstream operatorhub.io catalog

adambkaplan avatar Mar 30 '22 13:03 adambkaplan

Issues go stale after 90d of inactivity. Mark the issue as fresh with /remove-lifecycle stale with a justification. Stale issues rot after an additional 30d of inactivity and eventually close. If this issue is safe to close now please do so with /close with a justification. If this issue should be exempted, mark the issue as frozen with /lifecycle frozen with a justification.

/lifecycle stale

Send feedback to tektoncd/plumbing.

tekton-robot avatar Jun 28 '22 14:06 tekton-robot

Stale issues rot after 30d of inactivity. Mark the issue as fresh with /remove-lifecycle rotten with a justification. Rotten issues close after an additional 30d of inactivity. If this issue is safe to close now please do so with /close with a justification. If this issue should be exempted, mark the issue as frozen with /lifecycle frozen with a justification.

/lifecycle rotten

Send feedback to tektoncd/plumbing.

tekton-robot avatar Jul 28 '22 15:07 tekton-robot

Rotten issues close after 30d of inactivity. Reopen the issue with /reopen with a justification. Mark the issue as fresh with /remove-lifecycle rotten with a justification. If this issue should be exempted, mark the issue as frozen with /lifecycle frozen with a justification.

/close

Send feedback to tektoncd/plumbing.

tekton-robot avatar Aug 27 '22 15:08 tekton-robot

@tekton-robot: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity. Reopen the issue with /reopen with a justification. Mark the issue as fresh with /remove-lifecycle rotten with a justification. If this issue should be exempted, mark the issue as frozen with /lifecycle frozen with a justification.

/close

Send feedback to tektoncd/plumbing.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

tekton-robot avatar Aug 27 '22 15:08 tekton-robot