mgr: allow disabling always-on modules#58647
Conversation
|
@vshankar Had a chat with Venky about the current patch. We want to keep volumes as a always-on module and yet we want to |
9ee81c4 to
6188a3b
Compare
|
@vshankar I've made the change as per our last discussion -- we now allow Let me know if this PR is moving right direction, I'll wait before proceeding until then. If it looks okay, I'll begin with remainder bits of work left. |
@vshankar ping |
|
I had requested review from ceph/cephfs before here, since Github removes it from "reviewers" after first review, adding it again at Venky's suggestion |
Pinging again. Please check and let me know if this PR is moving in right direction and if I should continue building on top of this. |
vshankar
left a comment
There was a problem hiding this comment.
Need to include
- Tests
- Documentation
- Note in PendingReleaseNotes
src/mon/MgrMonitor.cc
Outdated
| ss << "module '" << module << "' is already disabled"; | ||
| r = 0; | ||
| goto out; | ||
| if (module != "volumes") { |
There was a problem hiding this comment.
Should this allow disabling any always-on module?
There was a problem hiding this comment.
It depends on whether or not maintainers of other MGR modules want it. I don't know if allowing disabling them too is appropriate. Especially on this PR.
src/mon/MgrMonitor.cc
Outdated
|
|
||
| dout(8) << __func__ << " disabling module '" << module << "'" << dendl; | ||
| pending_map.force_disabled_modules.insert(module); | ||
| } else if (module != "volumes" && confirmation_flag) { |
There was a problem hiding this comment.
It doesn't harm to pass --yes... flag to modules that can be disabled IMO.
There was a problem hiding this comment.
6188a3b to
37fca79
Compare
|
This pull request can no longer be automatically merged: a rebase is needed and changes have to be manually resolved |
7d96673 to
3232f6b
Compare
|
Rebased to resolve the conflict. |
@hkadam134 any update on this? |
Thank you. @vshankar Should we proceed to merge or some bit of CephFS review is left? Let me know if I can help. |
|
Good to merge! Nice work @rishabh-d-dave |
Backport the "Disabling Volumes Plugin" section of doc/cephfs/fs-volumes.rst, which was folded into a packet of code changes in ceph#58647 and therefore not possible to backport in the normal way. This is one of a series of similar pull requests that will result in this file being congruent across release branches. Signed-off-by: Zac Dover <zac.dover@proton.me>
Backport the "Disabling Volumes Plugin" section of doc/cephfs/fs-volumes.rst, which was folded into a packet of code changes in ceph#58647 and therefore not possible to backport in the normal way. This is one of a series of similar pull requests that will result in this file being congruent across release branches. Signed-off-by: Zac Dover <zac.dover@proton.me>
Backport the "Disabling Volumes Plugin" section of doc/cephfs/fs-volumes.rst, which was folded into a packet of code changes in ceph#58647 and therefore not possible to backport in the normal way. This is one of a series of similar pull requests that will result in this file being congruent across release branches. Signed-off-by: Zac Dover <zac.dover@proton.me>
@zdover23 |
The file Should the Volumes plugins docs be removed from Squid, Reef, and Quincy? |
Okay, I see. The issue is now docs for Squid, Reef and Quincy tell disabling volumes plugin is possible but that is not the case for these releases yet. So users are misinformed.
I guess let it be now since this PR has to be backported to all 3 releases. Older releases will be incorrect in the mean time. |
|
@rishabh-d-dave, if you tell me how you want the docs to look, I will make them that way. It's not a big deal to get them right. |
The doc changes introduced by the three backports your raised needs to be removed entirely. |
But I guess let's keep it as it is. It will be taken care of in few weeks when rest of this PR is also backported. |
@zdover23 @anthonyeleven We should avoid backporting docs (or any other bits of a PR) separately in future. Not only that puts docs for previous releases in an incorrect state (since docs were backported without backporting the feature/bug fix) but also makes PRs more difficult to backport (due to conflicts) and harder to review (since reviewer now has to say mindful of missing patches and commits as well). |
I think that the docs that accompany code changes should be put in a PR separate from the code changes (but, of course, cross-referencing one another). If this is done, then we can avoid situations in which accidentally incomplete backports result in divergent documentation in release branches. |
I don't see the point in separating backport PR for docs changes. That increasing the risk of reaching an inconsistent state. For example, if backport doc PR is merged but backport code changes PR is later rejected, our docs are incorrect for that particular release. There are many other similar cases. For example doc changes backports much sooner than code changes (which will always be the case). The user of older release will be misinformed about a feature or bug fixes in such cases, making our docs unreliable. |
Fixes: https://tracker.ceph.com/issues/66005
Original approach archived here: #61043
Contribution Guidelines
To sign and title your commits, please refer to Submitting Patches to Ceph.
If you are submitting a fix for a stable branch (e.g. "quincy"), please refer to Submitting Patches to Ceph - Backports for the proper workflow.
When filling out the below checklist, you may click boxes directly in the GitHub web UI. When entering or editing the entire PR message in the GitHub web UI editor, you may also select a checklist item by adding an
xbetween the brackets:[x]. Spaces and capitalization matter when checking off items this way.Checklist
Show available Jenkins commands
jenkins retest this pleasejenkins test classic perfjenkins test crimson perfjenkins test signedjenkins test make checkjenkins test make check arm64jenkins test submodulesjenkins test dashboardjenkins test dashboard cephadmjenkins test apijenkins test docsjenkins render docsjenkins test ceph-volume alljenkins test ceph-volume toxjenkins test windowsjenkins test rook e2e