Uploaded image for project: 'OpenShift GitOps'
  1. OpenShift GitOps
  2. GITOPS-2567

Unable to Upgrade gitOps to latest and Install Plan mismatching of NAME & CSV

XMLWordPrintable

    • False
    • None
    • False
    • Moderate
    • Red Hat OpenShift Service on AWS

      Description: Customer installed Red Hat OpenShift Gitops Operator .

      Issue looks like a bug

      • Originally installed the operator on August 5, 2022, the version installed at that time was 1.6.0.
      • Customer want to upgrade to 1.7.0.

      The upgrade channel is set to "latest", which points to 1.7.0. Update approval is set to automatic.
      Upgrade status is set to 'up to date' , but the currently installed version is 1.6.2, not 1.7.0.

      • Suggested change channel path to v1.7 instead Latest but

      Attempt to change the channnel to gitops-1.7, customer received this error when hitting Save:

      Danger alert:An error occurred
      a: Operation cannot be fulfilled on subscriptions.operators.coreos.com "openshift-gitops-operator": the object has been modified; please apply your changes to the latest version and try again
      
      $ oc get events
      LAST SEEN   TYPE      REASON                         OBJECT                                                  MESSAGE
      2m43s       Normal    Pulling                        pod/gitlab-runner-controller-manager-66c9dc9749-d79gw   Pulling image "registry.gitlab.com/gitlab-org/gl-openshift/gitlab-runner-operator/gitlab-runner-operator@sha256:ead726da6f75d80ff7b389dac853096d8680b9910cd5079d3aaf77a31846bf7b"
      7m43s       Normal    BackOff                        pod/gitlab-runner-controller-manager-66c9dc9749-d79gw   Back-off pulling image "registry.gitlab.com/gitlab-org/gl-openshift/gitlab-runner-operator/gitlab-runner-operator@sha256:ead726da6f75d80ff7b389dac853096d8680b9910cd5079d3aaf77a31846bf7b"
      178m        Warning   FailedToUpdateEndpointSlices   service/gitlab-runner-controller-manager-service        Error updating Endpoint Slices for Service openshift-operators/gitlab-runner-controller-manager-service: failed to delete gitlab-runner-controller-manager-service-l99gj EndpointSlice for Service openshift-operators/gitlab-runner-controller-manager-service: endpointslices.discovery.k8s.io "gitlab-runner-controller-manager-service-l99gj" not found
      
      $oc get csv
      openshift-gitops-operator.v1.6.2             Red Hat OpenShift GitOps       1.6.2                  openshift-gitops-operator.v1.6.1-0.1666124167.p    Succeeded
      
      $ oc get ip
       NAME            CSV                                                 APPROVAL    APPROVED
      install-44wwd   openshift-gitops-operator.v1.6.1-0.1666124167.p     Automatic   true      <<< 
      install-b56dm   devspacesoperator.v3.2.0                            Automatic   true
      install-mrbdv   servicemeshoperator.v2.2.3                          Automatic   true
      install-v7s65   gatekeeper-operator-product.v0.2.4-0.1666670065.p   Automatic   true
      install-xtp8b   devworkspace-operator.v0.16.0                       Automatic   true
      

      Also found this additional information when running `oc describe` on the subscription.

        Conditions:
      	Last Transition Time:   2022-09-09T02:24:53Z
      	Message:                all available catalogsources are healthy
      	Reason:                 AllCatalogSourcesHealthy
      	Status:                 False
      	Type:                   CatalogSourcesUnhealthy
      	Message:                constraints not satisfiable: subscription openshift-gitops-operator requires at least one of redhat-operators/openshift-marketplace/latest/openshift-gitops-operator.v1.7.0, redhat-operators/openshift-marketplace/latest/openshift-gitops-operator.v1.6.3 or @existing/openshift-operatorsopenshift-gitops-operator.v1.6.2, redhat-operators/openshift-marketplace/latest/openshift-gitops-operator.v1.7.0, redhat-operators/openshift-marketplace/latest/openshift-gitops-operator.v1.6.3, @existing/openshift-operatorsopenshift-gitops-operator.v1.6.1-0.1666124167.p and @existing/openshift-operators//openshift-gitops-operator.v1.6.2 provide AppProject (argoproj.io/v1alpha1), clusterserviceversion openshift-gitops-operator.v1.6.1-0.1666124167.p exists and is not referenced by a subscription, subscription openshift-gitops-operator exists
      	Reason:                 ConstraintsNotSatisfiable
      	Status:                 True
      	Type:                   ResolutionFailed
      
      • As per error, looks like OLM issue so, Suggested customer to restart OLM but it doesn't work.

      We do not see any clusterserviceversion resources for openshift-gitops-operator.v1.6.1-0.1666124167.p

      Here, we can see when I look at the v1.6.2 operator.

      $oc get clusterserviceversion -n openshift-gitops openshift-gitops-operator.v1.6.2
      NAME                               DISPLAY                    VERSION   REPLACES                                          PHASE
      openshift-gitops-operator.v1.6.2   Red Hat OpenShift GitOps   1.6.2     openshift-gitops-operator.v1.6.1-0.1666124167.p   Succeeded
      

      I did find the 1.6.1 version referenced in an install plan.

      $oc get installplan -n openshift-operators
      NAME            CSV                                                 APPROVAL    APPROVED
      install-44wwd   openshift-gitops-operator.v1.6.1-0.1666124167.p     Automatic   true
      
      

      Something interesting I discovered though is that the install plan listed for the openshift-gitops-operator, actually belongs to the gatekeeper-operator-product operator. That seems strange.

      $oc get sub -n openshift-operators openshift-gitops-operator -o json | jq .status.installplan
      {
        "apiVersion": "operators.coreos.com/v1alpha1",
        "kind": "InstallPlan",
        "name": "install-v7s65",
        "uuid": "a5402b3a-7c57-4b85-85cb-38bdb6baa7f3"
      }
      
      install-v7s65   gatekeeper-operator-product.v0.2.4-0.1666670065.p   Automatic   true
      
      
      $oc get subs -n openshift-operators openshift-gitops-operator -o jsonpath='{.status.installplan}' | jq
      {
        "apiVersion": "operators.coreos.com/v1alpha1",
        "kind": "InstallPlan",
        "name": "install-v7s65",
        "uuid": "a5402b3a-7c57-4b85-85cb-38bdb6baa7f3"
      }
      
      
      $oc get installplan -n openshift-operators -o wide
      NAME            CSV                                                 APPROVAL    APPROVED
      install-44wwd   openshift-gitops-operator.v1.6.1-0.1666124167.p     Automatic   true
      install-b56dm   devspacesoperator.v3.2.0                            Automatic   true
      install-mrbdv   servicemeshoperator.v2.2.3                          Automatic   true
      install-v7s65   gatekeeper-operator-product.v0.2.4-0.1666670065.p   Automatic   true
      install-xtp8b   devworkspace-operator.v0.16.0                       Automatic   true
      

              jrao@redhat.com Jaideep Rao
              rhn-support-jkale Janmejay Kale
              Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: