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

Add timeout support for EC2 Capacity Reservations #36754

Merged

Conversation

kgpdt
Copy link
Contributor

@kgpdt kgpdt commented Apr 5, 2024

Description

Adds timeout support to EC2 Capacity Reservation resources.

Previously, the provider would retry indefinitely for InsufficientInstanceCapacity errors. This change allows users to control how long the provider will retry while waiting for capacity.

Relations

Closes #34345 -- providing a short timeout will allow the run to fail quickly when there is no capacity.

Relates #30819

References

Output from Acceptance Testing

TF_ACC=1 go1.21.8 test ./internal/service/ec2/... -v -count 1 -parallel 20 -run='TestAccEC2CapacityReservation'  -timeout 360m
=== RUN   TestAccEC2CapacityReservation_basic
=== PAUSE TestAccEC2CapacityReservation_basic
=== RUN   TestAccEC2CapacityReservation_disappears
=== PAUSE TestAccEC2CapacityReservation_disappears
=== RUN   TestAccEC2CapacityReservation_ebsOptimized
=== PAUSE TestAccEC2CapacityReservation_ebsOptimized
=== RUN   TestAccEC2CapacityReservation_endDate
=== PAUSE TestAccEC2CapacityReservation_endDate
=== RUN   TestAccEC2CapacityReservation_endDateType
=== PAUSE TestAccEC2CapacityReservation_endDateType
=== RUN   TestAccEC2CapacityReservation_ephemeralStorage
=== PAUSE TestAccEC2CapacityReservation_ephemeralStorage
=== RUN   TestAccEC2CapacityReservation_instanceCount
=== PAUSE TestAccEC2CapacityReservation_instanceCount
=== RUN   TestAccEC2CapacityReservation_instanceMatchCriteria
=== PAUSE TestAccEC2CapacityReservation_instanceMatchCriteria
=== RUN   TestAccEC2CapacityReservation_instanceType
=== PAUSE TestAccEC2CapacityReservation_instanceType
=== RUN   TestAccEC2CapacityReservation_tags
=== PAUSE TestAccEC2CapacityReservation_tags
=== RUN   TestAccEC2CapacityReservation_tenancy
=== PAUSE TestAccEC2CapacityReservation_tenancy
=== CONT  TestAccEC2CapacityReservation_basic
=== CONT  TestAccEC2CapacityReservation_tags
=== CONT  TestAccEC2CapacityReservation_instanceType
=== CONT  TestAccEC2CapacityReservation_endDate
=== CONT  TestAccEC2CapacityReservation_ebsOptimized
=== CONT  TestAccEC2CapacityReservation_instanceCount
=== CONT  TestAccEC2CapacityReservation_ephemeralStorage
=== CONT  TestAccEC2CapacityReservation_tenancy
=== CONT  TestAccEC2CapacityReservation_disappears
=== CONT  TestAccEC2CapacityReservation_endDateType
=== CONT  TestAccEC2CapacityReservation_instanceMatchCriteria
--- PASS: TestAccEC2CapacityReservation_disappears (37.34s)
--- PASS: TestAccEC2CapacityReservation_basic (44.33s)
--- PASS: TestAccEC2CapacityReservation_ebsOptimized (47.71s)
--- PASS: TestAccEC2CapacityReservation_tenancy (51.62s)
--- PASS: TestAccEC2CapacityReservation_instanceMatchCriteria (53.73s)
--- PASS: TestAccEC2CapacityReservation_ephemeralStorage (53.76s)
--- PASS: TestAccEC2CapacityReservation_endDate (56.81s)
--- PASS: TestAccEC2CapacityReservation_instanceCount (60.65s)
--- PASS: TestAccEC2CapacityReservation_instanceType (63.60s)
--- PASS: TestAccEC2CapacityReservation_endDateType (69.50s)
--- PASS: TestAccEC2CapacityReservation_tags (71.95s)
PASS
ok  	github.com/hashicorp/terraform-provider-aws/internal/service/ec2	117.848s
...

Copy link

github-actions bot commented Apr 5, 2024

Community Note

Voting for Prioritization

  • Please vote on this pull request by adding a 👍 reaction to the original post to help the community and maintainers prioritize this pull request.
  • Please see our prioritization guide for information on how we prioritize.
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request.

For Submitters

  • Review the contribution guide relating to the type of change you are making to ensure all of the necessary steps have been taken.
  • For new resources and data sources, use skaff to generate scaffolding with comments detailing common expectations.
  • Whether or not the branch has been rebased will not impact prioritization, but doing so is always a welcome surprise.

@github-actions github-actions bot added size/M Managed by automation to categorize the size of a PR. service/ec2 Issues and PRs that pertain to the ec2 service. labels Apr 5, 2024
Copy link

github-actions bot commented Apr 5, 2024

Hey @kgpdt 👋 Thank you very much for your contribution! At times, our maintainers need to make direct edits to pull requests in order to help get it ready to be merged. Your current settings do not allow maintainers to make such edits. To help facilitate this, update your pull request to allow such edits as described in GitHub's Allowing changes to a pull request branch created from a fork documentation. (If you're using a fork owned by an organization, your organization may not allow you to change this setting. If that is the case, let us know.)

@terraform-aws-provider terraform-aws-provider bot added the needs-triage Waiting for first response or review from a maintainer. label Apr 5, 2024
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Welcome @kgpdt 👋

It looks like this is your first Pull Request submission to the Terraform AWS Provider! If you haven’t already done so please make sure you have checked out our CONTRIBUTOR guide and FAQ to make sure your contribution is adhering to best practice and has all the necessary elements in place for a successful approval.

Also take a look at our FAQ which details how we prioritize Pull Requests for inclusion.

Thanks again, and welcome to the community! 😃

@justinretzolk justinretzolk added enhancement Requests to existing resources that expand the functionality or scope. timeouts Pertains to timeout increases. and removed needs-triage Waiting for first response or review from a maintainer. labels Apr 8, 2024
@kgpdt
Copy link
Contributor Author

kgpdt commented Apr 12, 2024

My organization does not allow me to change the setting that would allow direct edits to my PR.

Copy link

This functionality has been released in v5.58.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!

Copy link

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.
If you have found a problem that seems related to this change, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 12, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement Requests to existing resources that expand the functionality or scope. service/ec2 Issues and PRs that pertain to the ec2 service. size/M Managed by automation to categorize the size of a PR. timeouts Pertains to timeout increases.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Bug]: aws_ec2_capacity_reservation creation failure not detected creation loops until timeout
3 participants