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