action #9544
closedaction #10148: better notification and user feedback
Build Tagging
0%
Description
user stories¶
- As a QA SLE product manager I want to be able to review the results from older builds for documentation reasons like I am used to with testopia
- As an openQA instance administrator I want to keep complete results only for "important builds" available in the live instance of openQA to use only reasonable amount of disk space
acceptance criteria¶
- tagged builds have a special mark making them distinguishable from other builds (e.g. a star icon)
- tagged builds (along with all test results) are not deleted by tidy up scripts
tasks¶
tag icon on group overview on important build
- Given 'group_overview' page
- When user creates comment with
tag:<build_ref>:important
- Then on page 'group_overview' rendering icon is shown on
important
builds
mark build as non-important build
- Given a comment
tag:<build_ref>:important
exists on a job group comments - When user creates another comment with
tag:<build_ref>:-important
- Then on page 'group_overview' build
<build_ref>
is not shown asimportant
- Given a comment
no cleanup of important builds
- Given a comment
tag:<build_ref>:important
exists on a job group comments - When GRU cleanup task is run
- And job OR job_group OR asset linked to build which is marked as important by comment as above
- Then "important builds" are skipped from cleanup
- Given a comment
Optional¶
- save important flag in job groups table
- Given a logged user and on the group_overview page of any product
- When user creates comment with
tag:<build_ref>:important
- Then save flag
important
in database table job_groups
further explanation¶
We need to implement Build tagging so we can identify when product builds (and their test results) are important - betas, alphas, GMCs, etc
This needs to be shown on the Dashboard, as well as used by any tidy up scripts (we never want to delete any test results from tagged builds)
- Every job within a build should be considered important -> no need to distinguish last jobs and retries or similar
- No need to preserve the group overview as shown when the build was declared important -> no need to save information on "last jobs". Alternative approach to save this information: Save the rendered HTML page, e.g. could be saved as PDF/A and hashed
Updated by okurz about 9 years ago
Also, "important" builds should not be aborted during testing if a more recent (non-important) build shows up, e.g. triggered by maintenance update.
Updated by okurz almost 9 years ago
- Description updated (diff)
Two simple approaches of what I can think of:
- Just post the ISO with a non-number build start character so that we can distinguish and match on this, e.g. "Build0123" vs. "Buildalpha1" or "BuildGMC". If we only declare a build, e.g. "Build0234" as "alpha1" after testing in openQA I don't see a problem with copying the ISO once more with the new name
- We could tag a build using a comment on the group_overview page, e.g. "tag:Build0234:important", which could be read when just rendering the group overview page to also show this build even if it is older than the two weeks we use currently as a display limit
So what exactly where the user stories you had in mind when wishing for this feature? I am not sure we are on the same page here.
And where exactly are old screenshots cleaned up?
WDYT?
Updated by okurz almost 9 years ago
- Description updated (diff)
after discussion with RBrownSUSE.
Updated user stories in description.
okurz wrote:
- Just post the ISO with a non-number build start character …
Not a good idea as this would induce a high system load and long waiting time when turnaround time is crucial, e.g. imagine providing an "urgent fix" as "RCi+1", but openQA is busy re-iterating "RCi" which is equivalent to a previous build except for the changed name.
- We could tag a build using a comment on the group_overview page, e.g. "tag:Build0234:important", which could be read when just rendering the group overview page to also show this build even if it is older than the two weeks we use currently as a display limit
Should be a viable approach. openQA does not have a "build" as an object so we can not store any information on the build anyway. So I think it should be ok to store something in a job group or the comments within a job group.
And where exactly are old screenshots cleaned up?
I still can't find a good reference in code. I see "lib/OpenQA/WebAPI/Controller/Admin/Needle.pm::delete" but this should be called only from the UI and only delete needles.
What looks interesting is "lib/OpenQA/Schema/Result/JobModules.pm::save_details" which actually calls unlink($self->job->result_dir . "/" . $d->{screenshot}->{name});
So is this our "cleanup"? Although the name "save_details" might not be the best when it deletes stuff. It is acting on 'job->result_dir' so I assume it is not working in the testresults dir.
Updated by RBrownSUSE almost 9 years ago
I like the updated description with one caveat
tag:<build_ref>:important
does not include sufficient information
Would be nice to also include so we know WHY it is important ..was it an RC1, RC2, etc
Will be needed to be searched upon at some point I'm sure - we will want to be able to search for the RC1 results of a product retroactively
Updated by okurz almost 9 years ago
- Copied to action #11052: Extensions on build and job tagging added
Updated by okurz almost 9 years ago
- Copied to deleted (action #11052: Extensions on build and job tagging)
Updated by okurz almost 9 years ago
- Precedes action #11052: Extensions on build and job tagging added
Updated by okurz almost 9 years ago
- Status changed from New to Feedback
PR ready: openQA gh#591
The PR covers both US, both AC, the three mandatory tasks but not the optional one.
Also created another ticket #11052 for everything that is considered "out of scope" for the current feature request, e.g. other cool ideas to follow on.
Updated by okurz almost 9 years ago
- Copied to action #11072: Always finish important builds added
Updated by okurz almost 9 years ago
Documentation added to wiki: wiki#Build-tagging-and-keeping-important-builds
Updated by okurz over 8 years ago
- Status changed from Feedback to Resolved
PR merged and active on osd, e.g. see http://openqa.suse.de/group_overview/25