Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Machine Update: Stage 1: Post Creation Instance Initialization #871

Closed
6 tasks done
elankath opened this issue Nov 16, 2023 · 1 comment · Fixed by #868
Closed
6 tasks done

Machine Update: Stage 1: Post Creation Instance Initialization #871

elankath opened this issue Nov 16, 2023 · 1 comment · Fixed by #868
Assignees
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)

Comments

@elankath
Copy link
Contributor

elankath commented Nov 16, 2023

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 in Driver.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 to false. The MCM AWS Provider, decodes the AWSProviderSpec, reads providerSpec.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 and Ipv6PrefixCount 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:-

@elankath elankath added the kind/enhancement Enhancement, improvement, extension label Nov 16, 2023
@gardener-robot gardener-robot added area/control-plane Control plane related priority/3 Priority (lower number equals higher priority) labels Nov 16, 2023
@elankath elankath self-assigned this Nov 16, 2023
@elankath elankath changed the title Machine Update: Stage 1: Post Creation Instance Update Machine Update: Stage 1: Post Creation Instance Initialization Nov 21, 2023
@gardener-robot gardener-robot added the status/closed Issue is closed (either delivered or triaged) label Dec 12, 2023
@elankath elankath reopened this Jan 1, 2024
@gardener-robot gardener-robot added status/accepted Issue was accepted as something we need to work on and removed status/closed Issue is closed (either delivered or triaged) labels Jan 1, 2024
@elankath
Copy link
Contributor Author

elankath commented Jan 1, 2024

Re-opening as coding PR is associated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
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)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants