action #163586
closedcoordination #159549: [epic][qem-dashboard] Group blocked incidents to allow reviewers to focus on high prio incidents
[qem-dashboard] Display "consider manual approval" threshold on /blocked size:S
0%
Description
Motivation¶
Currently, http://dashboard.qam.suse.de/blocked shows maintenance incidents with failing openQA tests sorted by priority (highest priority first). The next step should be to highlight the pending incidents of highest priority as they need focus as well as might need manual approval.
Acceptance criteria¶
- AC1: Incidents with priority > 650 are highlighted on /blocked
Suggestions¶
- We already have the "priority" value for each incident available in the dashboard and also visible, e.g. on http://dashboard.qam.suse.de/incident/$id in the bottom of the page. Use that value and highlight those incidents differently, e.g. a light background color and pattern or icon with a notice text, possibly reachable by hovering, e.g. "Incident with priority > 650: Focus on review and consider manual approval"
- For example https://dashboard.qam.suse.de/incident/34761 has Priority: 800
- Don't forget the tests
Out of scope¶
- Have the threshold configurable by users
Updated by robert.richardson 5 months ago
- Status changed from Workable to In Progress
- Assignee set to robert.richardson
Updated by robert.richardson 5 months ago · Edited
I'm setting up the QEM-Dashboard locally for development, so far i have:
- Made psql available on localhost and added it to the dashboard.yml
- Added a secret and the rabbit.suse.de URL for consuming messages to the dashboard.yml
secrets:
- …
pg: postgresql://postgres@localhost:5432/postgres
rabbitmq: amqps://suse:suse@rabbit.suse.de:5672
tokens:
- s3cret
status: 0
openqa:
url: https://openqa.suse.de
obs:
url: https://build.opensuse.org
smelt:
url: https://smelt.suse.de
days_to_keep_aggregates: 90
Now trying to find out why the example listening script provided on rabbit.suse.de is working for me, and the QEM-Dashboard is also starting fine, though it is still not populating any incidents.
Updated by okurz 5 months ago
Please don't put any "secrets" or passwords into public tickets even if it's just for localhost deployments. I removed the secret string.
Now trying to find out why the example listening script provided on rabbit.suse.de is working for me, and the QEM-Dashboard is also starting fine, though it is still not populating any incidents.
I don't think incidents will be populated by AMQP, just updated. For production we have https://gitlab.suse.de/qa-maintenance/bot-ng/-/pipelines . You can consider importing a database dump to have something pre-populated. However all of that manual setup shouldn't be necessary. For such a rather simple features the tests and test data in the repo should suffice. Start by running just "make test".
Updated by robert.richardson 5 months ago
okurz wrote in #note-6:
For such a rather simple features the tests and test data in the repo should suffice. Start by running just "make test".
Do you mean the tests for the QEM-Dashboard itself run via prove -l t/*.t t/*.t.js
or in the openQA repo ?
They are currently both failing for me, the dashboard tests show:
➜ qem-dashboard git:(main) ✗ TEST_ONLINE=postgresql://postgres:postgres@localhost:5432/postgres prove -l t/*.t t/*.t.js
t/amqp.t ......... ok
t/api_cleanup.t .. ok
t/api.t .......... ok
t/json.t ......... ok
t/ui.t ........... Mojo::File::spurt is deprecated in favor of Mojo::File::spew at /usr/lib/perl5/vendor_perl/5.40.0/Mojo/Alien/webpack.pm line 187.
t/ui.t ........... ok
t/ui.t.js ........ No subtests run
Test Summary Report
-------------------
t/ui.t.js (Wstat: (none) Tests: 0 Failed: 0)
Parse errors: Badly formed hash line: '' at /usr/lib/perl5/5.40.0/TAP/Parser/YAMLish/Reader.pm line 244.
No plan found in TAP output
Files=6, Tests=27, 7 wallclock secs ( 0.04 usr 0.00 sys + 8.34 cusr 0.41 csys = 8.79 CPU)
Result: FAIL
Updated by okurz 5 months ago
robert.richardson wrote in #note-7:
okurz wrote in #note-6:
For such a rather simple features the tests and test data in the repo should suffice. Start by running just "make test".
Do you mean the tests for the QEM-Dashboard itself run via
prove -l t/*.t t/*.t.js
or in the openQA repo ?
The first which you executed meanwhile.
Updated by openqa_review 5 months ago
- Due date set to 2024-08-03
Setting due date based on mean cycle time of SUSE QE Tools
Updated by robert.richardson 5 months ago · Edited
i wrote a test case, though i'm still running into the same testsuite error regarding the TAP output.
Updated by okurz 5 months ago
That's what I get:
$ make test-ui
MOJO_MODE=production \
TEST_ONLINE=postgresql://postgres:postgres@localhost:5432/postgres \
TEST_WRAPPER_COVERAGE=1 \
prove -l -v t/*.t.js
t/ui.t.js ..
TAP version 14
Devel::Cover: Warning: can't open blib/lib/Net/SSLeay.pm for MD5 digest: No such file or directory
Devel::Cover: Can't find file "blib/lib/Net/SSLeay.pm" (blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/randomize.al)): ignored.
Mojo::File::spurt is deprecated in favor of Mojo::File::spew at /usr/lib/perl5/vendor_perl/5.26.1/Mojo/Alien/webpack.pm line 187.
Devel::Cover: Warning: can't open template overview/index.html.ep for MD5 digest: No such file or directory
Devel::Cover: Can't find file "template overview/index.html.ep" (template overview/index.html.ep): ignored.
# Subtest: Test dashboard ui
# Subtest: Navigation
ok 1 - should be equal
ok 2 - should be equal
ok 3 - should be equal
ok 4 - should be equal
ok 5 - should be equal
ok 6 - should be equal
1..6
ok 1 - Navigation # time=479.916ms
# Subtest: Overview
ok 1 - should match pattern
ok 2 - should match pattern
ok 3 - should match pattern
ok 4 - should match pattern
ok 5 - should match pattern
ok 6 - should match pattern
ok 7 - should match pattern
ok 8 - should match pattern
1..8
ok 2 - Overview # time=150.931ms
# Subtest: Incicdent details
ok 1 - should be equal
ok 2 - should match pattern
ok 3 - should match pattern
ok 4 - should be equal
ok 5 - should match pattern
ok 6 - should match pattern
1..6
ok 3 - Incicdent details # time=262.801ms
# Subtest: Sorting and filtering on "Blocked" page
ok 1 - should be equal
ok 2 - should match pattern
ok 3 - should match pattern
ok 4 - should match pattern
ok 5 - should match pattern
ok 6 - should not match pattern
ok 7 - should not match pattern
ok 8 - should not match pattern
ok 9 - should be equal
ok 10 - should match pattern
ok 11 - should match pattern
ok 12 - should be equal
ok 13 - should not match pattern
ok 14 - should match pattern
ok 15 - should be equal
ok 16 - should match pattern
ok 17 - should match pattern
ok 18 - should be equal
ok 19 - should match pattern
ok 20 - should match pattern
ok 21 - should match pattern
ok 22 - should not match pattern
ok 23 - should be equal
ok 24 - should be equal
ok 25 - should be equal
ok 26 - should be equal
1..26
ok 4 - Sorting and filtering on "Blocked" page # time=485.293ms
# Subtest: Group blocked
ok 1 - should match pattern
ok 2 - should match pattern
ok 3 - should match pattern
ok 4 - should match pattern
ok 5 - should match pattern
ok 6 - should match pattern
1..6
ok 5 - Group blocked # time=234.173ms
# Subtest: Incident popup
ok 1 - should be equal
ok 2 - should be equal
ok 3 - should be equal
1..3
ok 6 - Incident popup # time=1670.132ms
# Subtest: Link to Smelt if there are no incidents
ok 1 - link shown on /
ok 2 - link shown on /blocked
1..2
ok 7 - Link to Smelt if there are no incidents # time=223.144ms
ok 8 - should be equivalent
1..8
ok 1 - Test dashboard ui # time=27014.279ms
1..1
# { total: 58, pass: 58 }
# time=27026.768ms
All 1 subtests passed
Test Summary Report
-------------------
t/ui.t.js (Wstat: 0 Tests: 1 Failed: 0)
Parse errors: TAP specified version 14 but we don't know about versions later than 13
Files=1, Tests=1, 28 wallclock secs ( 0.06 usr 0.00 sys + 48.67 cusr 1.90 csys = 50.63 CPU)
Result: FAIL
make: *** [Makefile:37: test-ui] Error 1
let's ask in #team-qa-tools
Updated by okurz 5 months ago
- Related to action #155629: [spike][timeboxed:6h][qem-dashboard] Order blocked incidents by priority to allow reviewers to focus on higher prio incidents first size:S added
Updated by robert.richardson 5 months ago
Added a PR to update the setup documentation.
Updated by robert.richardson 5 months ago
- Status changed from In Progress to Feedback
Updated by okurz 5 months ago
https://github.com/openSUSE/qem-dashboard/pull/1466 is merged \o/
Updated by okurz 5 months ago
https://github.com/openSUSE/qem-dashboard/pull/1467 for a fix for older browsers.
Updated by robert.richardson 5 months ago
- Status changed from Feedback to Resolved
Closing this as all related PRs are now merged and deployed to production.