-
Notifications
You must be signed in to change notification settings - Fork 9.6k
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
provider/aws: wait for ASG capacity on update #3947
Conversation
I think we should cover capacity decreases like you suggest as well as we are still in the middle of mutating the infrastructure. |
This seems like the behaviour I'd expect. Probably |
It's a bit confusing to have Terraform poll until instances come up on ASG creation but not on update. This changes update to also poll if min_size or desired_capacity are changed. This changes the waiting behavior to wait for precisely the desired number of instances instead of that number as a "minimum". I believe this shouldn't have any undue side effects, and the behavior can still be opted out of by setting `wait_for_capacity_timeout` to 0.
b4f186e
to
7f93607
Compare
Okay updated to change I had to rename the |
@jen20 seemed to think |
@jen20 was your last comment a typo? I believe we need to wait for |
Sorry - yes |
Alrighty - given that, bringing this in! |
provider/aws: wait for ASG capacity on update
…waiting It was a mistake to switched fully to `==` when activating waiting for capacity on updates in #3947. Users that didn't set `min_elb_capacity == desired_capacity` and instead treated it as an actual "minimum" would see timeouts for every create, since their target numbers would never be reached exactly. Here, we fix that regression by restoring the minimum waiting behavior during creates. In order to preserve all the stated behavior, I had to split out different criteria for create and update, criteria which are now exhaustively unit tested. The set of fields that affect capacity waiting behavior has become a bit of a mess. Next major release I'd like to rework all of these into a more consistently named block of config. For now, just getting the behavior correct and documented. Fixes #4792
It was a mistake to switched fully to `==` when activating waiting for capacity on updates in #3947. Users that didn't set `min_elb_capacity == desired_capacity` and instead treated it as an actual "minimum" would see timeouts for every create, since their target numbers would never be reached exactly. Here, we fix that regression by restoring the minimum waiting behavior during creates. In order to preserve all the stated behavior, I had to split out different criteria for create and update, criteria which are now exhaustively unit tested. The set of fields that affect capacity waiting behavior has become a bit of a mess. Next major release I'd like to rework all of these into a more consistently named block of config. For now, just getting the behavior correct and documented. Fixes #4792
It was a mistake to switched fully to `==` when activating waiting for capacity on updates in #3947. Users that didn't set `min_elb_capacity == desired_capacity` and instead treated it as an actual "minimum" would see timeouts for every create, since their target numbers would never be reached exactly. Here, we fix that regression by restoring the minimum waiting behavior during creates. In order to preserve all the stated behavior, I had to split out different criteria for create and update, criteria which are now exhaustively unit tested. The set of fields that affect capacity waiting behavior has become a bit of a mess. Next major release I'd like to rework all of these into a more consistently named block of config. For now, just getting the behavior correct and documented. Fixes #4792
It was a mistake to switched fully to `==` when activating waiting for capacity on updates in #3947. Users that didn't set `min_elb_capacity == desired_capacity` and instead treated it as an actual "minimum" would see timeouts for every create, since their target numbers would never be reached exactly. Here, we fix that regression by restoring the minimum waiting behavior during creates. In order to preserve all the stated behavior, I had to split out different criteria for create and update, criteria which are now exhaustively unit tested. The set of fields that affect capacity waiting behavior has become a bit of a mess. Next major release I'd like to rework all of these into a more consistently named block of config. For now, just getting the behavior correct and documented. Fixes #4792
It was a mistake to switched fully to `==` when activating waiting for capacity on updates in #3947. Users that didn't set `min_elb_capacity == desired_capacity` and instead treated it as an actual "minimum" would see timeouts for every create, since their target numbers would never be reached exactly. Here, we fix that regression by restoring the minimum waiting behavior during creates. In order to preserve all the stated behavior, I had to split out different criteria for create and update, criteria which are now exhaustively unit tested. The set of fields that affect capacity waiting behavior has become a bit of a mess. Next major release I'd like to rework all of these into a more consistently named block of config. For now, just getting the behavior correct and documented. (Also removes all the fixed names from the ASG tests as I was hitting collision issues running them over here.) Fixes #4792
It was a mistake to switched fully to `==` when activating waiting for capacity on updates in hashicorp#3947. Users that didn't set `min_elb_capacity == desired_capacity` and instead treated it as an actual "minimum" would see timeouts for every create, since their target numbers would never be reached exactly. Here, we fix that regression by restoring the minimum waiting behavior during creates. In order to preserve all the stated behavior, I had to split out different criteria for create and update, criteria which are now exhaustively unit tested. The set of fields that affect capacity waiting behavior has become a bit of a mess. Next major release I'd like to rework all of these into a more consistently named block of config. For now, just getting the behavior correct and documented. (Also removes all the fixed names from the ASG tests as I was hitting collision issues running them over here.) Fixes hashicorp#4792
It was a mistake to switched fully to `==` when activating waiting for capacity on updates in hashicorp#3947. Users that didn't set `min_elb_capacity == desired_capacity` and instead treated it as an actual "minimum" would see timeouts for every create, since their target numbers would never be reached exactly. Here, we fix that regression by restoring the minimum waiting behavior during creates. In order to preserve all the stated behavior, I had to split out different criteria for create and update, criteria which are now exhaustively unit tested. The set of fields that affect capacity waiting behavior has become a bit of a mess. Next major release I'd like to rework all of these into a more consistently named block of config. For now, just getting the behavior correct and documented. (Also removes all the fixed names from the ASG tests as I was hitting collision issues running them over here.) Fixes hashicorp#4792
…x-match-set New Resource: aws_waf_regex_match_set
I'm going to lock this issue 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 similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further. |
It's a bit confusing to have Terraform poll until instances come up on
ASG creation but not on update. This changes update to also poll if
min_size or desired_capacity are changed.
This changes the waiting behavior to wait for precisely the desired
number of instances instead of that number as a "minimum". I believe
this shouldn't have any undue side effects, and the behavior can still
be opted out of by setting
wait_for_capacity_timeout
to 0.