mgr: store names of modules that register RADOS clients in the MgrMap#50065
mgr: store names of modules that register RADOS clients in the MgrMap#50065
Conversation
|
This draft depends on #50006 |
|
Need to add a simple test and add a release note. |
Done. |
094d7f8 to
c24cd86
Compare
|
@ajarr I'm on PTO. I'll look at this late next week. |
82e4b37 to
f8b9299
Compare
|
@ajarr while I'm thinking of this now, I want to let you know that I'll be making some changes to this register client code in a fix for https://tracker.ceph.com/issues/55606 I don't think there will be conflicts but just wanted to leave a note here so I don't forget. |
@batrick thanks! I took a quick look at PyModuleRegistry changes in your draft. |
|
for posterity |
The MgrMap stores a list of RADOS clients' addresses registered by the
mgr modules. During failover of ceph-mgr, the list is used to blocklist
clients belonging to the failed ceph-mgr.
Store the names of the mgr modules that registered the RADOS clients
along with the clients' addresses in the MgrMap. During debugging, this
allows easy identification of the mgr module that registered a
particular RADOS client by just dumping the MgrMap (`ceph mgr dump`).
Following is the MgrMap output with a module's client name displayed
along with its client addrvec,
$ ceph mgr dump | jq '.active_clients[0]'
{
"name": "devicehealth",
"addrvec": [
{
"type": "v2",
"addr": "10.0.0.148:0",
"nonce": 612376578
}
]
}
Fixes: https://tracker.ceph.com/issues/58691
Signed-off-by: Ramana Raja <rraja@redhat.com>
... that modify and access the data member 'clients' respectively. Signed-off-by: Ramana Raja <rraja@redhat.com>
|
#50006 merged, please rebase |
Done |
|
@ajarr Did you test the old monitors/new manager case? The encoding changes are straightforward but I think it's worth doing that anyway. |
|
jenkins test windows |
I ran some basic tests. With a new monitor and an old manager, an empty name is reported (as expected): After upgrading a manager: An old monitor paired with a new manager appears to run fine too: |
|
Thanks a lot, @idryomov ! |
|
@ljflores @rzarzynski can you please include this PR in the next batch of core qa test run? |
|
@ajarr putting it in the wip-yuri4-testing batch |
|
Rados suite review: https://pulpito.ceph.com/?branch=wip-yuri4-testing-2023-03-08-1234 Failures, unrelated: Details: |
The MgrMap stores a list of RADOS clients' addresses registered by the
mgr modules. During failover of ceph-mgr, the list is used to blocklist
clients belonging to the failed ceph-mgr.
Store the names of the mgr modules that registered the RADOS clients
along with the clients' addresses in the MgrMap. During debugging, this
allows easy identification of the mgr module that registered a
particular RADOS client by just dumping the MgrMap (
ceph mgr dump).Following is the MgrMap output with a module's client name displayed
along with its client addrvec,
Fixes: https://tracker.ceph.com/issues/58691
Signed-off-by: Ramana Raja rraja@redhat.com
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. "pacific"), please refer to Submitting Patches to Ceph - Backports for the proper workflow.
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 windows