rancher / dashboard

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

Node Driver page does not handle errors #9183

Open thatmidwesterncoder opened 1 year ago

thatmidwesterncoder commented 1 year ago

Setup

Describe the bug

When disabling/enabling a Node Driver if the API returns a 400/500 it does not display the error nor update the UI in anyway, which is confusing.

To Reproduce

Apply https://github.com/rancher/webhook/pull/250 to the webhook, then try and disable a node driver after creating a cluster that uses one of the node drivers. Nothing will happen in the UI after clicking disable.

Result Nothing happens when the request is denied.

Expected Result

A notification is shown with the error so the user knows what happened in the background when trying to disable/enable the driver.

Screenshots

image

Additional context

path: /dashboard/c/_/manager/pages/rke-drivers

This was found when developing https://github.com/rancher/rancher/issues/41128, when adding the webhook which can deny an update on the NodeDriver resources

richard-cox commented 1 year ago

This is a general issue with how we handle requests related to actions that do not modify the resource state / message.

This page is currently in ember, but the pattern extends to dashboard as well.

We should look at / consider this when working on https://github.com/rancher/dashboard/issues/9274

thaneunsoo commented 1 year ago

Hi just wanted to leave my findings here from https://github.com/rancher/rancher/issues/42378

I noticed when activating both node drivers I noticed that one of the node drivers went into a Downloading state. Both are installed and active. I'm not sure if this is worth fixing for the ui since this is a very edge case, I'm ok with just having the backend working properly. image.png Even when uninstalling the active node driver, the downloading nodedriver stays in Downloading state in the UI. When looking at the api I see that the status is indeed in Downloading but when I check the nodedriver using kubectl I see that the node driver is actually installed and active. image.png image.png I'm ok to close this out this ticket and keep this comment here as a reference but I don't think it is worth UI team's time to fix this edge case.

richard-cox commented 5 months ago

@timirnich that seems to be a separate issue, where two of the same drivers are added and the state supplied getting broken. Think the key issue on this one is the request fails and the UI does not show the error message.

Needs re-testing in 2.9.0 after this page was ported to vue