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

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

Open
jiaqiluo opened this issue Sep 17, 2024 · 10 comments · May be fixed by #12297
Open

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

jiaqiluo opened this issue Sep 17, 2024 · 10 comments · May be fixed by #12297
Assignees
Labels
kind/enhancement QA/dev-automation Issues that engineers have written automation around so QA doesn't have look at this size/1 Size Estimate 1
Milestone

Comments

@jiaqiluo
Copy link
Member

jiaqiluo commented Sep 17, 2024

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:

  • Name: k3s-based-upgrader-uninstall-concurrency
  • Description: Defines the maximum number of clusters in which Rancher can concurrently uninstall the legacy rancher-k3s-upgrader or rancher-rke2-upgrader app from imported K3s or RKE2 clusters.
  • Default: 5

Related backend issue: rancher/rancher#42448

Please check the RFC for more information.

SURE-9046

@jiaqiluo jiaqiluo added this to the v2.10.0 milestone Sep 17, 2024
@github-actions github-actions bot added the QA/dev-automation Issues that engineers have written automation around so QA doesn't have look at this label Sep 17, 2024
@richard-cox
Copy link
Member

More info in JIRA, but blocked on creation of setting

@richard-cox
Copy link
Member

Removed assignments, anyone can pick this up once setting available

@jiaqiluo
Copy link
Member Author

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
Copy link
Member

gaktive commented Oct 16, 2024

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
Copy link
Member

gaktive commented Oct 16, 2024

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
Copy link
Member

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 gaktive added the size/1 Size Estimate 1 label Oct 18, 2024
@gaktive
Copy link
Member

gaktive commented Oct 18, 2024

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

@jiaqiluo
Copy link
Member Author

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 momesgin self-assigned this Oct 18, 2024
@momesgin
Copy link
Member

momesgin commented Oct 18, 2024

@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
Copy link
Member Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement QA/dev-automation Issues that engineers have written automation around so QA doesn't have look at this size/1 Size Estimate 1
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants