machine-controller-manager
machine-controller-manager copied to clipboard
Machine Update: Stage 1: Introduce InitializeMachine to Driver interface
How to categorize this issue?
/area control-plane /kind enhancement /priority 3
What would you like to be added:
Currently Driver implemented by all providers does not have a way to initialize a machine after creation. We now have two use cases for which InitializeMachine
is now a requirement:
- https://github.com/gardener/machine-controller-manager-provider-aws/pull/128 - assigns IPV6 addresses to the instance post creation of the instance.
- https://github.com/gardener/machine-controller-manager-provider-aws/pull/39 - enable/disable source/destination check on an instance.
CreateMachine
should be an atomic operation and should only do one thing - create a new machine. Issue#comment highlights this requirement. We have already broken the contract of CreateMachine
once (see 2 above) and as a consequence also broken the contract of GetMachineStatus
(see 2 above).
Why is this needed:
There is a need to introduce a new method InitializeMachine
which only does a one-time update of an existing instance. Changes that are done in (1) and (2) above should be moved to this new method.
There is already an issue open for this https://github.com/gardener/machine-controller-manager/issues/635 , shall we close this one and update the other, as it has more links and context attached to it ?
The arguments for UpdateMachine()
depends on the proposal for https://github.com/gardener/machine-controller-manager/issues/750
This should be closed as there is already a separate issue https://github.com/gardener/machine-controller-manager/issues/871.
The UpdateMachine
machine meant for Stage-2 is at: https://github.com/gardener/machine-controller-manager/issues/635
/close