Skip to content

[RFE] Improve handling of dynamicSchemaSpec #44618

@jakefhyde

Description

@jakefhyde

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

#40730 was initially merged for #40609, introducing the dynamicSchemaSpec field under the provisioning cluster resources machinePools list to prevent automatic and unintended machine rollout when switching between node driver versions. Built-in and custom node drivers may be updated to add new fields, typically when a new version of rancher-machine is released and vendored in as part of a rancher upgrade, or a new version of the custom node driver is released respectively. This approach works for fetch based update methods (such as Edit Yaml or Edit Config within the Rancher UI), as well as path based update methods, however declarative (i.e. desired state) methods such as terraform or fleet drop this field from the request. As such, this can result in unexpected reprovisioning to the user, as removal of this field will cause it to be repopulated, and the change in machine-template-hash by no longer dropping the new fields added since initial provisioning will cause a rollout. While potential workarounds should be investigated in the short term for both fleet and terraform, it is worth investigating a more permanent long term solution.

Describe the solution you'd like
A clear and concise description of what you want to happen.

There are a number of potential solutions, but no clear path at this time. The team will evaluate options internally and update this ticket accordingly.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
SURE-7751

Metadata

Metadata

Labels

area/capiProvisioning issues that deal correspond with CAPIarea/caprProvisioning issues that involve cluster-api-provider-rancherarea/capr/rke2RKE2 Provisioning issues involving CAPRarea/provisioning-v2Provisioning issues that are specific to the provisioningv2 generating frameworkfeature/node-driverskind/enhancementIssues that improve or augment existing functionalitypriority/1release-noteNote this issue in the milestone's release notesteam/hostbustersThe team that is responsible for provisioning/managing downstream clusters + K8s version support

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions