Bug 1986023 - OLM dependencies not fixing version
Summary: OLM dependencies not fixing version
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: OLM
Version: 4.7
Hardware: x86_64
OS: Linux
high
high
Target Milestone: ---
: 4.8.z
Assignee: Ben Luddy
QA Contact: kuiwang
URL:
Whiteboard:
Depends On: 1978310
Blocks: 1994601
TreeView+ depends on / blocked
 
Reported: 2021-07-26 14:20 UTC by Ben Luddy
Modified: 2021-09-30 13:32 UTC (History)
10 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Cause: Operator dependencies were not always persisted after installation time. Consequence: After installing an operator that declares dependencies, later updates and installations within the same namespace could fail to honor the already-installed operator's dependencies. Fix: Dependencies are persisted, along with all declared properties for the operator, in an annotation on the operator's ClusterServiceVersion. Result: The declared dependencies of installed operators continue to be respected for future installations.
Clone Of: 1978310
: 1994601 (view as bug list)
Environment:
Last Closed: 2021-08-16 18:32:12 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github openshift operator-framework-olm pull 134 0 None None None 2021-08-04 02:35:56 UTC
Red Hat Product Errata RHBA-2021:3121 0 None None None 2021-08-16 18:32:22 UTC

Comment 3 kuiwang 2021-08-10 01:54:03 UTC
verify it on 4.8. LGTM

---
[root@preserve-olm-env 1986023]# oc get clusterversion
NAME      VERSION                             AVAILABLE   PROGRESSING   SINCE   STATUS
version   4.8.0-0.nightly-2021-08-09-135211   True        False         10m     Cluster version is 4.8.0-0.nightly-2021-08-09-135211
[root@preserve-olm-env 1986023]# 


[root@preserve-olm-env 1986023]# oc get pod -n openshift-operator-lifecycle-manager
NAME                                READY   STATUS    RESTARTS   AGE
catalog-operator-5fb44455f5-d4sgg   1/1     Running   0          48m
olm-operator-58758f44fb-zgztz       1/1     Running   0          48m
packageserver-6486d74956-6k598      1/1     Running   0          39m
packageserver-6486d74956-thdgp      1/1     Running   0          39m
[root@preserve-olm-env 1986023]# oc exec catalog-operator-5fb44455f5-d4sgg -n openshift-operator-lifecycle-manager -- olm --version
OLM version: 0.17.0
git commit: 2ab4171de3930b89b6b186724c29bffcf6f39ce2
[root@preserve-olm-env 1986023]#

---- start to test scenario 1 -----
[root@preserve-olm-env 1986023]# cat og-single.yaml
kind: OperatorGroup
apiVersion: operators.coreos.com/v1
metadata:
  name: og-single1
  namespace: default
spec:
  targetNamespaces:
  - default
[root@preserve-olm-env 1986023]# cat catsrc.yaml 
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
  name: cockroachdb-catalog
  namespace: default
spec:
  displayName: cockroachdb Operator Catalog
  image: quay.io/kuiwang/olm-index:1978310-onecatlog
  publisher: QE
  sourceType: grpc
  updateStrategy:
      registryPoll:
        interval: "2m0s"
[root@preserve-olm-env 1986023]# cat sub.yaml
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
  name: cockroachdb
  namespace: default
spec:
  channel: stable
  installPlanApproval: Automatic
  name: cockroachdb
  source: cockroachdb-catalog
  sourceNamespace: default
[root@preserve-olm-env 1986023]# oc apply -f og-single.yaml
operatorgroup.operators.coreos.com/og-single1 created
[root@preserve-olm-env 1986023]# oc apply -f catsrc.yaml
catalogsource.operators.coreos.com/cockroachdb-catalog created
[root@preserve-olm-env 1986023]# oc apply -f sub.yaml
subscription.operators.coreos.com/cockroachdb created
[root@preserve-olm-env 1986023]# oc get sub
NAME                                             PACKAGE        SOURCE                CHANNEL
cockroachdb                                      cockroachdb    cockroachdb-catalog   stable
mta-operator-alpha-cockroachdb-catalog-default   mta-operator   cockroachdb-catalog   alpha
[root@preserve-olm-env 1986023]# oc get ip
NAME            CSV                  APPROVAL    APPROVED
install-hhqmw   cockroachdb.v5.0.3   Automatic   true
[root@preserve-olm-env 1986023]# oc get csv
NAME                    DISPLAY                                       VERSION   REPLACES   PHASE
cockroachdb.v5.0.3      CockroachDB                                   5.0.3                Succeeded
windup-operator.0.0.4   Migration Toolkit for Applications Operator   0.0.4                Succeeded
[root@preserve-olm-env 1986023]# oc delete sub mta-operator-alpha-cockroachdb-catalog-default
subscription.operators.coreos.com "mta-operator-alpha-cockroachdb-catalog-default" deleted
[root@preserve-olm-env 1986023]# oc delete sub cockroachdb
subscription.operators.coreos.com "cockroachdb" deleted
[root@preserve-olm-env 1986023]# oc delete csv windup-operator.0.0.4
clusterserviceversion.operators.coreos.com "windup-operator.0.0.4" deleted
[root@preserve-olm-env 1986023]# oc delete csv cockroachdb.v5.0.3
clusterserviceversion.operators.coreos.com "cockroachdb.v5.0.3" deleted
[root@preserve-olm-env 1986023]#
-----------------------------------

---- start to test scenario 2 -----
[root@preserve-olm-env 1986023]# cat sub-manual.yaml 
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
  name: cockroachdb
  namespace: default
spec:
  channel: stable
  installPlanApproval: Manual
  name: cockroachdb
  source: cockroachdb-catalog
  sourceNamespace: default
[root@preserve-olm-env 1986023]# oc apply -f sub-manual.yaml 
subscription.operators.coreos.com/cockroachdb created
[root@preserve-olm-env 1986023]# oc get sub
NAME          PACKAGE       SOURCE                CHANNEL
cockroachdb   cockroachdb   cockroachdb-catalog   stable
[root@preserve-olm-env 1986023]# oc get ip
NAME            CSV                     APPROVAL   APPROVED
install-xvvn4   windup-operator.0.0.4   Manual     false
[root@preserve-olm-env 1986023]# oc get ip
NAME            CSV                     APPROVAL   APPROVED
install-xvvn4   windup-operator.0.0.4   Manual     false
[root@preserve-olm-env 1986023]# oc edit ip install-xvvn4
installplan.operators.coreos.com/install-xvvn4 edited
[root@preserve-olm-env 1986023]# oc get ip
NAME            CSV                     APPROVAL   APPROVED
install-xvvn4   windup-operator.0.0.4   Manual     true
[root@preserve-olm-env 1986023]# oc get csv
NAME                    DISPLAY                                       VERSION   REPLACES   PHASE
cockroachdb.v5.0.3      CockroachDB                                   5.0.3                Succeeded
windup-operator.0.0.4   Migration Toolkit for Applications Operator   0.0.4                Succeeded
[root@preserve-olm-env 1986023]# oc get catsrc
NAME                  DISPLAY                        TYPE   PUBLISHER   AGE
cockroachdb-catalog   cockroachdb Operator Catalog   grpc   QE          8m24s
[root@preserve-olm-env 1986023]# oc edit catsrc cockroachdb-catalog
catalogsource.operators.coreos.com/cockroachdb-catalog edited
[root@preserve-olm-env 1986023]# 
//change index from quay.io/kuiwang/olm-index:1978310-onecatlog to quay.io/kuiwang/olm-index:1978310-twocatlog
//to upgrade cockroachdb to 5.0.4 and still expect to keep windup-operator as 0.0.4
[root@preserve-olm-env 1986023]# oc get sub
NAME                                             PACKAGE        SOURCE                CHANNEL
cockroachdb                                      cockroachdb    cockroachdb-catalog   stable
mta-operator-alpha-cockroachdb-catalog-default   mta-operator   cockroachdb-catalog   alpha
[root@preserve-olm-env 1986023]# oc get ip
NAME            CSV                     APPROVAL   APPROVED
install-kd5v9   cockroachdb.v5.0.4      Manual     false
install-xvvn4   windup-operator.0.0.4   Manual     true
[root@preserve-olm-env 1986023]# oc get csv
NAME                    DISPLAY                                       VERSION   REPLACES   PHASE
cockroachdb.v5.0.3      CockroachDB                                   5.0.3                Succeeded
windup-operator.0.0.4   Migration Toolkit for Applications Operator   0.0.4                Succeeded
[root@preserve-olm-env 1986023]# oc edit ip install-kd5v9
installplan.operators.coreos.com/install-kd5v9 edited
[root@preserve-olm-env 1986023]# oc get ip
NAME            CSV                     APPROVAL   APPROVED
install-kd5v9   cockroachdb.v5.0.4      Manual     true
install-xvvn4   windup-operator.0.0.4   Manual     true
[root@preserve-olm-env 1986023]# oc get csv
NAME                    DISPLAY                                       VERSION   REPLACES             PHASE
cockroachdb.v5.0.4      CockroachDB Helm Operator                     5.0.4     cockroachdb.v5.0.3   Succeeded
windup-operator.0.0.4   Migration Toolkit for Applications Operator   0.0.4                          Succeeded
[root@preserve-olm-env 1986023]# 
[root@preserve-olm-env 1986023]# 
[root@preserve-olm-env 1986023]# oc delete sub mta-operator-alpha-cockroachdb-catalog-default
subscription.operators.coreos.com "mta-operator-alpha-cockroachdb-catalog-default" deleted
[root@preserve-olm-env 1986023]# oc delete sub cockroachdb
subscription.operators.coreos.com "cockroachdb" deleted
[root@preserve-olm-env 1986023]# oc delete csv windup-operator.0.0.4
clusterserviceversion.operators.coreos.com "windup-operator.0.0.4" deleted
[root@preserve-olm-env 1986023]# oc delete csv cockroachdb.v5.0.4
clusterserviceversion.operators.coreos.com "cockroachdb.v5.0.4" deleted
[root@preserve-olm-env 1986023]# oc delete catsrc cockroachdb-catalog
catalogsource.operators.coreos.com "cockroachdb-catalog" deleted
[root@preserve-olm-env 1986023]# 

-----------------------------------

---- start to test scenario 3 -----
[root@preserve-olm-env 1986023]# cat catsrc-nodep.yaml 
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
  name: cockroachdb-catalog
  namespace: default
spec:
  displayName: cockroachdb Operator Catalog
  image: quay.io/kuiwang/olm-index:1978310-onecatlog-nodep
  publisher: QE
  sourceType: grpc
  updateStrategy:
      registryPoll:
        interval: "2m0s"
[root@preserve-olm-env 1986023]# cat sub.yaml 
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
  name: cockroachdb
  namespace: default
spec:
  channel: stable
  installPlanApproval: Automatic
  name: cockroachdb
  source: cockroachdb-catalog
  sourceNamespace: default
[root@preserve-olm-env 1986023]# cat mta-sub.yaml 
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
  name: mta
  namespace: default
spec:
  channel: alpha
  installPlanApproval: Manual
  name: mta-operator
  source: cockroachdb-catalog
  sourceNamespace: default
  startingCSV: "windup-operator.0.0.4"
[root@preserve-olm-env 1986023]# oc apply -f catsrc-nodep.yaml
catalogsource.operators.coreos.com/cockroachdb-catalog created
[root@preserve-olm-env 1986023]# oc apply -f sub.yaml
subscription.operators.coreos.com/cockroachdb created
[root@preserve-olm-env 1986023]# oc get sub
NAME          PACKAGE       SOURCE                CHANNEL
cockroachdb   cockroachdb   cockroachdb-catalog   stable
[root@preserve-olm-env 1986023]# oc get sub
NAME          PACKAGE       SOURCE                CHANNEL
cockroachdb   cockroachdb   cockroachdb-catalog   stable
[root@preserve-olm-env 1986023]# oc get ip
NAME            CSV                  APPROVAL    APPROVED
install-h7bb6   cockroachdb.v5.0.3   Automatic   true
[root@preserve-olm-env 1986023]# oc get csv
NAME                 DISPLAY       VERSION   REPLACES   PHASE
cockroachdb.v5.0.3   CockroachDB   5.0.3                Succeeded
[root@preserve-olm-env 1986023]# oc apply -f mta-sub.yaml 
subscription.operators.coreos.com/mta created
[root@preserve-olm-env 1986023]# oc get sub
NAME          PACKAGE        SOURCE                CHANNEL
cockroachdb   cockroachdb    cockroachdb-catalog   stable
mta           mta-operator   cockroachdb-catalog   alpha
[root@preserve-olm-env 1986023]# oc get ip
NAME            CSV                     APPROVAL    APPROVED
install-7ngtr   windup-operator.0.0.4   Manual      false
install-h7bb6   cockroachdb.v5.0.3      Automatic   true
[root@preserve-olm-env 1986023]# oc edit ip install-7ngtr
installplan.operators.coreos.com/install-7ngtr edited
[root@preserve-olm-env 1986023]# oc get ip
NAME            CSV                     APPROVAL    APPROVED
install-7ngtr   windup-operator.0.0.4   Manual      true
install-h7bb6   cockroachdb.v5.0.3      Automatic   true
install-s9nxz   windup-operator.0.0.5   Manual      false
[root@preserve-olm-env 1986023]# oc get csv
NAME                    DISPLAY                                       VERSION   REPLACES   PHASE
cockroachdb.v5.0.3      CockroachDB                                   5.0.3                Succeeded
windup-operator.0.0.4   Migration Toolkit for Applications Operator   0.0.4                Succeeded
[root@preserve-olm-env 1986023]# 


[root@preserve-olm-env 1986023]# oc get catsrc
NAME                  DISPLAY                        TYPE   PUBLISHER   AGE
cockroachdb-catalog   cockroachdb Operator Catalog   grpc   QE          5m31s
[root@preserve-olm-env 1986023]# oc edit catsrc cockroachdb-catalog
catalogsource.operators.coreos.com/cockroachdb-catalog edited
// change quay.io/kuiwang/olm-index:1978310-onecatlog-nodep to quay.io/kuiwang/olm-index:1978310-twocatlog-nodep
[root@preserve-olm-env 1986023]# 
[root@preserve-olm-env 1986023]# oc get catsrc
NAME                  DISPLAY                        TYPE   PUBLISHER   AGE
cockroachdb-catalog   cockroachdb Operator Catalog   grpc   QE          5m31s
[root@preserve-olm-env 1986023]# oc edit catsrc cockroachdb-catalog
catalogsource.operators.coreos.com/cockroachdb-catalog edited
[root@preserve-olm-env 1986023]# 
[root@preserve-olm-env 1986023]# 
[root@preserve-olm-env 1986023]# 
[root@preserve-olm-env 1986023]# oc get ip
NAME            CSV                     APPROVAL    APPROVED
install-7ngtr   windup-operator.0.0.4   Manual      true
install-h7bb6   cockroachdb.v5.0.3      Automatic   true
install-l9h22   windup-operator.0.0.5   Manual      false
install-s9nxz   windup-operator.0.0.5   Manual      false
[root@preserve-olm-env 1986023]# oc edit ip install-l9h22
installplan.operators.coreos.com/install-l9h22 edited
[root@preserve-olm-env 1986023]# oc get ip
NAME            CSV                     APPROVAL    APPROVED
install-7ngtr   windup-operator.0.0.4   Manual      true
install-h7bb6   cockroachdb.v5.0.3      Automatic   true
install-l9h22   windup-operator.0.0.5   Manual      true
install-s9nxz   windup-operator.0.0.5   Manual      false
[root@preserve-olm-env 1986023]# oc get csv
NAME                    DISPLAY                                       VERSION   REPLACES                PHASE
cockroachdb.v5.0.4      CockroachDB Helm Operator                     5.0.4     cockroachdb.v5.0.3      Succeeded
windup-operator.0.0.5   Migration Toolkit for Applications Operator   0.0.5     windup-operator.0.0.4   Succeeded
[root@preserve-olm-env 1986023]# oc get csv
NAME                    DISPLAY                                       VERSION   REPLACES                PHASE
cockroachdb.v5.0.4      CockroachDB Helm Operator                     5.0.4     cockroachdb.v5.0.3      Succeeded
windup-operator.0.0.5   Migration Toolkit for Applications Operator   0.0.5     windup-operator.0.0.4   Succeeded
[root@preserve-olm-env 1986023]# oc get ip
NAME            CSV                     APPROVAL    APPROVED
install-7ngtr   windup-operator.0.0.4   Manual      true
install-h7bb6   cockroachdb.v5.0.3      Automatic   true
install-l9h22   windup-operator.0.0.5   Manual      true
install-s9nxz   windup-operator.0.0.5   Manual      false
[root@preserve-olm-env 1986023]# oc edit ip install-s9nxz
installplan.operators.coreos.com/install-s9nxz edited
[root@preserve-olm-env 1986023]# oc get ip
NAME            CSV                     APPROVAL    APPROVED
install-7ngtr   windup-operator.0.0.4   Manual      true
install-h7bb6   cockroachdb.v5.0.3      Automatic   true
install-l9h22   windup-operator.0.0.5   Manual      true
install-s9nxz   windup-operator.0.0.5   Manual      true
[root@preserve-olm-env 1986023]# oc get csv
NAME                    DISPLAY                                       VERSION   REPLACES                PHASE
cockroachdb.v5.0.4      CockroachDB Helm Operator                     5.0.4     cockroachdb.v5.0.3      Succeeded
windup-operator.0.0.5   Migration Toolkit for Applications Operator   0.0.5     windup-operator.0.0.4   Succeeded
[root@preserve-olm-env 1986023]# 
-----------------------------------
---

Comment 5 errata-xmlrpc 2021-08-16 18:32:12 UTC
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.8.5 security update), 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-2021:3121


Note You need to log in before you can comment on or make changes to this bug.