-
Bug
-
Resolution: Won't Do
-
Normal
-
None
-
4.10
-
Moderate
-
Refinement Backlog
-
1
-
Rejected
-
Unspecified
-
If docs needed, set a value
Description of problem:
There is a CatalogSource object that is not ready, but when I subscribe to an operator from other CatalogSource objects, it failed to install.
Version-Release number of selected component (if applicable):
Cluster version is 4.10.0-0.nightly-arm64-2021-11-16-224
[cloud-user@preserve-olm-env jian]$ oc -n openshift-operator-lifecycle-manager exec deploy/catalog-operator – olm --version
OLM version: 0.19.0
git commit: 8970fc081f9c411112446d29ebaeb82d00ba7331
How reproducible:
always
Steps to Reproduce:
1. Install Arm OCP 4.10 cluster.
[cloud-user@preserve-olm-env jian]$ oc get clusterversion
NAME VERSION AVAILABLE PROGRESSING SINCE STATUS
version 4.10.0-0.nightly-arm64-2021-11-16-224102 True False 3h40m Cluster version is 4.10.0-0.nightly-arm64-2021-11-16-224102
2. Install a CatalogSource that its image doesn't support the Arm. It will crash as expected.
[cloud-user@preserve-olm-env jian]$ cat cs-etcd.yaml
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
name: customer-cs
namespace: openshift-marketplace
spec:
displayName: Etcd Operators
image: quay.io/olmqe/etcd-index:v1-4.8
publisher: OpenShift QE
sourceType: grpc
updateStrategy:
registryPoll:
interval: 15m
[cloud-user@preserve-olm-env jian]$ oc create -f cs-etcd.yaml
catalogsource.operators.coreos.com/customer-cs created
[cloud-user@preserve-olm-env jian]$ oc get pods
NAME READY STATUS RESTARTS AGE
certified-operators-mhtd4 1/1 Running 0 3h37m
community-operators-6tccp 1/1 Running 0 3h37m
customer-cs-g22hg 0/1 CrashLoopBackOff 1 (14s ago) 20s
e8c9651078ae45ddb2807e3a07727d459b82d7def5572a7b7ccaae--1-5kfmk 0/1 Completed 0 160m
marketplace-operator-54cf5869c4-m6mb7 1/1 Running 0 3h41m
redhat-marketplace-prlmt 1/1 Running 0 3h37m
redhat-operators-7bgn7 1/1 Running 0 3h37m
3. Subscribe to an operator, for example, etcd operator.
[cloud-user@preserve-olm-env jian]$ cat sub-etcd.yaml
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: etcd
namespace: default
spec:
channel: singlenamespace-alpha
installPlanApproval: Automatic
name: etcd
source: community-operators
sourceNamespace: openshift-marketplace
startingCSV: etcdoperator.v0.9.4
[cloud-user@preserve-olm-env jian]$ oc create -f sub-etcd.yaml
subscription.operators.coreos.com/etcd created
4, Check the status of this subscription.
Actual results:
This etcd operator failed to install. No InstallPlan generated, as follows,
[cloud-user@preserve-olm-env jian]$ oc get ip -n default
No resources found in default namespace.
[cloud-user@preserve-olm-env jian]$ oc get sub etcd -o yaml -n default
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
creationTimestamp: "2021-11-17T06:25:22Z"
generation: 1
labels:
operators.coreos.com/etcd.default: ""
name: etcd
namespace: default
resourceVersion: "106200"
uid: 7328d07b-9601-40ba-abe1-4df9be653b86
spec:
channel: singlenamespace-alpha
installPlanApproval: Automatic
name: etcd
source: community-operators
sourceNamespace: openshift-marketplace
startingCSV: etcdoperator.v0.9.4
status:
catalogHealth:
- catalogSourceRef:
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
name: certified-operators
namespace: openshift-marketplace
resourceVersion: "95868"
uid: 1f008bae-a816-47c9-9e7d-341bb24d0aa2
healthy: true
lastUpdated: "2021-11-17T06:25:23Z" - catalogSourceRef:
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
name: community-operators
namespace: openshift-marketplace
resourceVersion: "95647"
uid: 7ed45562-440d-422c-b886-b35d8df4a469
healthy: true
lastUpdated: "2021-11-17T06:25:23Z" - catalogSourceRef:
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
name: customer-cs
namespace: openshift-marketplace
resourceVersion: "96739"
uid: bcb87a84-1162-405f-86f9-f9b4fd5f477a
healthy: true
lastUpdated: "2021-11-17T06:25:23Z" - catalogSourceRef:
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
name: redhat-marketplace
namespace: openshift-marketplace
resourceVersion: "95961"
uid: 8bdd5057-36e7-4958-887a-7e2b1a0b5ce2
healthy: true
lastUpdated: "2021-11-17T06:25:23Z" - catalogSourceRef:
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
name: redhat-operators
namespace: openshift-marketplace
resourceVersion: "95227"
uid: 4490fd0b-f593-40d9-b0b2-c16d0938bc92
healthy: true
lastUpdated: "2021-11-17T06:25:23Z"
conditions: - lastTransitionTime: "2021-11-17T06:25:23Z"
message: all available catalogsources are healthy
reason: AllCatalogSourcesHealthy
status: "False"
type: CatalogSourcesUnhealthy - message: 'error using catalog customer-cs (in namespace openshift-marketplace):
failed to list bundles: rpc error: code = Unavailable desc = connection error:
desc = "transport: Error while dialing dial tcp 172.30.175.216:50051: connect:
no route to host"'
reason: ErrorPreventedResolution
status: "True"
type: ResolutionFailed
lastUpdated: "2021-11-17T06:50:22Z"
Expected results:
There are 2 problems here:
1, The customer-cs CatalogSource healthy is true, but its pod is crashing in fact.
2, This operator subscribes to community-operators CatalogSource, not the customer-cs, it should be installed successfully.
Additional info:
After I removed this customer-cs CatalogSource, the InstallPlan of this etcd-operator was generated immediately.
[cloud-user@preserve-olm-env jian]$ oc delete catalogsource customer-cs
catalogsource.operators.coreos.com "customer-cs" deleted
[cloud-user@preserve-olm-env jian]$ oc get ip -n default
NAME CSV APPROVAL APPROVED
install-2m4pl etcdoperator.v0.9.4 Automatic true
[cloud-user@preserve-olm-env jian]$ oc get csv -n default
NAME DISPLAY VERSION REPLACES PHASE
etcdoperator.v0.9.4 etcd 0.9.4 etcdoperator.v0.9.2 Installing
Relevant logs:
16949 E1117 06:55:06.805774 1 queueinformer_operator.go:290] sync
failed: Operation cannot be fulfilled on subs criptions.operators.coreos.com "etcd": the object has been modified; please apply your changes to the latest version and try again
16950 time="2021-11-17T06:55:06Z" level=info msg=syncing event=update reconciling="*v1alpha1.Subscription" selflink=
16951 time="2021-11-17T06:55:07Z" level=info msg="error updating InstallPlan status" id=7Pwgk ip=install-2m4pl namespace=default phase=Installi ng updateError="Operation cannot be fulfilled on installplans.operators.coreos.com \"install-2m4pl\": the object has been modified; pleas e apply your changes to the latest version and try again"
16952 E1117 06:55:07.006520 1 queueinformer_operator.go:290] sync
failed: error updating InstallPlan s tatus: Operation cannot be fulfilled on installplans.operators.coreos.com "install-2m4pl": the object has been modified; please apply you r changes to the latest version and try again
16953 time="2021-11-17T06:55:07Z" level=info msg=syncing id=rM3sU ip=install-2m4pl namespace=default phase=Installing
16954 time="2021-11-17T06:55:07Z" level=info msg="error updating subscription status" channel=singlenamespace-alpha error="Operation cannot be fulfilled on subscriptions.operators.coreos.com \"etcd\": the object has been modified; please apply your changes to the latest version a nd try again" id=IQYO0 namespace=default pkg=etcd source=community-operators sub=etcd
16955 E1117 06:55:07.207172 1 queueinformer_operator.go:290] sync "default" failed: error updating Subscription status: Operation cannot be fulfilled on subscriptions.operators.coreos.com "etcd": the object has been modified; please apply your changes to the latest version and try again
...