-
Notifications
You must be signed in to change notification settings - Fork 717
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
Implement rolling upgrades with StatefulSets #1219
Implement rolling upgrades with StatefulSets #1219
Conversation
1119bcd
to
5c95c85
Compare
5c95c85
to
ee2974d
Compare
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.
The algorithm in operators/pkg/controller/elasticsearch/driver/upgrade.go
looks good to me. Nice work!
@@ -0,0 +1,129 @@ | |||
package driver |
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.
license header should be on top?
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.
Yes! I'll merge that one and fix it in #1262.
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.
I wasn't able to go as deep as I wanted but I found the overall logic pretty easy to follow which is a good sign and an improvement over what we had previously
Handle cluster rolling upgrades with StatefulSets.
Relies on manually updating the
rollingUpdate.Partition
index of a sset when we're ready to restart the ES node.For now, it only handles 1 node restart at a time, mostly because we rely on cluster health green checks.
It also introduces 2 additional concepts:
This is still WIP since many things are still missing: