Update cf push rolling and and canary deployment behavior with scaling flags #3544
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of the Change
This PR addresses an unexpected behavior where cf push commands using
--strategy rolling
/--strategy canary
alongside scaling flags (-i, -m, --disk --log-rate-limit) would first scale the application (potentially restarting all instances) before initiating the incremental rolling deployment.Note: This PR is cherry-pick from main branch (PR #3535 )
Problem:
Prior to CAPI changes CAPI_4364 CAPI_4247, Deployments do not fully support parameters typically available via the cf scale action. This means that changes to instances, memory, or disk were not rolled out incrementally with Deployments. For example, cf push my app -i 5 -m 1G --strategy rolling would unexpectedly scale to 5 instances and 1G first, before the true rolling deployment commenced. Also, since scale is applied before a deployment, restarting the old web process will cause the new scale parameters to be applied.
Why Is This PR Valuable?
Users leveraging rolling deployments will experience smoother, truly incremental updates when applying scaling changes.
How Urgent Is The Change?
Fairly urgent as it helps rolling deployments smoother.