Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Resources do not get "missing" health status when "controller.resource.health.persist" is set to false #21964

Open
3 tasks done
omrirosner-clx opened this issue Feb 24, 2025 · 2 comments
Labels
bug Something isn't working

Comments

@omrirosner-clx
Copy link

Checklist:

  • I've searched in the docs and FAQ for my answer: https://bit.ly/argocd-faq.
  • I've included steps to reproduce the bug.
  • I've pasted the output of argocd version.

Describe the bug

When controller.resource.health.persist is set to false in argocd-cmd-params-cm.yaml, resources that are missing do not get the "missing" health status, both in the ArgoCD ui and in the application custom resource in k8s

To Reproduce

  • Have some application with a missing resource
  • Change controller.resource.health.persist to false in argocd-cmd-params-cm.yaml
  • Restart the application controller
  • Hard refresh an application with the missing resources

You will not see the missing health status

Expected behavior

The Health of the resource will be "missing"

Screenshots

controller.resource.health.persist set to "true":
Image

controller.resource.health.persist set to "false":
Image

Version

argocd: v2.13.1+af54ef8
  BuildDate: 2024-11-20T16:54:29Z
  GitCommit: af54ef8db5adfa77a08d4d05b1318a2198084c22
  GitTreeState: clean
  GoVersion: go1.22.9
  Compiler: gc
  Platform: darwin/arm64
argocd-server: v2.14.1+3345d05
  BuildDate: 2025-02-03T21:23:31Z
  GitCommit: 3345d05a43d8edd7ec42ec71ffe8b5f95bc68dbe
  GitTreeState: clean
  GoVersion: go1.23.3
  Compiler: gc
  Platform: linux/amd64
  Kustomize Version: v5.4.3 2024-07-19T16:40:33Z
  Helm Version: v3.16.3+gcfd0749
  Kubectl Version: v0.31.0
  Jsonnet Version: v0.20.0```
@rumstead
Copy link
Member

I would expect not to see the "missing" health status in the CR when persist is false but the UI should still display it.

Does this affect any actions in the UI?

@rumstead
Copy link
Member

rumstead commented Feb 24, 2025

It looks like the controller doesn't persist the health when the resource is missing and on top of that some resources don't get a health persisted at all.

Here is an example where everything is synced

[
    {
        "version": "v1",
        "kind": "Service",
        "namespace": "default",
        "name": "demo",
        "uid": "1f58be79-80da-4137-8da2-30cf48878098",
        "networkingInfo": {
            "targetLabels": {
                "app": "demo"
            }
        },
        "resourceVersion": "165264",
        "health": {
            "status": "Healthy"
        },
        "createdAt": "2025-02-24T17:28:05Z"
    },
    {
        "version": "v1",
        "kind": "ConfigMap",
        "namespace": "default",
        "name": "demo-cm",
        "uid": "44704f58-0d95-4044-b787-5e800ed51c61",
        "resourceVersion": "163788",
        "createdAt": "2025-02-24T16:58:21Z"
    }
]

Here is an example where both the configmap and service are missing

[
    {
        "version": "v1",
        "kind": "Service",
        "namespace": "default",
        "name": "demo"
    },
    {
        "version": "v1",
        "kind": "ConfigMap",
        "namespace": "default",
        "name": "demo-cm"
    }
]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants