From: Ricardo Dias Date: Mon, 15 Jul 2019 14:08:39 +0000 (+0100) Subject: mgr/dashboard: add progress module tasks to list of dashboard tasks X-Git-Tag: v15.1.0~2173^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=96ff50e883926e2ca9747052c8c47df6448deccc;p=ceph.git mgr/dashboard: add progress module tasks to list of dashboard tasks Fixes: https://tracker.ceph.com/issues/38202 Signed-off-by: Ricardo Dias --- diff --git a/src/pybind/mgr/dashboard/controllers/summary.py b/src/pybind/mgr/dashboard/controllers/summary.py index 0b2d51e52747..dc4298b98ebe 100644 --- a/src/pybind/mgr/dashboard/controllers/summary.py +++ b/src/pybind/mgr/dashboard/controllers/summary.py @@ -9,6 +9,7 @@ from ..security import Permission, Scope from ..controllers.rbd_mirroring import get_daemons_and_pools from ..exceptions import ViewCacheNoDataException from ..tools import TaskManager +from ..services import progress @ApiController('/summary') @@ -73,6 +74,13 @@ class Summary(BaseController): executing_tasks = [task for task in exe_t if self._task_permissions(task['name'])] finished_tasks = [task for task in fin_t if self._task_permissions(task['name'])] + e, f = progress.get_progress_tasks() + executing_tasks.extend(e) + finished_tasks.extend(f) + + executing_tasks.sort(key=lambda t: t['begin_time'], reverse=True) + finished_tasks.sort(key=lambda t: t['end_time'], reverse=True) + result = { 'health_status': self._health_status(), 'mgr_id': mgr.get_mgr_id(), diff --git a/src/pybind/mgr/dashboard/controllers/task.py b/src/pybind/mgr/dashboard/controllers/task.py index 9380f07015ae..8ac97fdb8f1e 100644 --- a/src/pybind/mgr/dashboard/controllers/task.py +++ b/src/pybind/mgr/dashboard/controllers/task.py @@ -3,12 +3,21 @@ from __future__ import absolute_import from . import ApiController, RESTController from ..tools import TaskManager +from ..services import progress @ApiController('/task') class Task(RESTController): def list(self, name=None): executing_t, finished_t = TaskManager.list_serializable(name) + + e, f = progress.get_progress_tasks() + executing_t.extend(e) + finished_t.extend(f) + + executing_t.sort(key=lambda t: t['begin_time'], reverse=True) + finished_t.sort(key=lambda t: t['end_time'], reverse=True) + return { 'executing_tasks': executing_t, 'finished_tasks': finished_t