Project

General

Profile

Actions

action #163586

closed

coordination #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

Added by okurz 3 months ago. Updated 2 months ago.

Status:
Resolved
Priority:
Normal
Target version:
Start date:
2024-07-10
Due date:
% Done:

0%

Estimated time:

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"
  • Don't forget the tests

Out of scope

  • Have the threshold configurable by users

Related issues 1 (0 open1 closed)

Related to QA - action #155629: [spike][timeboxed:6h][qem-dashboard] Order blocked incidents by priority to allow reviewers to focus on higher prio incidents first size:SResolvedmkittler2024-02-19

Actions
Actions #1

Updated by okurz 3 months ago

  • Target version changed from Ready to Tools - Next
Actions #2

Updated by okurz 3 months ago

  • Target version changed from Tools - Next to Ready
Actions #3

Updated by livdywan 3 months ago

  • Subject changed from [qem-dashboard] Display "consider manual approval" threshold on /blocked to [qem-dashboard] Display "consider manual approval" threshold on /blocked size:S
  • Description updated (diff)
  • Status changed from New to Workable
Actions #4

Updated by robert.richardson 3 months ago

  • Status changed from Workable to In Progress
  • Assignee set to robert.richardson
Actions #5

Updated by robert.richardson 3 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.

Actions #6

Updated by okurz 3 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".

Actions #7

Updated by robert.richardson 3 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
Actions #8

Updated by okurz 3 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.

Actions #9

Updated by openqa_review 3 months ago

  • Due date set to 2024-08-03

Setting due date based on mean cycle time of SUSE QE Tools

Actions #10

Updated by robert.richardson 3 months ago · Edited

i wrote a test case, though i'm still running into the same testsuite error regarding the TAP output.

Actions #11

Updated by okurz 3 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

Actions #12

Updated by okurz 3 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
Actions #13

Updated by robert.richardson 3 months ago

Added a PR to update the setup documentation.

Actions #14

Updated by robert.richardson 2 months ago

  • Status changed from In Progress to Feedback
Actions #16

Updated by okurz 2 months ago

Actions #17

Updated by robert.richardson 2 months ago

  • Status changed from Feedback to Resolved

Closing this as all related PRs are now merged and deployed to production.

Actions #18

Updated by okurz 2 months ago

  • Due date deleted (2024-08-03)
Actions

Also available in: Atom PDF