-
Notifications
You must be signed in to change notification settings - Fork 362
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
Granular max-in-flight updates #4124
Conversation
c7fc97b
to
0e6bbc2
Compare
healthy_instances.reject { |_, val| val[:state] == VCAP::CloudController::Diego::LRP_RUNNING && val[:routable] } | ||
end | ||
|
||
def routable_instances |
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.
thought/non-blocking routable_instances/healthy_instances/unhealthy_instances/reported_instances
are all methods for the newly deploying process right? I wonder if theres any way we can be more explicit about that. As technically those functions could apply to the older web process. We could prefix with new
or deploying
or something....
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.
That's a good point. I do worry the prefixes might hurt readability if every method is called deploying_abc_instances
or something.
Maybe an alternative is to separate the scale down and scale up into separate actions entirely? I think their logic is fairly disentangled at this point.
0e6bbc2
to
c100b1b
Compare
* Scale action now compares number of starting/running non-routable instances to max-in-flight, instead of waiting for all instances to become routable * Scale action does not continue scaling up when any instances are 'unhealthy' (e.g. 'crashed', 'down', etc) as it's difficult to determine if unhealthy instances belong to the 'max in flight' group * Number of desired nondeploying instances now recalculated each iteration instead of decrementing by 'max-in-flight' without checking if it's in a correct state. This mitigates bugs where deployment trains (continually creating new deployments before the previous had completed) could result in number app instances exceeding the max-in-flight limit.
c100b1b
to
3b62205
Compare
Changes in cloud_controller_ng: - Granular max-in-flight updates PR: cloudfoundry/cloud_controller_ng#4124 Author: Seth Boyles <seth.boyles@broadcom.com>
See this thread for some of the issues this PR aims to solve: #4101 (comment)
I have reviewed the contributing guide
I have viewed, signed, and submitted the Contributor License Agreement
I have made this pull request to the
main
branchI have run all the unit tests using
bundle exec rake
I have run CF Acceptance Tests
I have run BARAS