Add an option to disable K8s version management for imported or local RKE2/K3s clusters #13069
Labels
area/clusterprovisioningv2
kind/enhancement
QA/dev-automation
Issues that engineers have written automation around so QA doesn't have look at this
RFC
Originated or linked to an RFC
size/5
Size Estimate 5
status/waiting-backend
Milestone
RFC: Option to disable K8s version management for imported or local RKE2/K3s clusters
JIRA: SURE-7219
We want to add an option to disable Kubernetes version management for imported and local clusters to independently manage cluster version upgrades outside of Rancher.
This feature will only apply to imported and local clusters.
Feature flag
The feature flag controls if the k8s version management is enabled globally. It will be enabled by default and users can disable kubernetes version management by setting imported-cluster-version-management feature flag to false.
New fields during cluster import
TBD. We should consider if we want to add a checkbox to disable version management while importing a cluster. They can technically still do it by setting related annotation.
New fields during imported cluster edit
Whether or not k8s version management is enabled for a specific cluster will be determined by management.cattle.io/enable-version-management annotation (name is tentative)
On the cluster edit page for an imported or local RKE2/K3s cluster, the UI will determine whether the version list is editable based on the following logic:
If the annotation on the cluster object is not set:
UI will check the value of the imported-cluster-version-management feature flag
If the feature flag is true, the version list will be editable.
If the feature flag is false, the version list will be non-editable.
If the annotation on the cluster object is set:
If the field is set to true, the version list will be editable.
If the field is set to false, the version list will be non-editable.
Additionally, the UI will provide a way to toggle the annotation. It should be similar to a checkbox next to the Kubernetes version
Here is a proposed solution, but it should be discussed with UX
If the version list is editable
A checkable option, "Disable Cluster Version Management", will appear next to the Kubernetes Version option. Selecting this
option will make the version list non-editable and set the annotation to false on the cluster object.
If the version list is not editable:
A checkable option, "Enable Cluster Version Management", will appear next to the Kubernetes Version option. Selecting this
option will make the version list editable and set the annotation to true on the cluster object.
Please refer to the RFC linked in JIRA for more detail if needed.
Acceptance criteria: TBD
The text was updated successfully, but these errors were encountered: