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
- 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
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 over 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 about 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 about 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 about 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 <milestone_ref> 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 about 9 years ago
- Copied to action #11052: Extensions on build and job tagging added
Updated by okurz about 9 years ago
- Copied to deleted (action #11052: Extensions on build and job tagging)
Updated by okurz about 9 years ago
- Precedes action #11052: Extensions on build and job tagging added
Updated by okurz about 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 about 9 years ago
- Copied to action #11072: Always finish important builds added
Updated by okurz about 9 years ago
Documentation added to wiki: wiki#Build-tagging-and-keeping-important-builds
Updated by okurz about 9 years ago
- Status changed from Feedback to Resolved
PR merged and active on osd, e.g. see http://openqa.suse.de/group_overview/25