Uploaded image for project: 'OpenShift Bugs'
  1. OpenShift Bugs
  2. OCPBUGS-9029

The status of subscription didn't display the right CatalogSource status

XMLWordPrintable

    • 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

      {"update" "default/etcd"}

      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

      {"update" "default/install-2m4pl"}

      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
      ...

            krizza@redhat.com Kevin Rizza
            rhn-support-jiazha Jian Zhang
            Jian Zhang Jian Zhang
            Red Hat Employee
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: