Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mgr/dashboard: integrate progress mgr module events into dashboard tasks list #29048

Merged
merged 6 commits into from Jul 18, 2019

Conversation

@rjfd
Copy link
Contributor

commented Jul 15, 2019

This PR integrates the executing and finished events from the progress mgr module into the list of dashboard tasks.
The progress module events are retrieved by the dashboard using the inter-module calls provided by ceph-mgr.

This allows to show in the dashboard frontend the long-running asynchronous actions registered in the progress module alongside with the dashboard tasks.

We also add to extend the information stored for the completed events in the progress module to allow them to be more "compatible" with the dashboard events.
See commits 7904b9e and 87469c0

Fixes: https://tracker.ceph.com/issues/38202

Signed-off-by: Ricardo Dias rdias@suse.com

@rjfd

This comment has been minimized.

Copy link
Contributor Author

commented Jul 15, 2019

@liewegas can you take a look at the commits 7904b9e and 87469c0 , that make a small change to the progress module?

@liewegas

This comment has been minimized.

Copy link
Member

commented Jul 15, 2019

@kamoltat this look ok to you too?

@liewegas

This comment has been minimized.

Copy link
Member

commented Jul 15, 2019

@liewegas can you take a look at the commits 7904b9e and 87469c0 , that make a small change to the progress module?

LGTM!

@kamoltat

This comment has been minimized.

Copy link

commented Jul 15, 2019

@kamoltat this look ok to you too?

LGTM!

@rjfd rjfd force-pushed the rjfd:wip-dashboard-progress-tasks branch 2 times, most recently from fb442f8 to e84bc9d Jul 16, 2019

@ricardoasmarques
Copy link
Member

left a comment

lgtm

@p-na

p-na approved these changes Jul 16, 2019

Copy link
Contributor

left a comment

lgtm

rjfd added some commits Jul 15, 2019

mgr/progress: export more event properties to json
Signed-off-by: Ricardo Dias <rdias@suse.com>
mgr/progress: persist started_at and finished_at timestamps
Signed-off-by: Ricardo Dias <rdias@suse.com>
mgr/dashboard: progress mgr module service
This service module implements helper methods to retrieve
tasks information from the progress mgr module.

Signed-off-by: Ricardo Dias <rdias@suse.com>
mgr/dashboard: frontend/task.service: format task title for progress …
…tasks

Signed-off-by: Ricardo Dias <rdias@suse.com>
mgr/dashboard: tests: fix tests by mocking progress service
Signed-off-by: Ricardo Dias <rdias@suse.com>

@rjfd rjfd force-pushed the rjfd:wip-dashboard-progress-tasks branch from e84bc9d to 5cd8b3b Jul 17, 2019

@rjfd

This comment has been minimized.

Copy link
Contributor Author

commented Jul 18, 2019

We can ignore the failures in QA tests. The dashboard tests have succeeded and the jobs are being marked as failed due to warning caused by recent changes to the volumes module.

Therefore this PR is ready to be merged.

@ricardoasmarques ricardoasmarques merged commit 73bb2af into ceph:master Jul 18, 2019

5 of 6 checks passed

make check (arm64) make check failed
Details
Docs: build check OK - docs built
Details
Signed-off-by all commits in this PR are signed
Details
Unmodified Submodules submodules for project are unmodified
Details
ceph dashboard tests ceph dashboard tests succeeded
Details
make check make check succeeded
Details
logger.debug("[Progress] finished event=%s", ev)
finished_t.append({
'name': "progress/{}".format(ev['message']),
'metadata': dict(ev['refs']),

This comment has been minimized.

Copy link
@dillaman

dillaman Jul 22, 2019

Contributor

You cannot be assured that the refs is in a dict format (here and above). PG recovery has [("osd", osd_id)], the orchestrator just has ["orchestrator"], and the new rbd_support progress hooks will have ["rbd_support"].

This comment has been minimized.

Copy link
@rjfd

rjfd Jul 22, 2019

Author Contributor

Indeed. But can we change that? We could agree on a list of pairs format, or even a dict.

Example:
refs = [("origin", "rbd_support"), ...]

This comment has been minimized.

Copy link
@dillaman

dillaman Jul 22, 2019

Contributor

I'm fine w/ changing it. I had originally expected refs to be a free-form dict but then saw it was never used that way.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
7 participants
You can’t perform that action at this time.