-
Story
-
Resolution: Unresolved
-
Critical
-
None
-
None
-
None
-
5
-
False
-
-
False
-
-
-
GITOPS Sprint 236
Story (Required)
There are multiple customer issues (ref add here) reported on namespace scoped argocd instance handling large number of namespace. We identified the root cause is the memory cache using in argocd server in namespaced scope. We create this ticket to address the root cause of these customer issues.
Here are steps to reproduce:
- Create an argocd namespace scopes instance
- Create 100 namespaces.
- Create app-of-apps. parent app in the gitops-operator naneepace. parent app deploys an app in each 100 namespaces.
- Add "managed-by=argo" to the 100 namespaces than 100 namespace where "argo" is the namepace of the argocd instance.
- Observe in the argocd console, view the parent and refresh is stuck.
Background (Required)
Below are the support cases which will provide a better overview
03393513 03461740 03462692 03473524
Out of scope
Providing a work around to upgrade to cluster scoped Instance from namespace scoped.
Approach (Required)
- Argocd needs to cache more CRD
- One instance is managing /caching. cluster scope only need to cache once
- Move to server side validation would reduce the cache
- work around reduce the query (QPS)
https://redhat-internal.slack.com/archives/C048WUV584F/p1680526771413909
Dependencies
<Describes what this story depends on. Dependent Stories and EPICs should be linked to the story.>
Acceptance Criteria (Mandatory)
- Identify the root cause for the issues with namespace scoped installation with > 50 namespaces on OpenShift.
- Provide the fix (upstream or downstream where ever it is required)
- Get the fix into GitOps operator.
INVEST Checklist
Dependencies identified
Blockers noted and expected delivery timelines set
Design is implementable
Acceptance criteria agreed upon
Story estimated
Legend
Unknown
Verified
Unsatisfied
Done Checklist
- Code is completed, reviewed, documented and checked in
- Unit and integration test automation have been delivered and running cleanly in continuous integration/staging/canary environment
- Continuous Delivery pipeline(s) is able to proceed with new code included
- Customer facing documentation, API docs etc. are produced/updated, reviewed and published
- Acceptance criteria are met