-
Bug
-
Resolution: Done
-
Normal
-
1.16.2, 1.16.3
-
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':
- 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.