mirror of https://github.com/ceph/go-ceph
cephfs admin: add a private function for getting mgr modules
Add a function for getting the lists of enabled/disabled mgr modules from ceph. This is private for the moment as general module management probably shouldn't be part of cephfs admin. It's bad enough we hacked in the functions for enabling mirroring. :-) Signed-off-by: John Mulligan <jmulligan@redhat.com>
This commit is contained in:
parent
20da1c607d
commit
a26d4b8563
|
@ -52,3 +52,32 @@ func (fsa *FSAdmin) EnableMirroringModule(force bool) error {
|
||||||
func (fsa *FSAdmin) DisableMirroringModule() error {
|
func (fsa *FSAdmin) DisableMirroringModule() error {
|
||||||
return fsa.DisableModule(mirroring)
|
return fsa.DisableModule(mirroring)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type moduleInfo struct {
|
||||||
|
EnabledModules []string `json:"enabled_modules"`
|
||||||
|
//DisabledModules []string `json:"disabled_modules"`
|
||||||
|
// DisabledModules is documented in ceph as a list of string
|
||||||
|
// but that's not what comes back from the server (on pacific).
|
||||||
|
// Since we don't need this today, we're just going to ignore
|
||||||
|
// it, but if we ever want to support this for external consumers
|
||||||
|
// we'll need to figure out the real structure of this.
|
||||||
|
}
|
||||||
|
|
||||||
|
func parseModuleInfo(res response) (*moduleInfo, error) {
|
||||||
|
m := &moduleInfo{}
|
||||||
|
if err := res.NoStatus().Unmarshal(m).End(); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return m, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// listModules returns moduleInfo or error. it is not exported because
|
||||||
|
// this is really not a cephfs specific thing but we needed it
|
||||||
|
// for cephfs tests. maybe lift it somewhere else someday.
|
||||||
|
func (fsa *FSAdmin) listModules() (*moduleInfo, error) {
|
||||||
|
m := map[string]string{
|
||||||
|
"prefix": "mgr module ls",
|
||||||
|
"format": "json",
|
||||||
|
}
|
||||||
|
return parseModuleInfo(commands.MarshalMonCommand(fsa.conn, m))
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue