-
Bug
-
Resolution: Won't Do
-
Normal
-
None
-
4.11
-
Quality / Stability / Reliability
-
None
-
None
-
None
-
Moderate
-
None
-
Unspecified
-
None
-
None
-
Rejected
-
Refinement Backlog
-
1
-
None
-
If docs needed, set a value
-
None
-
None
-
None
-
None
-
None
Description of problem:
We have one case OCP-40958 for OLM-2116.
Per OLM-2116, if there are more than one OperatorGroup in namespace, the installplan is created, but failing with message 'more than one operator group(s) are managing this namespace count=2' when we create sub in the namespace.
it is friendly for customer.
but now the behavior change to the follwing:
no ip created, and we find only the error "E0507 02:53:00.468818 1 queueinformer_operator.go:290] sync "default" failed: found 2 operatorGroups, expected 1" in catalog-operator pod log of ns openshift-operator-lifecycle-manager. it is not friendly and can not compatible with OLM-2116.
by the way, we can get message "Multiple OperatorGroup found in the same namespace" for og's status. it is good, but still not enough friendly comparing with OLM-2116.
we expect
1, still create installplan and provide the error message in ip as previous behavior
or
2, provide error message in sub's status if not creating installplan.
by the way, this change seems introduced by fail-forward upgrade
Version-Release number of selected component (if applicable):
[root@preserve-olm-env2 openshift-tests-private]# oc get clusterversion
NAME VERSION AVAILABLE PROGRESSING SINCE STATUS
version 4.11.0-0.nightly-2022-05-06-180112 True False 52m Cluster version is 4.11.0-0.nightly-2022-05-06-180112
How reproducible:
always
Steps to Reproduce:
[root@preserve-olm-env2 openshift-tests-private]# cat og1.yaml
kind: OperatorGroup
apiVersion: operators.coreos.com/v1
metadata:
name: og1
namespace: default
spec:
targetNamespaces:
- default
[root@preserve-olm-env2 openshift-tests-private]# cat og2.yaml
kind: OperatorGroup
apiVersion: operators.coreos.com/v1
metadata:
name: og2
namespace: default
spec:
targetNamespaces:
- default
[root@preserve-olm-env2 openshift-tests-private]# oc apply -f og1.yaml
operatorgroup.operators.coreos.com/og1 created
[root@preserve-olm-env2 openshift-tests-private]# oc apply -f og2.yaml
operatorgroup.operators.coreos.com/og2 created
[root@preserve-olm-env2 openshift-tests-private]# oc get og -o yaml
apiVersion: v1
items:
- apiVersion: operators.coreos.com/v1
kind: OperatorGroup
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"operators.coreos.com/v1","kind":"OperatorGroup","metadata":{"annotations":{},"name":"og1","namespace":"default"},"spec":{"targetNamespaces":["default"]}}
creationTimestamp: "2022-05-07T02:49:25Z"
generation: 1
name: og1
namespace: default
resourceVersion: "91276"
uid: 0eec8e30-5697-4f13-b059-eb89bb60a247
spec:
targetNamespaces: - default
upgradeStrategy: Default
status:
conditions: - lastTransitionTime: "2022-05-07T02:49:33Z"
message: Multiple OperatorGroup found in the same namespace
reason: MultipleOperatorGroupsFound
status: "True"
type: MultipleOperatorGroup
lastUpdated: "2022-05-07T02:49:25Z"
namespaces: - default
- apiVersion: operators.coreos.com/v1
kind: OperatorGroup
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"operators.coreos.com/v1","kind":"OperatorGroup","metadata":{"annotations":{},"name":"og2","namespace":"default"},"spec":{"targetNamespaces":["default"]}}
creationTimestamp: "2022-05-07T02:49:33Z"
generation: 1
name: og2
namespace: default
resourceVersion: "91289"
uid: 2911608f-1e62-4f8a-9aa8-76b5bf14eb43
spec:
targetNamespaces: - default
upgradeStrategy: Default
status:
conditions: - lastTransitionTime: "2022-05-07T02:49:33Z"
message: Multiple OperatorGroup found in the same namespace
reason: MultipleOperatorGroupsFound
status: "True"
type: MultipleOperatorGroup
lastUpdated: "2022-05-07T02:49:33Z"
namespaces: - default
kind: List
metadata:
resourceVersion: ""
selfLink: ""
[root@preserve-olm-env2 openshift-tests-private]# cat catsrc.yaml
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
name: teiid
namespace: default
spec:
displayName: "teiid Operators"
image: quay.io/kuiwang/teiid-index:1906056
publisher: QE
sourceType: grpc
[root@preserve-olm-env2 openshift-tests-private]# oc get catsrc -o yaml
apiVersion: v1
items:
- apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"operators.coreos.com/v1alpha1","kind":"CatalogSource","metadata":{"annotations":{},"name":"teiid","namespace":"default"},"spec":{"displayName":"teiid Operators","image":"quay.io/kuiwang/teiid-index:1906056","publisher":"QE","sourceType":"grpc"}}
creationTimestamp: "2022-05-07T02:50:23Z"
generation: 1
name: teiid
namespace: default
resourceVersion: "94143"
uid: 0829def6-fd6e-4f01-8ffd-f853791892d6
spec:
displayName: teiid Operators
image: quay.io/kuiwang/teiid-index:1906056
publisher: QE
sourceType: grpc
status:
connectionState:
address: teiid.default.svc:50051
lastConnect: "2022-05-07T02:50:35Z"
lastObservedState: READY
registryService:
createdAt: "2022-05-07T02:50:23Z"
port: "50051"
protocol: grpc
serviceName: teiid
serviceNamespace: default
kind: List
metadata:
resourceVersion: ""
selfLink: ""
[root@preserve-olm-env2 openshift-tests-private]# cat sub.yaml
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: teiid
namespace: default
spec:
source: teiid
sourceNamespace: default
channel: beta
installPlanApproval: Automatic
name: teiid
startingCSV: teiid.v0.4.0
[root@preserve-olm-env2 openshift-tests-private]# oc get sub -o yaml
apiVersion: v1
items:
- apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"operators.coreos.com/v1alpha1","kind":"Subscription","metadata":{"annotations":{},"name":"teiid","namespace":"default"},"spec":{"channel":"beta","installPlanApproval":"Automatic","name":"teiid","source":"teiid","sourceNamespace":"default","startingCSV":"teiid.v0.4.0"}}
creationTimestamp: "2022-05-07T02:52:59Z"
generation: 1
labels:
operators.coreos.com/teiid.default: ""
name: teiid
namespace: default
resourceVersion: "100882"
uid: cd856424-03c1-450f-8eba-a990c25a01e6
spec:
channel: beta
installPlanApproval: Automatic
name: teiid
source: teiid
sourceNamespace: default
startingCSV: teiid.v0.4.0
status:
catalogHealth: - catalogSourceRef:
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
name: teiid
namespace: default
resourceVersion: "94143"
uid: 0829def6-fd6e-4f01-8ffd-f853791892d6
healthy: true
lastUpdated: "2022-05-07T02:52:59Z" - catalogSourceRef:
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
name: certified-operators
namespace: openshift-marketplace
resourceVersion: "98351"
uid: ab92616f-16b0-4d1d-bb50-bbe10f2b96be
healthy: true
lastUpdated: "2022-05-07T02:52:59Z" - catalogSourceRef:
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
name: community-operators
namespace: openshift-marketplace
resourceVersion: "99375"
uid: fd7a8a1d-4b0a-4df6-9945-967d3694fac4
healthy: true
lastUpdated: "2022-05-07T02:52:59Z" - catalogSourceRef:
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
name: jinhli-test-catalogsource1
namespace: openshift-marketplace
resourceVersion: "41080"
uid: fd282bcb-4fe2-4a42-bc6f-c9e6f58e606b
healthy: true
lastUpdated: "2022-05-07T02:52:59Z" - catalogSourceRef:
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
name: qe-app-registry
namespace: openshift-marketplace
resourceVersion: "80656"
uid: 025a37f7-2722-40a9-8e7e-67f396c36aba
healthy: true
lastUpdated: "2022-05-07T02:52:59Z" - catalogSourceRef:
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
name: redhat-marketplace
namespace: openshift-marketplace
resourceVersion: "95901"
uid: 88f95f0c-3d0a-4c54-a84f-0771ec497702
healthy: true
lastUpdated: "2022-05-07T02:52:59Z" - catalogSourceRef:
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
name: redhat-operators
namespace: openshift-marketplace
resourceVersion: "96359"
uid: f43980bb-abb9-431f-816c-29792841b9e9
healthy: true
lastUpdated: "2022-05-07T02:52:59Z"
conditions: - lastTransitionTime: "2022-05-07T02:52:59Z"
message: all available catalogsources are healthy
reason: AllCatalogSourcesHealthy
status: "False"
type: CatalogSourcesUnhealthy
lastUpdated: "2022-05-07T02:52:59Z"
kind: List
metadata:
resourceVersion: ""
selfLink: ""
[root@preserve-olm-env2 openshift-tests-private]# oc get ip
No resources found in default namespace.
[root@preserve-olm-env2 openshift-tests-private]# oc projects|grep life
openshift-operator-lifecycle-manager
[root@preserve-olm-env2 openshift-tests-private]# oc get pod -n openshift-operator-lifecycle-manager
NAME READY STATUS RESTARTS AGE
catalog-operator-d8db449b-qkrjw 1/1 Running 1 (24m ago) 67m
collect-profiles-27531495-7gr6d 0/1 Completed 0 40m
collect-profiles-27531510-nmntz 0/1 Completed 0 25m
collect-profiles-27531525-5r5q7 0/1 Completed 0 10m
olm-operator-5cf7b64885-pr2rl 1/1 Running 0 27m
package-server-manager-5bd7c8cf57-4fqd9 1/1 Running 0 67m
packageserver-7d85c5fd8d-gwf7b 1/1 Running 0 65m
packageserver-7d85c5fd8d-l5wqm 1/1 Running 0 65m
[root@preserve-olm-env2 openshift-tests-private]# oc logs catalog-operator-d8db449b-qkrjw -n openshift-operator-lifecycle-manager
time="2022-05-07T02:31:21Z" level=info msg="log level info"
time="2022-05-07T02:31:21Z" level=info msg="TLS keys set, using https for metrics"
...
time="2022-05-07T02:52:59Z" level=info msg=syncing event=update reconciling="*v1alpha1.Subscription" selflink=
E0507 02:52:59.821090 1 queueinformer_operator.go:290] sync "default" failed: found 2 operatorGroups, expected 1
time="2022-05-07T02:52:59Z" level=info msg=syncing event=update reconciling="*v1alpha1.Subscription" selflink=
E0507 02:52:59.833781 1 queueinformer_operator.go:290] sync "default" failed: found 2 operatorGroups, expected 1
E0507 02:52:59.841609 1 queueinformer_operator.go:290] sync "default" failed: found 2 operatorGroups, expected 1
E0507 02:52:59.848936 1 queueinformer_operator.go:290] sync "default" failed: found 2 operatorGroups, expected 1
E0507 02:52:59.893661 1 queueinformer_operator.go:290] sync "default" failed: found 2 operatorGroups, expected 1
E0507 02:52:59.979352 1 queueinformer_operator.go:290] sync "default" failed: found 2 operatorGroups, expected 1
E0507 02:53:00.143970 1 queueinformer_operator.go:290] sync "default" failed: found 2 operatorGroups, expected 1
E0507 02:53:00.468818 1 queueinformer_operator.go:290] sync "default" failed: found 2 operatorGroups, expected 1
Actual results:
customer can not get why operator not install friendly as before.
Expected results:
customer can get why operator not install friendly with message in ip or sub.
Additional info: