-
Bug
-
Resolution: Unresolved
-
Normal
-
None
-
1.18.0
-
5
-
False
-
-
False
-
-
-
GitOps Crimson Sprint 25
Description of Problem
As ownerReferences in configmaps in ArgoCD namespace are not updated with the upgrade, to use the correct `apiVersion` for the owner ArgoCD instance, it causes discrepancy in the UI, when viewing the ArgoCD CR. Even though the ArgoCD CR is converted to use the `v1beta1` apiVersion.
$ oc get cm argocd-rbac-cm -o yaml -n openshift-gitops
....
kind: ConfigMap
metadata:
labels:
app.kubernetes.io/managed-by: openshift-gitops
app.kubernetes.io/name: argocd-rbac-cm
app.kubernetes.io/part-of: argocd
name: argocd-rbac-cm
namespace: openshift-gitops
ownerReferences:
- apiVersion: argoproj.io/v1alpha1 <---------
blockOwnerDeletion: true
controller: true
kind: ArgoCD
name: openshift-gitops
And due to this, the `status.storedVersions` in the CRD, then shows both the apiVersions:
**
$ oc get crd argocds.argoproj.io .... storedVersions: - v1alpha1 - v1beta1
**
Additional Info
Problem Reproduction
Reproducibility
Prerequisites/Environment
Steps to Reproduce
- ...
Expected Results
- ...
Actual Results
- ...
Problem Analysis
- <Completed by engineering team as part of the triage/refinement process>
Root Cause
- Missing update logic for ownerref
Workaround (If Possible)
- Patch the configmap manually
Fix Approaches
- Add logic to update the ownerReference for resources of kind ArgoCD. Since other components may also add owner references, the logic should handle this carefully. A search-and-update approach within the existing owner reference list would be the most reliable.
Acceptance Criteria
- ...
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.