Machine Update: Stage 1: Introduce InitializeMachine to Driver interface
unmarshall opened this issue · 4 comments
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:
- gardener/machine-controller-manager-provider-aws#128 - assigns IPV6 addresses to the instance post creation of the instance.
- gardener/machine-controller-manager-provider-aws#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 #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 #750