]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
mgr/dashboard: Prevent dashboard breakdown on bad pool selection 35367/head
authorStephan Müller <smueller@suse.com>
Fri, 24 Jan 2020 15:36:48 +0000 (16:36 +0100)
committerStephan Müller <smueller@suse.com>
Fri, 5 Jun 2020 14:05:46 +0000 (16:05 +0200)
commit8803a7b921efa09748f581e0f59a3a305f1b39fa
tree83a3fa9f025f2321e9de16cc3031295ac1a5bfd9
parentd4ce5549e81c20999f524b61e1f316fcf43b2f87
mgr/dashboard: Prevent dashboard breakdown on bad pool selection

The problem was that if a pool was created that outsizes the max
available OSDs the pool gets stuck with the "creating+incomplete" pg
state. If this pool than is selected to get it's details, the method the
dashboard is calling to get the pools RBD configuration will get stuck,
therefore the dashboard gets stuck.

This is the issue to the related bug:
https://tracker.ceph.com/issues/43771

ATM this is only a workaround it won't fix the underlying problem, it
will just ensure that the dashboard just won't call the method if the
pools pg state is in the mentioned state.

Fixes: https://tracker.ceph.com/issues/43765
Signed-off-by: Stephan Müller <smueller@suse.com>
(cherry picked from commit e174b91d6b7670ed575577ddff18edc354be69fb)

Conflicts:
src/pybind/mgr/dashboard/services/rbd.py
- Import for ceph_service was missing
- Filters out 'unknown' state instead of 'incomplete' state, as pools
in nautilus wait for PGs to be there.
src/pybind/mgr/dashboard/services/ceph_service.py
- Import conflict
src/pybind/mgr/dashboard/tests/test_rbd_service.py
- Test file wasn't there before
src/pybind/mgr/dashboard/services/ceph_service.py
src/pybind/mgr/dashboard/services/rbd.py
src/pybind/mgr/dashboard/tests/test_ceph_service.py [new file with mode: 0644]
src/pybind/mgr/dashboard/tests/test_rbd_service.py [new file with mode: 0644]