autoscaling: Fix auto-rollback for instance refresh #39007
Draft
+43
−32
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
The auto-rollback behaviour for instance refresh relies on the fact that the desired configuration is not modified until the instance refresh finishes. If the instance refresh fails, it uses the values from the Auto Scaling Group for the rollback.
So when we do an Instance Refresh we should not use UpdateAutoScalingGroup for modify the LaunchTemplate or MixedInstancesPolicy.
Instead we should always rely on the DesiredConfiguration parameter of StartInstanceRefresh
StartInstanceRefresh will modify the Auto Scaling Group for us on success or else rollback (if enabled) to the previous version.
If Auto Rollback is disabled; and the instance will simply fail, causing the apply to fail.
Relations
Closres #34189
References
Output from Acceptance Testing