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

Version override in ArgoCD CR causes operator to use upstream images

XMLWordPrintable

    • 5
    • False
    • Hide

      None

      Show
      None
    • False
    • Hide
      Previously, when only .spec.version was set in the ArgoCD CR, the operator incorrectly pulled upstream images from quay.io. This update fixes the issue, and the operator now correctly uses images from registry.redhat.io, ensuring the operator uses only Red Hat–certified images.
      Show
      Previously, when only .spec.version was set in the ArgoCD CR, the operator incorrectly pulled upstream images from quay.io. This update fixes the issue, and the operator now correctly uses images from registry.redhat.io, ensuring the operator uses only Red Hat–certified images.
    • GitOps Crimson Sprint 22

      Description of Problem

      When spec.version is set in ArgoCD CR overriding ArgoCD version - GitOps operator configures dex, application-controller, devops-server and repo-server pods to upstream images from quay.io/argoproj registry.

      This causes GitOps deployment to become non-compliant and RedHat Support refuses to support these environments until all components use images from redhat.registry.io/openshift-gitops-1 registry.

      Additional Info

      This issue was observed during migration from ArgoCd operator v.0.14.1 to OpeShift GitOps operator v.1.16.3.

      ArgoCD instance is deployed in the custom namespace 'argocd-devops'

      ArgoCD CR has spec.version set to 'v2.14.17'.

      GitOps operator is deployed with 'default ArgoCD instance disabled.

      Once migration from ArgoCD operator to OpenShift Operator is complete it was observed that the following pods still have image set to 'quay.io/argoproj/argocd:v2.14.17':

      • dex-server
      • application-controller
      • repo-server
      • devops-server

        Problem Reproduction

      • Set spec.version in ArgoCD CR to override ArgoCD version. E.g. 'v2.14.17'
      • Observe dex, application-controller, repo-server, and devops-server restart using upstream images quay.io/argoproj/argocd:v2.14.17

      Reproducibility

      • Always

      Prerequisites/Environment

      • OpenShift v4.16.46 - 50+ on-prem clusters (OpenStack, VSphere)
      • GitOps operator v.1.16.3
      • Version override to ArgoCD v.2.14.17 

      Steps to Reproduce

      • Deploy GitOps operator v.1.16.3 on OpenShift cluster v.4.16
      • Set spec.version in ArgoCD CR to override ArgoCD version. E.g. 'v2.14.17'
      • Observe dex, application-controller, repo-server, and devops-server restart using upstream images quay.io/argoproj/argocd:v2.14.17
      •  

      Expected Results

      • GitOps operator continue to use images from redhat.registry.io/openshift-gitops-1 registry.

      Actual Results

      • GitOps operator configures dex, application-controller, devops-server and repo-server pods to use images from quay.io/argoproj registry

      Problem Analysis

      • <Completed by engineering team as part of the triage/refinement process>

      Root Cause

      • <What is the root cause of the problem? Or, why is it not a bug?>

      Workaround (If Possible)

      • Do not override ArgoCD version in ArgoCD CR.

      Fix Approaches

      • Option 1: disable logic to override spec.version in ArgoCD CR with a warning or error
      • Option 2: Use only images (where available) from redhat.regisgtry.io/openshift-gitops-1 registry when ArgoCD version override is specified in ArgoCD CR.

      Acceptance Criteria

      • Do not use upstream images from quay.io/argoproj registry when version override is specified

      Definition of Done

      • Code Complete:
        • All code has been written, reviewed, and approved.
      • Tested:
        • Unit tests have been written and passed.
        • Ensure code coverage is not reduced with the changes.
        • Integration tests have been automated.
        • System tests have been conducted, and all critical bugs have been fixed.
        • Tested and merged on OpenShift either upstream or downstream on a local build.
      • Documentation:
        • User documentation or release notes have been written (if applicable).
      • Build:
        • Code has been successfully built and integrated into the main repository / project.
        • Midstream changes (if applicable) are done, reviewed, approved and merged.
      • Review:
        • Code has been peer-reviewed and meets coding standards.
        • All acceptance criteria defined in the user story have been met.
        • Tested by reviewer on OpenShift.
      • Deployment:
        • The feature has been deployed on OpenShift cluster for testing.

              rh-ee-nakhil Nittala Akhil
              ybeisemb@redhat.com Yerzhan Beisembayev
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: