Skip to content

Add rolling update strategy to for HA deployments#4267

Merged
kleimkuhler merged 1 commit intomasterfrom
kleimkuhler/rolling-updates
Apr 16, 2020
Merged

Add rolling update strategy to for HA deployments#4267
kleimkuhler merged 1 commit intomasterfrom
kleimkuhler/rolling-updates

Conversation

@kleimkuhler
Copy link
Contributor

This introduces a rolling update strategy to Linkerd deployments that have
three replicas during HA deployments. This allows for at most one pod to begin
terminating before a new pod ready is ready.

This allows for upgrades to take place on three node clusters. As a pod begins
terminating, it opens up the node for the new pod to start initializing.

.Values.enablePodAntiAffinity was chosen as the conditional here because it
is set by the values-ha.yaml config on HA deployments

@kleimkuhler
Copy link
Contributor Author

Relates to #3939

Copy link
Contributor

@grampelberg grampelberg left a comment

Choose a reason for hiding this comment

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

LGTM!

Copy link
Member

@alpeb alpeb left a comment

Choose a reason for hiding this comment

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

Makes sense to me! 👍

@kleimkuhler kleimkuhler merged commit b13e244 into master Apr 16, 2020
@kleimkuhler kleimkuhler deleted the kleimkuhler/rolling-updates branch April 16, 2020 23:49
@Pothulapati
Copy link
Contributor

hmmm, Looks like some ha test golden files weren't updated in this PR, and hence those changes came up in https://github.com/linkerd/linkerd2/pull/4271/files#diff-4b8b88929c550f82a1a2ac3057981d9d as I updated the test files.

Definitely not a problem, but wondering how GH checks missed them. 🤔

@alpeb
Copy link
Member

alpeb commented Apr 17, 2020

@Pothulapati Turns out the test is failing but it's not surfacing as a suite failure by go test. I'll open a PR to address that. Thanks for the find!

alpeb added a commit that referenced this pull request Apr 17, 2020
`linkerd stat` was doing an early `os.Exit(0)` when no traffic was
found, which avoided `go test` to report any test failure that ended in
that code path.

This was hiding a mismatch in the golden files for HA after the
introduction of the rolling update strategy (#4267), and the failure of
`linkerd stat trafficsplit` not returning results unless `--unmeshed` is
used. For the latter, I added the flag to the tests in order to temporarly pass
them, but the underlying issue remains to be fixed in a separate
PR.
alpeb added a commit that referenced this pull request Apr 21, 2020
* Some `linkerd stat` test failures were being hidden

`linkerd stat` was doing an early `os.Exit(0)` when no traffic was
found, which avoided `go test` to report any test failure that ended in
that code path.

This was hiding a mismatch in the golden files for HA after the
introduction of the rolling update strategy (#4267), and the failure of
`linkerd stat trafficsplit` not returning results unless `--unmeshed` is
used. For the latter, I added the flag to the tests in order to temporarly pass
them, but the underlying issue remains to be fixed in a separate
PR.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants