]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mgr: store names of modules that register RADOS clients in the MgrMap
authorRamana Raja <rraja@redhat.com>
Mon, 30 Jan 2023 07:21:54 +0000 (02:21 -0500)
committerRamana Raja <rraja@redhat.com>
Sun, 9 Apr 2023 14:36:57 +0000 (10:36 -0400)
commitdef06ed344fed682434750cfdf3c18b814b6ec2b
tree0e892c9b711f7c770ba7f7e52b8c012ca2fd7a65
parent8550ae79e9783d621dfccfa54185aaedc85fdf1e
mgr: store names of modules that register RADOS clients in the MgrMap

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>
(cherry picked from commit b545fb9f5660dca3af4dea195ea4555f09b3a6e8)

Conflicts:
PendingReleaseNotes [ moved to >=17.2.7 section ]
PendingReleaseNotes
qa/workunits/cephtool/test.sh
src/messages/MMgrBeacon.h
src/mgr/PyModuleRegistry.h
src/mon/MgrMap.h
src/mon/MgrMonitor.cc