action #159171
closed
coordination #58184: [saga][epic][use case] full version control awareness within openQA
coordination #152847: [epic] version control awareness within openQA for test distributions
Create and maintain up to date version of test distri/needles for webui size:M
Added by dheidler 9 months ago.
Updated 8 months ago.
Category:
Feature requests
Description
Motivation¶
Consider transient openQA instances like openQA-single-instance-container but also new instances where we do not want to rely on admins to manually put stuff into /var/lib/openqa/share/tests. For those we want to ensure that openQA automatically clones git repos specified as part of tests but also keeps those working copies up to date.
Acceptance criteria¶
- AC1:
- Given CASEDIR has a git repo and /var/lib/openqa/share/tests does not already have the corresponding distri checked out
- When tests are created
- Then openQA clones the test repo
- AC2: Same as AC1 but for NEEDLE_DIR
- AC3:
- When new tests are created and repo already exists
- Then the git repo is updated
Suggestions¶
The following describes something like a TOFU approach, where the first CASEDIR/NEEDLE_DIR for a DISTRI
is deemed to be the authoritative one in the future.
- Blocks action #159174: Decrease load on remote git servers by not cloning CASEDIR/NEEDLE_DIR from every worker added
- Description updated (diff)
- Target version set to Tools - Next
- Parent task changed from #157273 to #152847
- Related to action #157273: Run os-autoinst-distri-openQA directly from git without anything related in /var/lib/openqa/share/tests - Follow-up with ideas not tried out in the spike solution #157270 size:M added
- Category set to Feature requests
- Assignee set to okurz
will need to think about this
- Assignee deleted (
okurz)
- Target version changed from Tools - Next to Ready
The initial clone as well as updating should be handled in asynchronous tasks like ..._URL asset downloading
- Subject changed from Create and maintain up to date version of test distri/needles for webui to Create and maintain up to date version of test distri/needles for webui size:M
- Description updated (diff)
- Status changed from New to Workable
- Priority changed from Normal to High
- Status changed from Workable to In Progress
- Assignee set to dheidler
- Due date set to 2024-05-15
Setting due date based on mean cycle time of SUSE QE Tools
- Description updated (diff)
- Description updated (diff)
As we already about this today I suggest we discuss the approach in a bit broader context. I think that we actually need to re-estimate and split the ticket
- Status changed from In Progress to Workable
how to detect if a given string is a branch name, a tag name or a commit in a remote repository:
# git ls-remote --symref https://github.com/openSUSE/opi guoyunhe-patch-1
# -> \srefs/heads/ -> branch
# git ls-remote --symref https://github.com/openSUSE/opi v5.0.0
# -> \srefs/tags/ -> tag -> git fetch --tags --force
# else refspec is commit
# -> git fetch --all
- Status changed from Workable to In Progress
I will fix the tests for the PR that only covers branches for now.
- Copied to action #160379: Support web UI checkouts of CASEDIR with a tag reference in a refspec added
- Copied to action #160382: Support web UI checkouts of CASEDIR with a specific commit specified in a refspec added
- Description updated (diff)
- Due date changed from 2024-05-15 to 2024-05-22
We discussed this yesterday and agreed to decrease the scope hence dheidler removed AC4 for now. With that bumping the due date a bit but I would still encourage better collaboration to bring this to completion soon.
- Status changed from In Progress to Feedback
- Due date changed from 2024-05-22 to 2024-05-24
PR approved but test failures and, as of right now, codecov being investigated. Hence bumping the due date carefully.
- Due date changed from 2024-05-24 to 2024-05-31
livdywan wrote in #note-24:
PR approved but test failures and, as of right now, codecov being investigated. Hence bumping the due date carefully.
[13:50:56] t/full-stack.t ......... 33/? # Unexpected Javascript console errors: [
# {
# level => "SEVERE",
# message => "http://localhost:9526/tests/Unable%20to%20read%20image:%20Can't%20open%20file%20%22/tmp/webui.worker-1.egZpq4BW/%22:%20No%20such%20file%20or%20directory%20at%20/home/squamata/project/lib/OpenQA/WebAPI/Controller/Running.pm%20line%20211. - Failed to load resource: the server responded with a status of 404 (Not Found)",
# source => "network",
# timestamp => 1716558871922,
# },
# ]
# full result panel contents:
# State: running, started less than a minute ago
#
# Scheduled product: job has not been created by posting an ISO
# Assigned worker: 26686ca7dff7:1
# Failed test 'Expected result not found'
# at /home/squamata/project/t/lib/OpenQA/Test/FullstackUtils.pm line 76.
# Failed test 'job 8 is incomplete'
# at t/full-stack.t line 418.
# 0
# Failed test 'reason for incomplete specified'
# at t/full-stack.t line 419.
# 'State: running, started less than a minute ago
#
# Scheduled product: job has not been created by posting an ISO
# Assigned worker: 26686ca7dff7:1'
# doesn't match '(?^u:Failed to download.*non-existent.qcow2)'
[...]
# Failed test 'Cache tests'
# at t/full-stack.t line 442.
findElement: no such element: Unable to locate element: {"method":"css selector","selector":".embedded-logfile"}
- Status changed from Feedback to Resolved
- Copied to action #161771: Create and maintain up to date version of test distri/needles for webui - take 2 size:M added
- Due date deleted (
2024-05-31)
- Related to action #164937: o3 logreport: warning: refname 'abc123...' is ambiguous size:S added
- Related to action #165866: Jobs stuck waiting on background tasks git_clone size:M added
Also available in: Atom
PDF