Project

General

Profile

Actions

action #134840

closed

coordination #154768: [saga][epic][ux] State-of-art user experience for openQA

coordination #166556: [epic] Improved test reviewer user experience - Restart filtered jobs from /tests/overview

Show that an openQA job is busy in the early state of running instead of empty live view and log size:S

Added by okurz about 1 year ago. Updated 12 days ago.

Status:
Resolved
Priority:
Normal
Category:
Feature requests
Target version:
Start date:
2023-08-30
Due date:
% Done:

0%

Estimated time:

Description

Motivation

If an openQA worker picked up a job but is busy in early stages, in particular asset caching, the job details might show an empty live view and empty live log with no good feedback what is going on, see screenshot
Screenshot_20230830_141721_openQA_empty_live_view_empty_live_log_on_job_startup.png

The user of the webUI can not see what the worker is doing and shows a lot of disturbing empty screen estate. The user experience can be improved by better reflecting that the job is still busy in early setup, potentially what it is currently doing and also not show big empty boxes. On the worker one can see that the job is already busy based on content in worker-log.txt and autoinst-log.txt

Errors can be seen in the developer console:

Establishing ws connection to wss://openqa.opensuse.org/liveviewhandler/tests/4570289/developer/ws-proxy/status
test_result.js:332 Received message via ws proxy: {"data":{"category":"cmdsrv-connection","reason":"URL to command server unknown"},"type":"error","what":"os-autoinst command server not available, job is likely not running"}
test_result.js:340 ignoring error from ws proxy: os-autoinst command server not available, job is likely not running
test_result.js:326 Connection to livehandler lost

Acceptance criteria

  • AC1: The user of the webUI has a possibility to see the current state of the job in early stages, e.g. busy indicator as on index page, etc.
  • AC2: No big blank frame with no content for a reasonable time
  • AC3: The live view still shows up content as soon as the underlying SUT sends content, e.g. early bootloader frames

Suggestions

  • Look into the errors reported by the websocket handler. Maybe there is a race condition here?
  • Potentially this is also a regression
  • Avoid showing a blank space where the image will be
    • Do not show the image unless an actual image from the SUT is available
    • Overlay a spinner that is hidden once an image is available
  • Consider a manual test setup to reproduce that (one without and with)

Files

Actions #1

Updated by okurz about 1 month ago

  • Parent task set to #166556
Actions #2

Updated by okurz about 1 month ago

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

Updated by livdywan about 1 month ago

  • Description updated (diff)
  • Target version changed from Tools - Next to future
Actions #4

Updated by livdywan about 1 month ago

  • Target version changed from future to Tools - Next
Actions #5

Updated by okurz 29 days ago

  • Assignee set to robert.richardson
  • Target version changed from Tools - Next to Ready
Actions #6

Updated by okurz 29 days ago

  • Subject changed from Show that an openQA job is busy in the early state of running instead of empty live view and log to Show that an openQA job is busy in the early state of running instead of empty live view and log size:S
  • Description updated (diff)
  • Status changed from New to In Progress
Actions #7

Updated by openqa_review 28 days ago

  • Due date set to 2024-11-05

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

Actions #8

Updated by mkittler 27 days ago

I'm currently running a job on my local machine and noticed that there's at least logs one can follow via the livelog panel, e.g.:

[2024-10-22T17:41:26.277880+02:00] [debug] [pid:45847] scheduling reboot_gnome tests/x11/reboot_gnome.pm
[2024-10-22T17:41:26.279221+02:00] [debug] [pid:45847] scheduling cleanup_before_shutdown tests/shutdown/cleanup_before_shutdown.pm
[2024-10-22T17:41:26.280209+02:00] [debug] [pid:45847] scheduling shutdown tests/shutdown/shutdown.pm
[2024-10-22T17:41:26.290531+02:00] [info] [pid:45860] cmdsrv: daemon reachable under http://*:20013/…/
[2024-10-22T17:41:26.292506+02:00] [info] [pid:45860] Listening at "http://[::]:20013"
Web application available at http://[::]:20013
[2024-10-22T17:41:26.295731+02:00] [debug] [pid:45847] git hash in 'sle/products/sle/needles': …
[2024-10-22T17:41:26.313487+02:00] [debug] [pid:45847] git url in 'sle/products/sle/needles': "gitlab@gitlab.suse.de:openqa/os-autoinst-needles-sles.git"
[2024-10-22T17:41:26.313690+02:00] [debug] [pid:45847] init needles from sle/products/sle/needles

Maybe it would make sense to simply show that panel in the expanded state by default and hide the empty image instead. Only if the image becomes available we'd change the state to what we currently have. This is just an idea to make the implementation simpler. Feel free to come up with something nicer :-)

Actions #10

Updated by robert.richardson 24 days ago · Edited

I've added tests (see [this PR]), however they are not yet stable and fail sporadically with the following error:

t/ui/18-tests-details.t .. 19/? isElementEnabled: stale element reference: stale element not found in the current frame at /home/okurz/local/os-autoinst/openQA/t/ui/../lib/OpenQA/SeleniumTest.pm:78 at /home/okurz/local/os-autoinst/openQA/t/ui/../lib/OpenQA/SeleniumTest.pm line 81.

@okurz was able to reproduce the error.

I assume this happens due to tests-details:311
$driver->execute_script('window.enableStatusUpdates = false');
Any ideas on where i would have to move this line or how to modify it ?

Actions #11

Updated by livdywan 18 days ago

  • Status changed from In Progress to Feedback

I assume this happens due to tests-details:311
$driver->execute_script('window.enableStatusUpdates = false');
Any ideas on where i would have to move this line or how to modify it ?

This was fixed in #169096.

robert.richardson wrote in #note-9:

https://github.com/os-autoinst/openQA/pull/6022

Merged.

Anything else missing here?

Actions #12

Updated by robert.richardson 15 days ago

  • Status changed from Feedback to Resolved

https://github.com/os-autoinst/openQA/pull/6023 (merged) adds the actual loading indicator.

example_gif

Actions #13

Updated by okurz 12 days ago

  • Due date deleted (2024-11-05)
Actions

Also available in: Atom PDF