Machine Update: Stage 1: Post Creation Instance Initialization #871
Labels
area/control-plane
Control plane related
kind/enhancement
Enhancement, improvement, extension
priority/3
Priority (lower number equals higher priority)
status/closed
Issue is closed (either delivered or triaged)
How to categorize this issue?
/area control-plane
/kind enhancement
/priority 3
What would you like to be added:
Enhance the Machine Controller
triggerCreationFlow
to correctly handle post-creation instance initialization steps inDriver.InitializeMachine
with appropriate retry handling.Why is this needed:
Today the driver.Driver facade represents the boundary between the the
machine-controller
and its various provider specific implementations.We have abstract operations for creation/deletion and listing of machines (actually compute instances) but we do not correctly handle post-creation startup logic. Nor do we provide an abstract operation to represent the hot update of an instance after creation.
We have found this to be necessary for several use cases. Today in the MCM AWS Provider, we already misuse
driver.GetMachineStatus
which is supposed to be a read-only operation obtaining the status of an instance.Each AWS EC2 instance performs source/destination checks by default.
For EC2 NAT instances
these should be disabled. This is done by issueing
a ModifyInstanceAttribute request with the
SourceDestCheck
set tofalse
. The MCM AWS Provider, decodes the AWSProviderSpec, readsproviderSpec.SrcAndDstChecksEnabled
and correspondingly issues the call to modify the already launched instance. owever, this should be done as an action after creating the instance and should not be part of the VM status retrieval.Similarly, there is a pending PR to add the
Ipv6AddessCount
andIpv6PrefixCount
to enable the assignment of an ipv6 address and an ipv6 prefix to instances. This requires constructing and issueing an AssignIpv6Addresses request after the instance is started.To mark this issue as completed, following components should be updates:-
The text was updated successfully, but these errors were encountered: