]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commit
mgr/dashboard: leverage features set from orchestrator
authorKiefer Chang <kiefer.chang@suse.com>
Wed, 6 May 2020 08:20:06 +0000 (16:20 +0800)
committerKiefer Chang <kiefer.chang@suse.com>
Mon, 17 Aug 2020 05:56:01 +0000 (13:56 +0800)
commit43dca1343f635d8a3de1dfa8d9133211c6bc7fe4
treeeb40c9a6977226f7dd0070e25dfefdca5526b4fa
parent1e821c65ee3a771c04d9ce52bd2b7a4d9f171cbb
mgr/dashboard: leverage features set from orchestrator

Orchestrator provides a list of supported functions. Using
this list to provide better UX and guard for unsupported
features.

- Backend: return 503 if required orchestrator features are
  missing, rather than calling non-implemented methods
  in orchestrator.
- Frontend:
  - Remove information modal when Orchestrator is not available.
  - Disable table action buttons if Orchestrator is not available
    or features are not supported.

Fixes: https://tracker.ceph.com/issues/45397
Signed-off-by: Kiefer Chang <kiefer.chang@suse.com>
35 files changed:
src/pybind/mgr/dashboard/controllers/host.py
src/pybind/mgr/dashboard/controllers/orchestrator.py
src/pybind/mgr/dashboard/controllers/osd.py
src/pybind/mgr/dashboard/controllers/service.py
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/hosts/fixtures/host_list_response.json [new file with mode: 0644]
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/hosts/hosts.component.spec.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/hosts/hosts.component.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/inventory/inventory-devices/fixtures/inventory_list_response.json [new file with mode: 0644]
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/inventory/inventory-devices/inventory-devices.component.spec.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/inventory/inventory-devices/inventory-devices.component.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/inventory/inventory.component.html
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/inventory/inventory.component.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/osd/osd-list/fixtures/osd_list_response.json [new file with mode: 0644]
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/osd/osd-list/osd-list.component.spec.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/osd/osd-list/osd-list.component.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/services/services.component.html
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/services/services.component.ts
src/pybind/mgr/dashboard/frontend/src/app/shared/api/orchestrator.service.ts
src/pybind/mgr/dashboard/frontend/src/app/shared/components/components.module.ts
src/pybind/mgr/dashboard/frontend/src/app/shared/components/orchestrator-doc-modal/orchestrator-doc-modal.component.html [deleted file]
src/pybind/mgr/dashboard/frontend/src/app/shared/components/orchestrator-doc-modal/orchestrator-doc-modal.component.scss [deleted file]
src/pybind/mgr/dashboard/frontend/src/app/shared/components/orchestrator-doc-modal/orchestrator-doc-modal.component.spec.ts [deleted file]
src/pybind/mgr/dashboard/frontend/src/app/shared/components/orchestrator-doc-modal/orchestrator-doc-modal.component.ts [deleted file]
src/pybind/mgr/dashboard/frontend/src/app/shared/components/orchestrator-doc-panel/orchestrator-doc-panel.component.html
src/pybind/mgr/dashboard/frontend/src/app/shared/components/orchestrator-doc-panel/orchestrator-doc-panel.component.ts
src/pybind/mgr/dashboard/frontend/src/app/shared/models/orchestrator.enum.ts [new file with mode: 0644]
src/pybind/mgr/dashboard/frontend/src/app/shared/models/orchestrator.interface.ts [new file with mode: 0644]
src/pybind/mgr/dashboard/frontend/src/app/shared/services/dep-checker.service.spec.ts [deleted file]
src/pybind/mgr/dashboard/frontend/src/app/shared/services/dep-checker.service.ts [deleted file]
src/pybind/mgr/dashboard/frontend/src/testing/unit-test-helper.ts
src/pybind/mgr/dashboard/services/ganesha.py
src/pybind/mgr/dashboard/services/orchestrator.py
src/pybind/mgr/dashboard/tests/test_host.py
src/pybind/mgr/dashboard/tests/test_orchestrator.py
src/pybind/mgr/dashboard/tests/test_osd.py