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
mgr/cephadm: staggered upgrade #45786
Conversation
YAY 👍 |
This pull request can no longer be automatically merged: a rebase is needed and changes have to be manually resolved |
d09670b
to
f545a08
Compare
Added unit test for staggered upgrade param validation and a teuthology test for staggered upgrade. Docs still to do. |
f545a08
to
4e994c4
Compare
4e994c4
to
5423881
Compare
jenkins render docs |
jenkins render docs |
6937904
to
d190af7
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.
Nice. Upgrades and command line syntax are areas where it's really easy to be confused, so I love seeing detailed descriptions and examples like this. Here are some nitpicky doc suggestions.
66df615
to
226108c
Compare
# what we need to do here is build a list of daemons that must already be upgraded | ||
# in order for the user's selection of daemons to upgrade to be valid. for example, | ||
# if they say --daemon-types 'osd,mds' but mons have not been upgraded, we block. |
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.
❤️
This pull request can no longer be automatically merged: a rebase is needed and changes have to be manually resolved |
903d9c5
to
406dffb
Compare
@rkachach I think I've responded to or addressed all of your review comments. Let me know if there's anything else or questions on what I said, |
jenkins test dashboard cephadm |
jenkins test dashboard cephadm |
ping @anthonyeleven I think this PR is getting close to being fully ready if you have a chance to re-review the docs |
LGTM for docs, with the above minor suggestions. |
406dffb
to
2e86148
Compare
This function was around 500 lines and difficult to work with. Splitting it into sub functions should hopefully make it a bit easier to understand and make changes to. Signed-off-by: Adam King <adking@redhat.com>
Signed-off-by: Adam King <adking@redhat.com>
This way, for downgrades to whatever versions this lands in onward, having added new parameters to UpgradeState shouldn't break anything. Can't do much about downgrades to older versions from this one but this should help in the future. Signed-off-by: Adam King <adking@redhat.com>
Fixes: https://tracker.ceph.com/issues/54135 Signed-off-by: Adam King <adking@redhat.com>
Signed-off-by: Adam King <adking@redhat.com>
Signed-off-by: Adam King <adking@redhat.com>
Signed-off-by: Adam King <adking@redhat.com>
Signed-off-by: Adam King <adking@redhat.com>
2e86148
to
6a68def
Compare
jenkins test dashboard cephadm |
18 runs of new test for staggered upgrade and 2 runs of simple upgrade, all passed https://pulpito.ceph.com/adking-2022-05-20_04:04:42-orch:cephadm:upgrade-wip-adk-testing-2022-05-19-2005-distro-basic-smithi/ Additional full orch run including a few more instances of upgrade tests, all passed |
Fixes: https://tracker.ceph.com/issues/54135
Signed-off-by: Adam King adking@redhat.com
Still needs docs and tests.Additionally, an open question is how far do we want to enforce upgrade ordering? The whole list? Only up until mds? Just mgr then mon? I'm not sure, really.
For reference, upgrade order is: mgr -> mon -> crash -> osd -> mds -> rgw -> rbd-mirror -> cephfs-mirror -> iscsi -> nfs
Checklist
Show available Jenkins commands
jenkins retest this please
jenkins test classic perf
jenkins test crimson perf
jenkins test signed
jenkins test make check
jenkins test make check arm64
jenkins test submodules
jenkins test dashboard
jenkins test dashboard cephadm
jenkins test api
jenkins test docs
jenkins render docs
jenkins test ceph-volume all
jenkins test ceph-volume tox
jenkins test windows