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

Argo Rollouts Dashboard unusuable since v1.8.0 #4122

Open
2 tasks done
erickbitso opened this issue Feb 7, 2025 · 2 comments
Open
2 tasks done

Argo Rollouts Dashboard unusuable since v1.8.0 #4122

erickbitso opened this issue Feb 7, 2025 · 2 comments
Labels
bug Something isn't working bug-reproduced

Comments

@erickbitso
Copy link

erickbitso commented Feb 7, 2025

Checklist:

  • I've included steps to reproduce the bug.
  • I've included the version of argo rollouts.

Describe the bug

Installation of Argo Rollouts with dashboard using the latest image v1.8.0 breaks completely the UI. I tried using Helm for installation, and I also tried to simply change the imageTag of the dashboard (of an existing working installation using v1.7.2) to v1.8.0 and the effect is the same. By "breaks" I mean that accessing (through port-forward at least) is incredibly slow, and it renders a blank screen with a few words.

To Reproduce

kind create cluster
helm install rollouts argo/argo-rollouts --version 2.39.0 --set dashboard.enabled=true
kubectl port-forward svc/rollouts-argo-rollouts-dashboard 3100

Expected behavior

The dashboard works and I'm able to see things, not a blank screen

Screenshots

Using version v1.7.2
Image

Using version v1.8.0
Image

Version

v1.8.0

Logs

Logs for the entire controller:

$ kubectl logs deployment/argo-rollouts
time="2025-02-07T18:02:09Z" level=info msg="Argo Rollouts starting" version=v1.8.0+9c5d75d
time="2025-02-07T18:02:09Z" level=info msg="Creating event broadcaster"
time="2025-02-07T18:02:09Z" level=info msg="Setting up event handlers"
time="2025-02-07T18:02:09Z" level=info msg="Setting up experiments event handlers"
time="2025-02-07T18:02:09Z" level=info msg="Setting up analysis event handlers"
time="2025-02-07T18:02:09Z" level=info msg="Leaderelection get id rollouts-argo-rollouts-6c754f6768-srwt6_d25451b2-5301-441f-b15b-567a674f4ebd"
time="2025-02-07T18:02:09Z" level=info msg="attempting to acquire leader lease default/argo-rollouts-controller-lock..."
time="2025-02-07T18:02:09Z" level=info msg="Starting Healthz Server at 0.0.0.0:8080"
time="2025-02-07T18:02:09Z" level=info msg="Starting Metric Server at 0.0.0.0:8090"
time="2025-02-07T18:02:09Z" level=error msg="error initially creating leader election record: leases.coordination.k8s.io \"argo-rollouts-controller-lock\" already exists" error="<nil>"
time="2025-02-07T18:02:12Z" level=info msg="New leader elected: rollouts-argo-rollouts-6c754f6768-t8nxz_9ce8050a-50f9-445c-9d65-e9d2fa3b52b8"

Dashboard logs

$ klf rollouts-argo-rollouts-dashboard-9bd8cd8fd-kcnhl
time="2025-02-07T18:01:58Z" level=info msg="Argo Rollouts Dashboard is now available at http://localhost:3100/rollouts"
time="2025-02-07T18:01:58Z" level=info msg="[core] [Channel #1 SubChannel #2]grpc: addrConn.createTransport failed to connect to {Addr: \"0.0.0.0:3100\", ServerName: \"0.0.0.0:3100\", }. Err: connection error: desc = \"transport: Error while dialing: dial tcp 0.0.0.0:3100: connect: connection refused\""

Message from the maintainers:

Impacted by this bug? Give it a 👍. We prioritize the issues with the most 👍.

@erickbitso erickbitso added the bug Something isn't working label Feb 7, 2025
@kethasid
Copy link

kethasid commented Feb 19, 2025

I am also facing a similar issue where the ingress of the dashboard does not work. It gives a 502 gateway error.

Image

Curl from within the nginx pod gives the error of connection refused

connect to 10.28.10.106 port 3100 from 10.28.1.67 port 46696 failed: Connection refused Failed to connect to 10.28.10.106 port 3100 after 0 ms: Could not connect to server

Also when we try to do a port-forward on the dashboard pod it fails with the below error

error forwarding port 3100 to pod 45bb6e2c2a1f247ecf53f742cda5fc79fc72b271d0d4bf3f4ef187d754b66e52, uid : failed to execute portforward in network namespace "/var/run/netns/cni-a2e2e8c3-2035-17e6-8fb5-d4e21e8f6e27": failed to connect to localhost:3100 inside namespace "45bb6e2c2a1f247ecf53f742cda5fc79fc72b271d0d4bf3f4ef187d754b66e52", IPv4: dial tcp4 127.0.0.1:3100: connect: connection refused IPv6 dial tcp6: address localhost: no suitable address found E0219 14:39:06.351779 2539 portforward.go:234] lost connection to pod

Surprising part is that the command kubectl argo rollouts dashboard works and the dashboard on the http://localhost:3100/rollouts work

I assume the above command does a port-forwarding on the dashboard pod

@pablokbs
Copy link

Adding more info from the browser's console

rollouts/:1 Error in event handler: TypeError: Cannot read properties of undefined (reading 'fn')
    at isUsername (chrome-extension://glnpjglilkicbckjpbgcfkogebgllemb/shared/preload-content.js:1:6252)
    at hasUsernameByTag (chrome-extension://glnpjglilkicbckjpbgcfkogebgllemb/shared/preload-content.js:1:6617)
    at o.searchUsernameField (chrome-extension://glnpjglilkicbckjpbgcfkogebgllemb/shared/preload-content.js:1:7131)
    at o.onDomUpdate (chrome-extension://glnpjglilkicbckjpbgcfkogebgllemb/shared/preload-content.js:1:6946)
    at o.startObserver (chrome-extension://glnpjglilkicbckjpbgcfkogebgllemb/shared/preload-content.js:1:7413)
    at Object.startScanning [as fn] (chrome-extension://glnpjglilkicbckjpbgcfkogebgllemb/shared/preload-content.js:1:9632)
    at o.chainChecks (chrome-extension://glnpjglilkicbckjpbgcfkogebgllemb/shared/preload-content.js:1:2782)
    at chrome-extension://glnpjglilkicbckjpbgcfkogebgllemb/shared/preload-content.js:1:2897
    at Object.shouldInjectThrushFutureContentScript (chrome-extension://glnpjglilkicbckjpbgcfkogebgllemb/shared/preload-content.js:1:2998)
    at chrome-extension://glnpjglilkicbckjpbgcfkogebgllemb/shared/preload-content.js:1:7742
shared.js:38 Uncaught TypeError: o.offset is not a function
    at o.isVisibleInPage (shared.js:38:172614)
    at o.isVisibleInForm (shared.js:38:172435)
    at isUsername (preload-content.js:1:6271)
    at hasUsernameByTag (preload-content.js:1:6617)
    at o.searchUsernameField (preload-content.js:1:7131)
    at o.onDomUpdate (preload-content.js:1:6946)
    at Object.onChange (preload-content.js:1:7392)
    at notifyChange (preload-content.js:1:5397)
    at later (preload-content.js:1:712)
o.isVisibleInPage @ shared.js:38
o.isVisibleInForm @ shared.js:38
isUsername @ preload-content.js:1
hasUsernameByTag @ preload-content.js:1
o.searchUsernameField @ preload-content.js:1
o.onDomUpdate @ preload-content.js:1
(anonymous) @ preload-content.js:1
notifyChange @ preload-content.js:1
later @ preload-content.js:1
setTimeout
e.setTimeout @ shared.js:3
later @ preload-content.js:1
setTimeout
e.setTimeout @ shared.js:3
(anonymous) @ preload-content.js:1
observerCallback @ preload-content.js:1
childList
(anonymous) @ shared.js:28
ce @ shared.js:28
se.setDocument @ shared.js:28
(anonymous) @ shared.js:28
(anonymous) @ shared.js:28
(anonymous) @ shared.js:17
(anonymous) @ shared.js:17
(anonymous) @ shared.js:39

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

No branches or pull requests

4 participants