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

deploymentwatcher: reset progress deadline on promotion #10042

Merged
merged 4 commits into from
Feb 22, 2021

Conversation

tgross
Copy link
Member

@tgross tgross commented Feb 17, 2021

Fixes #7058

In a deployment with two groups (ex. A and B), if group A's canary becomes healthy before group B's, the deadline for the overall deployment will be set to that of group A. When the deployment is promoted, if group A is done it will not contribute to the next deadline cutoff. Group B's old deadline will be used instead, which will be in the past and immediately trigger a deployment progress failure. Reset the progress deadline when the job is promotion to avoid this bug, and to better conform with implicit user expectations around how the progress deadline should interact with promotions.

deployment. Defaults to false which means canaries must be manually updated
with the `nomad deployment promote` command. If a job has multiple task
groups, all must be set to `auto_promote = true` in order for the deployment
to be promoted automatically.
Copy link
Member Author

Choose a reason for hiding this comment

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

Note for reviewers: this isn't a behavior change, just something in the vicinity of this problem that wasn't actually documented.

Copy link
Contributor

@cgbaker cgbaker left a comment

Choose a reason for hiding this comment

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

lgtm

Test demonstrating a bug with canary deployments when there are multiple
groups. If group A's canary becomes healthy before group B's, the deadline
for the overall deployment will be set to that of group A. When the deployment
is promoted, if group A is done it will not contribute to the next deadline
cutoff. Group B's old deadline will be used instead, which will be in the past
and immediately trigger a deployment progress failure.
@tgross
Copy link
Member Author

tgross commented Feb 22, 2021

Rebased to fix the changelog conflict, will merge once that's ✅

@tgross tgross merged commit 174c206 into master Feb 22, 2021
Nomad - Community Issues Triage automation moved this from In Progress to Done Feb 22, 2021
@tgross tgross deleted the b-7058-progress-deadline branch February 22, 2021 21:44
@github-actions
Copy link

I'm going to lock this pull request because it has been closed for 120 days ⏳. This helps our maintainers find and focus on the active contributions.
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 Nov 28, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Multi task-groups jobs hit canary progress deadline in promote
2 participants