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
- 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
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