-
Notifications
You must be signed in to change notification settings - Fork 126
Description
How to categorize this issue?
/area os
/kind enhancement
/priority 3
What would you like to be added:
Support for updating the underlying infrastructure resources (e.g., ServerClaim
image field) during in-place node updates in Gardener Machine Controller Manager (MCM). This includes extending the MCM provider driver interface with an UpdateMachine
method, enabling providers like ironcore-metal
to handle infrastructure-level updates without full node recreation.
Why is this needed:
Currently, in-place node updates in MCM do not propagate changes to the underlying infrastructure resources. For providers like ironcore-metal
, where a node is backed by a ServerClaim
with an image
field, there is no mechanism to update this field during an in-place update. This limits our ability to rotate OS images or perform similar updates efficiently.
A proposed solution is to extend the driver interface as follows:
// Driver is the common interface for creation/deletion of the VMs over different cloud-providers.
type Driver interface {
...
// UpdateMachine call is responsible for VM update on the provider
UpdateMachine(context.Context, *UpdateMachineRequest) (*UpdateMachineResponse, error)
...
}
The UpdateMachine
method would allow provider-specific logic (e.g., updating a ServerClaim's
image) while preserving the node identity, avoiding full termination and recreation.
A POC implementation of this approach can be found here:
- MCM adjustments: master...afritzler:machine-controller-manager:enh/machine-update
- MCM-driver: Implement
UpdateMachine
driver interface method ironcore-dev/machine-controller-manager-provider-ironcore-metal#102
This issue is intended to collect feedback, ideas, and alternative approaches to solving this infrastructure update gap during in-place updates.