This repository was archived by the owner on Jan 26, 2023. It is now read-only.
Update allocations no longer require that healthy nodes be destroyed#16
Merged
beautifulentropy merged 8 commits intomainfrom Dec 10, 2021
Merged
Update allocations no longer require that healthy nodes be destroyed#16beautifulentropy merged 8 commits intomainfrom
beautifulentropy merged 8 commits intomainfrom
Conversation
jsha
previously approved these changes
Dec 10, 2021
jsha
left a comment
There was a problem hiding this comment.
Looks good to me. A bit curious - why is the new file example/redis-cluster.tf part of this PR?
bffab2c to
bf82fcb
Compare
Member
Author
I've updated the commit message to make this a little clearer:
|
ae5e6c1 to
c4ae18d
Compare
c4ae18d to
dc83e0f
Compare
aarongable
reviewed
Dec 10, 2021
aarongable
previously approved these changes
Dec 10, 2021
Co-authored-by: Aaron Gable <aaron@letsencrypt.org>
Co-authored-by: Aaron Gable <aaron@letsencrypt.org>
aarongable
approved these changes
Dec 10, 2021
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Currently, adding an additional node to an existing Redis Cluster would change
the flags being passed to the
attache-controlsidecar task for every existingallocation. The Nomad scheduler would (correctly) trigger a destructive update
(e.g. reallocate, stop, migrate, and restart) of each existing Redis Cluster
node even though they were already healthy. This is because the Nomad scheduler
can only update an allocation in-place when there are no attributes (environment
variables, file templates, etc.) relevant to any of that job's tasks being
updated.
This PR updates
attache-controlto fetch these counts from a Consul KV pathinstead.
To ensure consistency between, the scaling configuration stored in the Consul
and the total number of nodes in the Nomad job specification, I've added a
Terraform file that sets both of them. For more information, see the updated
README.
Lastly, we're approaching the point where more folks may begin to touch this
code so I've also taken the time to comment up my exported structs, fields, and
methods.