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: list services and daemons #33531
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ack
Is it possible to add |
Added. I also refactor test_orchestrator a bit. |
@@ -36,7 +36,7 @@ def get_device_osd_map(): | |||
} | |||
:rtype: dict | |||
""" | |||
result = {} | |||
result: dict = {} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is PY3 type hinting syntax. Can we use that or should we use # type: dict
instead? This may be a concern when backporting Octopus PRs to a PY2 based release.
@sebastian-philipp What do you think?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for bringing this up. Orchestrator integration will not be backported, but considering we are encouraged to add typing info in Dashboard (are we?), we should have a guideline to follow.
PY3 type hinting syntax will make backport a nightmare.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In today's standup we agree:
- Use the PY3-only syntax if the codes are not going to be backported.
- Stick to the comments way
# type: xxxx
if codes are going to be backported potentially. - If you don't know, stick to the comments way.
jenkins test dashboard |
1 similar comment
jenkins test dashboard |
- Display services and daemons in the cluster/services page. - Display daemons in the cluster/hosts/host-detail page (Daemons tab). This PR also partially addresses https://tracker.ceph.com/issues/43165: The endpoint `/api/orchestrator/service` is removed. Create new endpoints: - `/api/service`: listing all services in the Ceph cluster. - `/api/service/<service_name>/daemons`: listing daemons for a service. e.g. daemons of OSD. - `/api/host/<hostname>/daemons`: listing daemons of a host. Fixes: https://tracker.ceph.com/issues/44221 Signed-off-by: Kiefer Chang <kiefer.chang@suse.com>
- Refactor list_daemons: return ceph-xxx processes on host. - Refactor describe_service: return services by grouping ceph-xxx processes on host. - Add dummy data. Signed-off-by: Kiefer Chang <kiefer.chang@suse.com>
jenkins test make check |
jenkins test dashboard |
1 similar comment
jenkins test dashboard |
there was a column newly added with #33553 (SPEC) which you might include here? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
Let's add the Placement column in another PR and get this merged first. |
The spec_presence was changed to an actual spec in #33667, merged yesterday |
these tests need to be fixed:
now that the ps implementation is not bonkers it should check for I didn't realize test_orchestator was fabricating a result for |
The ps output names daemons like 'type.foo', e.g., 'mgr.x'. Now that the test_orchestrator impl is less bonkers this needs to be adjusted to match reality. Signed-off-by: Sage Weil <sage@redhat.com>
This PR also partially addresses https://tracker.ceph.com/issues/43165:
The endpoint
/api/orchestrator/service
is removed.Create new endpoints:
/api/service
: listing all services in the Ceph cluster./api/service/<service_name>/daemons
: listing daemons for aservice. e.g. daemons of OSD.
/api/host/<hostname>/daemons
: listing daemons of a host.Fixes: https://tracker.ceph.com/issues/44221
Signed-off-by: Kiefer Chang kiefer.chang@suse.com
How to test
This PR needs to be tested in cephadm spawned cluster.
Screenshots
Cluster->Services
Cluster->Hosts (Daemons tab)
Checklist
Show available Jenkins commands
jenkins retest this please
jenkins test crimson perf
jenkins test signed
jenkins test make check
jenkins test make check arm64
jenkins test submodules
jenkins test dashboard
jenkins test dashboard backend
jenkins test docs
jenkins render docs
jenkins test ceph-volume all
jenkins test ceph-volume tox