]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mgr/dashboard: support Orchestrator and user-defined Ganesha clusters
authorKiefer Chang <kiefer.chang@suse.com>
Wed, 2 Sep 2020 12:28:36 +0000 (20:28 +0800)
committerKiefer Chang <kiefer.chang@suse.com>
Thu, 29 Oct 2020 08:26:55 +0000 (16:26 +0800)
commitdf45abb59e84f9b941b8a73bc827f1a169ead6dd
treedb65e826b1a2ff2b24320438398626cc010e949e
parente4467b7df16e5162e4a98d3d5089a2569713ffa4
mgr/dashboard: support Orchestrator and user-defined Ganesha clusters

This change make the Dashboard support two types of Ganesha clusters:

- Orchestrator clusters (Since Octopus)
  - Deployed by the Orchestrator.
  - The Dashboard gets the pool/namespace that stores Ganesha
    configuration objects from the Orchestrator.
  - The Dashboard gets the daemons in a cluster from the Orchestrator.

- User-defined clusters (Since Nautilus)
  - Clusters defined by using `ceph dashboard
    set-ganesha-clusters-rados-pool-namespace` command is treated as
    user-defined clusters.
  - Each daemon has its own RADOS configuration objects. The
    Dashboard uses these objects to deduce daemons.

Fixes: https://tracker.ceph.com/issues/46492
Signed-off-by: Kiefer Chang <kiefer.chang@suse.com>
(cherry picked from commit a9accaeccf88e1b0ee4688ef2ae9ddbd3bd3dc5e)

Conflicts:
      src/pybind/mgr/dashboard/openapi.yaml
          - We don't have openapi-check feature in the Octopus. The file
            is removed in the backport.
      src/pybind/mgr/dashboard/services/ganesha.py
      src/pybind/mgr/dashboard/tests/test_ganesha.py
          - The conflicts are mainly caused by code re-format in the
    master.
qa/tasks/mgr/dashboard/test_ganesha.py
src/pybind/mgr/dashboard/controllers/nfsganesha.py
src/pybind/mgr/dashboard/services/ganesha.py
src/pybind/mgr/dashboard/tests/test_ganesha.py