-
Notifications
You must be signed in to change notification settings - Fork 9.2k
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
Retry Cloudformation StackSet Create when the service is busy #10969
Retry Cloudformation StackSet Create when the service is busy #10969
Conversation
6fd0404
to
70789b2
Compare
Any updates on this PR? We are struggling without this feature. |
Haven't even heard anything back on an older PR with more votes yet, unfortunately |
any idea when this might get merged? the current behavior's workaround of |
Stack Sets only let a single stack per account be modified at the same time. When an operation is in progress, an `OperationInProgressException` is thrown that's similar to rate limiting errors. This adds that exception type to the built-in Retryer in the AWS SDK so it gets auto-retried like rate limits do
70789b2
to
5327bab
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 🚀.
% make testacc TEST=./aws TESTARGS='-run=TestAccAWSCloudFormationStackSetInstance_\|TestAccAWSCloudFormationStackSet_'
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./aws -v -count 1 -parallel 20 -run=TestAccAWSCloudFormationStackSetInstance_\|TestAccAWSCloudFormationStackSet_ -timeout 180m
=== RUN TestAccAWSCloudFormationStackSetInstance_basic
=== PAUSE TestAccAWSCloudFormationStackSetInstance_basic
=== RUN TestAccAWSCloudFormationStackSetInstance_disappears
=== PAUSE TestAccAWSCloudFormationStackSetInstance_disappears
=== RUN TestAccAWSCloudFormationStackSetInstance_disappears_StackSet
=== PAUSE TestAccAWSCloudFormationStackSetInstance_disappears_StackSet
=== RUN TestAccAWSCloudFormationStackSetInstance_ParameterOverrides
=== PAUSE TestAccAWSCloudFormationStackSetInstance_ParameterOverrides
=== RUN TestAccAWSCloudFormationStackSetInstance_RetainStack
=== PAUSE TestAccAWSCloudFormationStackSetInstance_RetainStack
=== RUN TestAccAWSCloudFormationStackSet_basic
=== PAUSE TestAccAWSCloudFormationStackSet_basic
=== RUN TestAccAWSCloudFormationStackSet_disappears
=== PAUSE TestAccAWSCloudFormationStackSet_disappears
=== RUN TestAccAWSCloudFormationStackSet_AdministrationRoleArn
=== PAUSE TestAccAWSCloudFormationStackSet_AdministrationRoleArn
=== RUN TestAccAWSCloudFormationStackSet_Description
=== PAUSE TestAccAWSCloudFormationStackSet_Description
=== RUN TestAccAWSCloudFormationStackSet_ExecutionRoleName
=== PAUSE TestAccAWSCloudFormationStackSet_ExecutionRoleName
=== RUN TestAccAWSCloudFormationStackSet_Name
=== PAUSE TestAccAWSCloudFormationStackSet_Name
=== RUN TestAccAWSCloudFormationStackSet_Parameters
=== PAUSE TestAccAWSCloudFormationStackSet_Parameters
=== RUN TestAccAWSCloudFormationStackSet_Parameters_Default
provider_test.go:58: this resource does not currently ignore unconfigured CloudFormation template parameters with the Default property
--- SKIP: TestAccAWSCloudFormationStackSet_Parameters_Default (0.00s)
=== RUN TestAccAWSCloudFormationStackSet_Parameters_NoEcho
provider_test.go:58: this resource does not currently ignore CloudFormation template parameters with the NoEcho property
--- SKIP: TestAccAWSCloudFormationStackSet_Parameters_NoEcho (0.00s)
=== RUN TestAccAWSCloudFormationStackSet_PermissionModel_ServiceManaged
provider_test.go:58: API does not support enabling Organizations access (in particular, creating the Stack Sets IAM Service-Linked Role)
--- SKIP: TestAccAWSCloudFormationStackSet_PermissionModel_ServiceManaged (0.00s)
=== RUN TestAccAWSCloudFormationStackSet_Tags
=== PAUSE TestAccAWSCloudFormationStackSet_Tags
=== RUN TestAccAWSCloudFormationStackSet_TemplateBody
=== PAUSE TestAccAWSCloudFormationStackSet_TemplateBody
=== RUN TestAccAWSCloudFormationStackSet_TemplateUrl
=== PAUSE TestAccAWSCloudFormationStackSet_TemplateUrl
=== CONT TestAccAWSCloudFormationStackSetInstance_basic
=== CONT TestAccAWSCloudFormationStackSet_Description
=== CONT TestAccAWSCloudFormationStackSetInstance_RetainStack
=== CONT TestAccAWSCloudFormationStackSetInstance_ParameterOverrides
=== CONT TestAccAWSCloudFormationStackSetInstance_disappears_StackSet
=== CONT TestAccAWSCloudFormationStackSetInstance_disappears
=== CONT TestAccAWSCloudFormationStackSet_disappears
=== CONT TestAccAWSCloudFormationStackSet_AdministrationRoleArn
=== CONT TestAccAWSCloudFormationStackSet_basic
=== CONT TestAccAWSCloudFormationStackSet_Tags
=== CONT TestAccAWSCloudFormationStackSet_TemplateUrl
=== CONT TestAccAWSCloudFormationStackSet_TemplateBody
=== CONT TestAccAWSCloudFormationStackSet_Name
=== CONT TestAccAWSCloudFormationStackSet_Parameters
=== CONT TestAccAWSCloudFormationStackSet_ExecutionRoleName
--- PASS: TestAccAWSCloudFormationStackSet_disappears (53.86s)
--- PASS: TestAccAWSCloudFormationStackSet_basic (58.94s)
--- PASS: TestAccAWSCloudFormationStackSet_ExecutionRoleName (80.63s)
--- PASS: TestAccAWSCloudFormationStackSet_AdministrationRoleArn (84.43s)
--- PASS: TestAccAWSCloudFormationStackSet_Name (84.66s)
--- PASS: TestAccAWSCloudFormationStackSet_TemplateBody (85.11s)
--- PASS: TestAccAWSCloudFormationStackSet_Description (88.24s)
--- PASS: TestAccAWSCloudFormationStackSet_TemplateUrl (98.99s)
--- PASS: TestAccAWSCloudFormationStackSet_Parameters (126.25s)
--- PASS: TestAccAWSCloudFormationStackSetInstance_disappears_StackSet (126.55s)
--- PASS: TestAccAWSCloudFormationStackSet_Tags (132.50s)
--- PASS: TestAccAWSCloudFormationStackSetInstance_disappears (139.05s)
--- PASS: TestAccAWSCloudFormationStackSetInstance_basic (140.98s)
--- PASS: TestAccAWSCloudFormationStackSetInstance_RetainStack (203.91s)
--- PASS: TestAccAWSCloudFormationStackSetInstance_ParameterOverrides (261.14s)
PASS
ok github.com/terraform-providers/terraform-provider-aws/aws 268.802s
@nijave Thanks for the contribution 🎉 👏. |
This functionality has been released in v3.57.0 of the Terraform AWS Provider. Please see the Terraform documentation on provider versioning or reach out if you need any assistance upgrading. For further feature requests or bug reports with this functionality, please create a new GitHub issue following the template. Thank you! |
I'm going to lock this pull request because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. |
Stack Sets only let a single stack per account be modified at the same
time. When an operation is in progress, an
OperationInProgressException
is thrown that's similar to rate limitingerrors. This adds that exception type to the built-in Retryer in the AWS
SDK so it gets auto-retried like rate limits do
Community Note
Release note for CHANGELOG:
Output from acceptance testing: