Project

General

Profile

coordination #15850

coordination #103962: [saga][epic] Easy multi-machine handling: MM-tests as first-class citizens

[epic] Improve displaying job dependencies

Added by okurz almost 6 years ago. Updated 7 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Feature requests
Target version:
Start date:
2019-11-18
Due date:
% Done:

100%

Estimated time:
(Total: 0.00 h)
Difficulty:

Description

Several aspects of displaying jobs and their dependencies can be improved. See the sub tasks for concrete ideas.


Subtasks

action #59969: Display job dependency tab not only for latest jobs Resolvedmkittler

action #69976: Show dependency graph for cloned jobsResolvedmkittler

action #107311: The dependency tree of `openqa-clone-job --clone-children` is brokenResolvedmkittler

action #109809: Show job relations for parallel/children jobs also on the tests overview page /tests/overview (mainly for parallel jobs) size:MResolvedmkittler

action #110719: Fold ok clusters by default, unfold if there is any non-ok resultResolvedmkittler


Related issues

Related to openQA Project - action #15846: [tools][dashboard]Show job relation on '/tests'Resolved2017-01-10

Has duplicate openQA Project - action #15088: Build overview should display dependency relations between jobsClosed2016-11-28

Has duplicate openQA Project - action #52517: Sorting out tests: Visualize parallel job dependencies in test overview (was: Enhance the view for the multimachine tests)Rejected2019-06-03

History

#1 Updated by coolo about 5 years ago

  • Target version set to Ready

#2 Updated by coolo about 5 years ago

  • Has duplicate action #15088: Build overview should display dependency relations between jobs added

#3 Updated by okurz over 3 years ago

  • Has duplicate action #52517: Sorting out tests: Visualize parallel job dependencies in test overview (was: Enhance the view for the multimachine tests) added

#4 Updated by okurz over 3 years ago

  • Related to action #15846: [tools][dashboard]Show job relation on '/tests' added

#5 Updated by okurz over 3 years ago

  • File Screenshot_20190605_233019.png Screenshot_20190605_233019.png added
  • Subject changed from Show job relations for parallel/children jobs also on /tests/overview to Show job relations for parallel/children jobs also on the tests overview page /tests/overview (mainly for parallel jobs)
  • Category changed from 124 to Feature requests
8099

Incorporated content from #52517 for implementation suggestions (see there for more details):

The circle icons for multiple parallel jobs could be collapsed into a single blob, e.g. with

 <span class="fa-clone"></span>

from https://fontawesome.com/icons/clone?style=solid

which can look like Screenshot_20190605_233019.png

sebchlad already identified the right location in code which could be adjusted, e.g.
https://github.com/os-autoinst/openQA/blob/master/lib/OpenQA/WebAPI/Controller/Test.pm#L567
where we could go over the result hash and combine all parallel test results into a stack.

  • Clicking on the icon could open a popup with the individual results to go there. Alternative: In the most simple case just open the result from the first of the parallel job, e.g. jump immediately to the "Dependencies" tab.
  • For labels: Combine them all, e.g. for two parallel jobs with one label each show the stack icon and two flash / bug icons next to it.
  • The retry button can link to the first job as AFAIK the parallel jobs are started with it anyway already – or should be ;)
  • Optional: On hovering over the icon show a list of test results of all stacked tests in a popover (don't overdo graphing, clickable, to be able to click into all icons, failed modules, bug icon, etc.)
  • Result / color to show when they differ within the stack: Most likely user expectation on the result color is "worst", so combine with a precedence: incomplete beats fail beats cancel beats softfail beats passed
  • For display of test name(s): Make it explicit and rather show a custom string from a test variable in any of the stack's job with fallback to all names with ellipsis.
  • Having a cluster name for creating subgroups might actually be sensible as well - so cluster parallel jobs automatically (with autopicking a name if not present) and other jobs if they have the same cluster name. If parallel jobs have multiple cluster names, we'll explode and call shutdown. This cluster name might actually be an excellent choice for a job group template parameter - and so the circle closes :)

#6 Updated by okurz almost 3 years ago

  • Status changed from New to Workable

#7 Updated by okurz over 2 years ago

  • Priority changed from Normal to Low

#8 Updated by Xiaojing_liu over 2 years ago

  • Assignee set to Xiaojing_liu

#9 Updated by cdywan over 2 years ago

  • Status changed from Workable to In Progress

#10 Updated by okurz over 2 years ago

Idea for later: https://github.com/os-autoinst/openQA/pull/3287#issuecomment-665529245

In particular: "could we also work towards getting some better rendering of parallel tests please? So that all hpc_ALPHA_mpich_mpi_xxx tests, which are in fact '1 multi machine' test, could be easily seen as such? For instance the parent rendered with bold, or children rendered with italic or whatever is the easiest." That we can consider as an alternative to the collapsing I proposed.

#11 Updated by Xiaojing_liu over 2 years ago

Like https://github.com/os-autoinst/openQA/pull/3287#issuecomment-665614031 said, the tests page has the hovering function, we should implement this feature in overview page.

new pr: https://github.com/os-autoinst/openQA/pull/3287

#12 Updated by Xiaojing_liu over 2 years ago

https://github.com/os-autoinst/openQA/pull/3297
PR for adding highlight feature

#13 Updated by Xiaojing_liu over 2 years ago

  • Status changed from In Progress to Feedback
  • Assignee deleted (Xiaojing_liu)

The pr for highlighting dependency jobs has been merged. I set the status to 'Feedback' because there is one thing I haven't implemented. See note #15850#note-10

#14 Updated by okurz about 2 years ago

  • Description updated (diff)
  • Status changed from Feedback to Workable
  • Target version changed from Ready to future

IMHO we improved the UX but some ideas have been mentioned to improve further, e.g. collapsing multiple entries together, e.g. with the mentioned stack icon. Added a second AC accordingly. Leaving this ticket for the future to be followed up with.

#15 Updated by okurz 12 months ago

  • Tracker changed from action to coordination
  • Subject changed from Show job relations for parallel/children jobs also on the tests overview page /tests/overview (mainly for parallel jobs) to [epic] Show job relations for parallel/children jobs also on the tests overview page /tests/overview (mainly for parallel jobs)

#16 Updated by okurz 12 months ago

  • Parent task set to #103962

#17 Updated by okurz 9 months ago

  • Status changed from Workable to Blocked
  • Assignee set to mkittler
  • Target version changed from future to Ready

#18 Updated by okurz 8 months ago

  • Status changed from Blocked to Workable

mkittler you might have missed that you yourself helped to resolve subtasks :)

#19 Updated by mkittler 8 months ago

This ticket is now something between an epic and a concrete task because it actually states quite clear its own acceptance criteria and none of its sub tasks actually help with that specific criteria. Should I add a sub ticket for them? It would basically be a clone of this ticket so I suppose I'd have to change this ticket description to something more general. I'm wondering whether it makes sense to turn concrete actions into an epic like this. Wouldn't it be better to create a new epic ticket and add the concrete ticket as sub task (among other sub tasks)?

#20 Updated by okurz 8 months ago

Please keep this ticket as the epic and create a new subtask even if the description is nearly identical to the current ticket.

#21 Updated by mkittler 8 months ago

  • Subject changed from [epic] Show job relations for parallel/children jobs also on the tests overview page /tests/overview (mainly for parallel jobs) to [epic] Improve displaying job dependencies
  • Description updated (diff)

#22 Updated by okurz 7 months ago

  • Status changed from Workable to Blocked

Discussed during weekly 2022-05-06 and decided that we want to do just one more thing in #110719 and then call the epic resolved. I reviewed all the mentioned ideas and I guess it's ok like that :)

#23 Updated by mkittler 7 months ago

  • Status changed from Blocked to Resolved

Resolving because all sub tasks have been resolved. I hope these improvements should be good enough for now.

Also available in: Atom PDF