Bug 1881222
Summary: | OLM can fail to recognize and avoid duplicate package installations | ||
---|---|---|---|
Product: | OpenShift Container Platform | Reporter: | Chris Johnson <cdjohnson> |
Component: | OLM | Assignee: | Ben Luddy <bluddy> |
OLM sub component: | OLM | QA Contact: | Bruno Andrade <bandrade> |
Status: | CLOSED ERRATA | Docs Contact: | |
Severity: | medium | ||
Priority: | medium | CC: | bandrade, bluddy, ecordell, nhale |
Version: | 4.6 | Keywords: | UpcomingSprint |
Target Milestone: | --- | ||
Target Release: | 4.6.0 | ||
Hardware: | All | ||
OS: | All | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2020-10-27 16:43:44 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | 1884641 | ||
Bug Blocks: |
Description
Chris Johnson
2020-09-21 20:44:06 UTC
This is partially addressed by changes that are already merged for 4.6, but it can still occur with a few tweaks to the test setup. Posted a PR just now to address that as well. Repro steps: === $ cat << EOF kubectl create -f - --- apiVersion: v1 kind: Namespace metadata: name: test-namespace --- apiVersion: operators.coreos.com/v1alpha1 kind: CatalogSource metadata: name: test-catalogsource namespace: test-namespace spec: image: quay.io/bluddy/foo:catalog-1881222 sourceType: grpc --- apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: operatorgroup namespace: test-namespace spec: targetNamespaces: - test-namespace --- apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: testoperatorb namespace: test-namespace spec: channel: v4.0 installPlanApproval: Automatic name: testoperatorb source: test-catalogsource sourceNamespace: test-namespace EOF namespace/test-namespace created catalogsource.operators.coreos.com/test-catalogsource created operatorgroup.operators.coreos.com/operatorgroup created subscription.operators.coreos.com/testoperatorb created ... wait ... $ kubectl -n test-namespace get sub NAME PACKAGE SOURCE CHANNEL testoperatora-v1.2-test-catalogsource-test-namespace testoperatora test-catalogsource v1.2 testoperatorb testoperatorb test-catalogsource v4.0 $ kubectl -n test-namespace patch sub testoperatorb --type=merge -p '{"spec":{"channel":"v4.1-eus"}}' subscription.operators.coreos.com/testoperatorb patched ... wait ... $ kubectl -n test-namespace get sub NAME PACKAGE SOURCE CHANNEL testoperatora-v1.1-eus-test-catalogsource-test-namespace testoperatora test-catalogsource v1.1-eus testoperatora-v1.2-test-catalogsource-test-namespace testoperatora test-catalogsource v1.2 testoperatorb testoperatorb test-catalogsource v4.1-eus === With this issue fixed, the last list of subscriptions should look like this: NAME PACKAGE SOURCE CHANNEL testoperatora-v1.2-test-catalogsource-test-namespace testoperatora test-catalogsource v1.2 testoperatorb testoperatorb test-catalogsource v4.1-eus and testoperator b should still be satisfied by v4.0.1: $ kubectl -n test-namespace get sub testoperatorb -o jsonpath='{.status.installedCSV}' testoperatorb.v4.0.1 Please ignore if one of the test operators crashes on startup, which may result in a CSV (appropriately) showing phase Installing. These aren't intended to be functional operators, only to test dependency resolution behavior. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (OpenShift Container Platform 4.6 GA Images), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2020:4196 |