rancher / dashboard

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

Expose a new Setting in Rancher UI: k3s-based-upgrader-uninstall-concurrency #11942

Closed jiaqiluo closed 1 week ago

jiaqiluo commented 1 month ago

As part of the effort to deprecate the legacy rancher-k3s-upgrade system chart, a new setting k3s-based-upgrader-uninstall-concurrency is being introduced to manage the cadence of uninstalling that app in downstream imported RKE2/K3s clusters. It is necessary to expose this setting to users, allowing them to customize it according to their needs.

The new setting will be displayed in the Global Settings -> Settings page, with the following characteristics:

Related backend issue: https://github.com/rancher/rancher/issues/42448

Please check the RFC for more information.

SURE-9046

richard-cox commented 1 month ago

More info in JIRA, but blocked on creation of setting

richard-cox commented 1 month ago

Removed assignments, anyone can pick this up once setting available

jiaqiluo commented 3 weeks ago

The backend PR has been merged, and the changes are now available in the latest docker.io/rancher/rancher:head image. This should no longer be a blocker for the UI.

cc @richard-cox

gaktive commented 3 weeks ago

The theory is that the Steve API should report the min/max values. However, @kwwii may have some design questions, especially if the Global Settings page is the right home.

@richard-cox can you confirm that this belongs on Global Settings? and are there any other limitations for UI that need to factor in that weren't documented?

gaktive commented 3 weeks ago

Feature complete comes up very soon here so if this is needed for 2.10.0, we can step over a bit unless it's super clear to others closer to the ticket may indicate how quick it'll be.

richard-cox commented 3 weeks ago

This is a setting to assist a short term feature applicable to bulk updates to downstream clusters that have had their kube version bumped and was discussed in the RFC. I would vote we add this to general settings, but remove it after 2.12 (and update docs)

gaktive commented 3 weeks ago

@jiaqiluo will the backend validate the input? Is there a min/max value to consider?

jiaqiluo commented 3 weeks ago

Hi @gaktive, the backend does not validate the input. The minimum should be 1, and there is no maximum. Could UI validate the input?

momesgin commented 3 weeks ago

@jiaqiluo we can add some constraints on the UI side, but I believe the backend should always have the validation in place in case the request is not coming from the UI.

Also have a question, is the type integer or string?

Edit: Seems for all the other settings that are numbers a string value gets sent to the backend. I'll follow the same behaviour.

jiaqiluo commented 3 weeks ago

@momesgin, the backend will attempt the convert the string into an integer, or use the default value if the conversation fails. See code

yonasberhe23 commented 1 week ago

e2e test is sufficient. moving to done