mgr/dashboard: add e2e tests for Orchestrator components#36365
mgr/dashboard: add e2e tests for Orchestrator components#36365LenzGr merged 1 commit intoceph:masterfrom
Conversation
|
@sebastian-philipp do you have an idea how to get rid of the drawback that the test can only be trigger manually by the developer with Sepia lab permissions? or are there any issues open regarding getting cephadm managed hosts during make check? |
|
I would sign any petition that makes this a automated & mandatory test for any |
if there is a suite for this under |
@sebastian-philipp How did you manage to automate scheduling of |
|
I found the there are no free disks on smithi nodes, so it's not possible to test creating OSDs. |
let's be clear here. There is no automatic scheduling. Everything is manually triggered. |
|
Nice work, @bk201 - kudos for taking this task on! |
Even when you omit from the roles list, there are still no free disks?
It definitely is possible to test OSD creation, but you might have to "get creative" to do it.
Instead of having the Note: the smithis have only NVMe disks. I forgot the exact device names, but they are not |
@bk201 have you thought about using loop devices or the NBD driver? |
smithis have single NVMe on each node, and some LVs are provisioned from the NVMe devices by ansible. The |
Unfortunately, ceph-volume uses lsblk and skips this type of devices when reporting devices. If we want to test the OSD creation in the Dashboard, something looks like a disk must be available. I tried creating some file-based iSCSI targets and attach them locally, it works so far. |
Right. And what is preventing you from omitting the |
I keep the roles just because
Unfortunately, ceph-volume doesn't report those LVs and they are not in the orchestrator inventory. Thus I can't leverage them in the Dashboard. |
src/pybind/mgr/dashboard/frontend/cypress/fixtures/orchestrator/inventory.json
Show resolved
Hide resolved
Devp00l
left a comment
There was a problem hiding this comment.
You have committed an empty file (qa/suites/rados/cephadm/dashboard/%). I guess it is not needed ;)
src/pybind/mgr/dashboard/frontend/cypress/integration/cluster/hosts.po.ts
Show resolved
Hide resolved
src/pybind/mgr/dashboard/frontend/cypress/integration/cluster/hosts.po.ts
Show resolved
Hide resolved
src/pybind/mgr/dashboard/frontend/cypress/integration/cluster/osds.po.ts
Outdated
Show resolved
Hide resolved
src/pybind/mgr/dashboard/frontend/cypress/integration/orchestrator/01-hosts.e2e-spec.ts
Outdated
Show resolved
Hide resolved
While that may appear to be an empty file, it's actually a teuthology operator. For more information, see: |
Devp00l
left a comment
There was a problem hiding this comment.
Looks really great :) Just a view things.
src/pybind/mgr/dashboard/frontend/cypress/integration/page-helper.po.ts
Outdated
Show resolved
Hide resolved
Fixes: https://tracker.ceph.com/issues/44637 Signed-off-by: Kiefer Chang <kiefer.chang@suse.com>
|
jenkins test dashboard |
|
jenkins test api |
Adding e2e tests for Orchestrator components.
The idea is to do the test in a QA run work unit.
frontend/cypress/fixtures/orchestrator/, it shoud contain some basic information of the cluster:ceph orch device ls --format json.WITH_ORCHESTRATOR=trueand in a designed order.Some drawbacks of the approach:
Items:
Fixes: https://tracker.ceph.com/issues/44637
Signed-off-by: Kiefer Chang kiefer.chang@suse.com
Checklist
Show available Jenkins commands
jenkins retest this pleasejenkins test classic perfjenkins test crimson perfjenkins test signedjenkins test make checkjenkins test make check arm64jenkins test submodulesjenkins test dashboardjenkins test dashboard backendjenkins test docsjenkins render docsjenkins test ceph-volume alljenkins test ceph-volume tox