rancher / dashboard

The Rancher UI
https://rancher.com
Apache License 2.0
441 stars 243 forks source link

Cluster Tools: 'Install' button displays after installing chart when running Rancher locally #9940

Open yonasberhe23 opened 8 months ago

yonasberhe23 commented 8 months ago

Setup

Describe the bug The 'Install' button is displayed after installing a chart when running Rancher locally. Edit and delete buttons should be displayed instead. It seems as though Rancher does not recognize that the installation occurred when running locally.

To Reproduce

Result 'Install' button is displayed after installing a chart when using localhost.

Expected Result Edit and delete buttons display after installing a chart when using localhost.

Screenshots ...show what is displayed in localhost vs. remote setup after chart installation

Screenshot 2023-10-17 at 10 22 56 AM Screenshot 2023-10-17 at 10 09 54 AM

Additional context

richard-cox commented 8 months ago

This issue blocks incomming e2e tests https://github.com/rancher/dashboard/pull/9749

torchiaf commented 4 months ago

The is rarely replicable, but I noticed that, just before to install a new App from catalog, we receive some errors from catalog.cattle.io.app websocket; at least in my env, those kind of ws errors are very frequent.

Screenshot from 2024-02-29 17-10-12

In this case, the UI loses the new messages containing the new app list.

I pushed a draft to re-sync those resource having failed ws messages, ONLY to try the e2e tests and analyze the issue, but I would be very careful in touching the ws utils.

@richard-cox do you have any idea on this?

richard-cox commented 4 months ago

Those are frustrating warnings sent when the BE closes a steve socket (there's an issue somewhere for them to fix). So that would track what you're seeing.

When a socket goes down we should immediately re-subscribe. Any resource that was previously being watched should re-watch with a revision of the last updated resource (ish). Any changes that happen after was changed should in theory be re-sent over that socket.

Does the socket always re-connect ok, and does the new connection have any messages containing the resource in question?

torchiaf commented 4 months ago

Those are frustrating warnings sent when the BE closes a steve socket (there's an issue somewhere for them to fix). So that would track what you're seeing.

When a socket goes down we should immediately re-subscribe. Any resource that was previously being watched should re-watch with a revision of the last updated resource (ish). Any changes that happen after was changed should in theory be re-sent over that socket.

Does the socket always re-connect ok, and does the new connection have any messages containing the resource in question?

For what i've seen the UI doesn't receive the lost updates for catalog.cattle.io.app. Adding this check https://github.com/rancher/dashboard/blob/e80026181283ab07d11041d7ad856bb925f80d81/shell/plugins/steve/subscribe.js#L850 fixed the issue and the e2e tests, since we do a re-sync for this type of ws errors, but I'm not sure if this is the right way to fix it until we don't have a fix back-end side.

richard-cox commented 4 months ago

That works around the issue and would cause a LOT of http requests to fetch all resources.

If the BE isn't sending the correct updates after re-watching on the new socket connection with an old revision then you'll need to create an issue rancher/rancher side to address. It'll need some clear detail on the socket messages, specifically the ones we're getting and the one's we're missing.

torchiaf commented 4 months ago

That works around the issue and would cause a LOT of http requests to fetch all resources.

Exactly; I'll collect more info to send a t the backend team. Thanks