operator
operator copied to clipboard
OLM can't perform dependency resolution when depending on Tekton/OpenShift Pipelines operator
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]
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.
Shipwright's operator uses the approach above, and we can confirm that this works with upstream operatorhub.io catalog
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.
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.
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: 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.