aws-cloudformation / aws-cloudformation/cloudformation-coverage-roadmap

Deployment failing with InternalError if not Required field is not specified for AWS::AutoScaling::AutoScalingGroup when using MixedInstancesPolicy

Open
#1,551 3 comments 0 reactions 0 assignees View on GitHub
bug NeedTriage
Dominant language
No language data
Stars
1.1k
Forks
62
PR merge metrics
No merged PRs in 30d

Description

### Name of the resource

AWS::AutoScaling::AutoScalingGroup

### Resource Name

_No response_

### Issue Description

When deploying AutoScaleGroup which references LaunchTemplate with InstanceRequirements (For example to allow multiple instance-types), Cloudformation CREATE event will fail if you haven't supplied the same InstanceRequirements as AutoScaleGroup Properties/MixedInstancesPolicy/LaunchTemplate/Overrides.

If you switch from AutoScaleGroup Properties/LaunchTemplate to Properties/MixedInstancesPolicy for existing AutoScaleGroup, created by CloudFormation, UPDATE event will work as expected.

### Expected Behavior

- it's expected that this is at least documented behavior;
- AutoScaleGroup should inherit these settings like it does when ASG is created manually via console;
- in my opinion, behaviour between CREATE and UPDATE should be identical;

### Observed Behavior

CloudFormation CREATE event with MixedInstancesPolicy will fail after timeout is reached with a none-descriptive error: InternallError. Further communication with AWS Premium Support did not result in Team able to understand what's happening either.

### Test Cases

Use LaunchTemplate with InstanceRequirements and AutoScaleGroup with MixedInstancesPolicy. Without specifying exact fields under Overrides as specified under InstanceRequirements will fail with InternalError for CloudFormation CREATE event.

### Other Details

_No response_

Contributor guide

Open the contributing guide

Research direction

Reproduce the AWS::AutoScaling::AutoScalingGroup CREATE case using a LaunchTemplate with InstanceRequirements and MixedInstancesPolicy/LaunchTemplate/Overrides, then compare it with the described UPDATE behavior. Check whether the required InstanceRequirements fields and the CREATE timeout/InternalError behavior can be documented or consistently addressed; done means the failure mode and expected behavior are established.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws
Domain
cloud, infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.