action #128318
opencoordination #127031: [saga][epic] openQA for SUSE customers
coordination #127910: [epic] openQA in SLE modules
[spike][timeboxed:20h] Current openQA+os-autoinst+dependencies in pure SLE size:M
Added by okurz over 1 year ago. Updated about 1 hour ago.
0%
Description
Motivation¶
As the parent project about QAaaS progresses we should assess our expected efforts and risks about "openQA in SLE" ASAP for further planning. As according to hsehic openQA needs to be provided from pure SLE, i.e. no PackageHub, we should try what we can achieve in this regard by submitting packages and seeing the effect of that. Maybe some submissions can be directly accepted, maybe some need special treatment. Maybe SLE release managers tell us what processes we need to follow, which bugzilla or Jira tickets we need to create first or which contracts to sign with blood ;)
Goal¶
- G1: All packages for current openQA+os-autoinst+dependencies have non-rejected (open or accepted) submit requests towards SLE
- G2: We know what process we need to follow to get openQA+os-autoinst+dependencies into SLE
Suggestions¶
- Identify all packages not yet in SLE: See the latest pipeline run within https://github.com/os-autoinst/scripts/actions/workflows/obs-list-dependencies.yml
- With a simple for-loop submit all packages from https://build.opensuse.org/project/show/devel:openQA:Leap:15.4 + https://build.opensuse.org/project/show/devel:openQA:tested (or openSUSE:Factory accordingly) to SLE (following https://en.opensuse.org/openSUSE:Maintenance_update_process)
- Make sure the source is openSUSE:Factory to improve chances requests will be accepted (devel:openQA could be seen as a list of relevant packages in that sense)
- React to comments/rejections in SRs accordingly
- List all unattended SRs, i.e. the ones that have open review but apparently after some day receive no update
- If you never worked with build.suse.de okurz suggests to use https://github.com/okurz/scripts/tree/master/isc
- Submit request to https://build.suse.de/package/show/SUSE:SLE-15-SP4:GA/000product to define a new SLE module for openQA
Updated by livdywan over 1 year ago
- Subject changed from [spike][timeboxed:20h] Current openQA+os-autoinst+dependencies in pure SLE to [spike][timeboxed:20h] Current openQA+os-autoinst+dependencies in pure SLE size:M
- Description updated (diff)
- Status changed from New to Workable
Updated by livdywan over 1 year ago
- Status changed from Workable to In Progress
- Assignee set to livdywan
okurz wrote:
- If you never worked with build.suse.de okurz suggests to use https://github.com/okurz/scripts/tree/master/isc
And now the link works :-D
osc -A obs mr openSUSE:Factory git-subrepo openSUSE:Backports:SLE-15-SP4:Update
Using target project 'openSUSE:Maintenance'. (release in 'openSUSE:Backports:SLE-15-SP4:Update')
Default log message was not changed. Press 'c' to continue. openSUSE:Backports:SLE-15-SP3:Update
a)bort, c)ontinue, e)dit: c
108333
This created https://build.opensuse.org/request/show/1083334 - there is no documented suggestion on the log message, so I'm guessing it should be left empty since I'm not making any changes? And presumably my request is mirrored on build.suse.de although I couldn't find it yet.
Updated by openqa_review over 1 year ago
- Due date set to 2023-05-12
Setting due date based on mean cycle time of SUSE QE Tools
Updated by livdywan over 1 year ago
cdywan wrote:
This created https://build.opensuse.org/request/show/1083334 - there is no documented suggestion on the log message, so I'm guessing it should be left empty since I'm not making any changes? And presumably my request is mirrored on build.suse.de although I couldn't find it yet.
I got a first approval so let's assume the workflow is correct.
Found at least one package perl-Compress-Raw-Zlib to be on devel:languages:perl. Unsure if this can be submitted as-is, I guess I'll try and find out.
Not submitting packages from https://build.opensuse.org/project/show/devel:openQA:tested yet since they presumably depend on the previous ones.
Updated by okurz over 1 year ago
cdywan wrote:
cdywan wrote:
This created https://build.opensuse.org/request/show/1083334 - there is no documented suggestion on the log message, so I'm guessing it should be left empty since I'm not making any changes? And presumably my request is mirrored on build.suse.de although I couldn't find it yet.
I got a first approval so let's assume the workflow is correct.
No, most likely not. You submitted to openSUSE:Backports:SLE-15-SP4:Update but there is nothing corresponding to that in SLE so this request will not be mirrored into IBS automatically.
Not submitting packages from https://build.opensuse.org/project/show/devel:openQA:tested yet since they presumably depend on the previous ones.
I guess you could try nevertheless to just "see what happens" :) Could be that we see actual build checks failing due to missing dependencies which would be good but maybe no failures would be visible so then we would know that as well and can plan accordingly.
Updated by livdywan over 1 year ago
- Status changed from In Progress to Feedback
okurz wrote:
No, most likely not. You submitted to openSUSE:Backports:SLE-15-SP4:Update but there is nothing corresponding to that in SLE so this request will not be mirrored into IBS automatically.
As just discussed on Jitsi we'll need to wait for the repo, ideally by Wednesday we'll know how to proceed.
Updated by okurz over 1 year ago
- Due date deleted (
2023-05-12) - Status changed from Feedback to New
- Assignee deleted (
livdywan) - Priority changed from Urgent to Low
- Target version changed from Ready to future
Hi,
Discussed this with Haris yesterday:
Until further notice till a decision was made regarding a SLE extension/module and all it's details we shall not submit new packages into SLE. However I'm preparation as well as to target current Leap+SLE users we should still aim to update existing packages so that known openQA issues in plain Leap and hence in SLE+packagehub are fixed. So expect further update requests in the near future for corresponding packages to their corresponding target projects.
Updated by okurz over 1 year ago
- Copied to action #128651: [spike][timeboxed:20h] Current openQA+os-autoinst+dependencies updated in SLE+packagehub size:M added
Updated by okurz 7 months ago
- Copied to action #154723: Complete list of openQA+os-autoinst+dependencies packages not currently in current SLE in development is known size:M added
Updated by ybonatakis 3 months ago
- Status changed from Workable to In Progress
- Assignee set to ybonatakis
Updated by openqa_review 3 months ago
- Due date set to 2024-06-12
Setting due date based on mean cycle time of SUSE QE Tools
Updated by ybonatakis 2 months ago
- Status changed from In Progress to Workable
I didnt go far as I had problem with my workstation which I was trying to solve since Friday.
Updated by okurz 2 months ago
- Due date set to 2024-06-19
- Status changed from Workable to In Progress
As SLE15SP6 turned gold it will be readonly. And probably SLE15SP7 has not yet been prepared yet but there must be some external issue that we can block on until SLE15SP7 is ready and then try again.
Updated by ybonatakis 2 months ago
- Status changed from In Progress to Workable
I asked in two channels about 15SP7. No reply. As I picked up another ticket I change the status to workable
Updated by livdywan 2 months ago
- Due date set to 2024-07-31
- Status changed from Blocked to Feedback
okurz wrote in #note-26:
I suggest to set the ticket to "feedback" and set as due date a sensible date when according to the schedule we can continue. What other ticket would that be "blocked" on?
Ack. I tried to find a ticket and drafted the comment in Blocked state.
Updated by okurz 21 days ago
- Due date deleted (
2024-07-31) - Status changed from Feedback to Workable
- Assignee deleted (
livdywan) - Priority changed from Low to Normal
- Target version changed from Tools - Next to Ready
https://build.suse.de/project/show/SUSE:SLE-15-SP7:GA exists and there are already some requests towards it: https://build.suse.de/project/requests/SUSE:SLE-15-SP7:GA . I guess now is a good time to continue.
Updated by mkittler about 22 hours ago
- Status changed from Workable to In Progress
- Assignee set to mkittler
Updated by mkittler about 22 hours ago · Edited
Judging by https://github.com/os-autoinst/scripts/actions/workflows/obs-list-dependencies.yml we still need:
- for os-autoinst: fonts-config qemu xterm xterm-console - However, I'm pretty sure that's wrong.
- for openQA: coreutils systemd - I'm stopping here. This list makes no sense. The entries with a
-
as version cannot mean the package is missing.
EDIT: Judging by the code of scripts/obs-check-package-origin
this script won't help us finding missing packages.
Updated by mkittler about 21 hours ago · Edited
I tried to change the script so it would output the names of packages that are actually missing but it isn't that simple.
So I just created a project on OBS with the SUSE:SLE-15-SP7:GA repo enabled: https://build.opensuse.org/project/show/home:mkittler:branches:devel:openQA
According to obs we need for os-autoinst: 'tesseract-ocr' 'tesseract-ocr-traineddata-english' 'perl(Carp::Always)' 'perl(Cpanel::JSON::XS)' 'perl(File::Map)' 'perl(File::Touch)' 'perl(File::chdir)' 'perl(IPC::Run::Debug)' 'perl(JSON::Validator)' 'perl(Mojo::IOLoop::ReadWriteProcess) >= 0.26' 'perl(Mojo::JSON)' 'perl(Mojo::Log)' 'perl(Mojo::URL)' 'perl(Mojo::UserAgent)' 'perl(Mojolicious) >= 9.340.0' 'perl(Mojolicious::Lite)' 'perl(Net::SSH2)' 'perl(Socket::MsgHdr)' 'perl(Time::Moment)' 'perl(XML::SemanticDiff)' 'perl(YAML::PP)' 'sshpass' 'perl(Test::Mock::Time)' 'perl(Test::MockObject)' 'perl(Test::MockRandom)' 'perl(Test::Mojo)' 'perl(Test::Output)' 'xterm-console' 'perl(Inline::Python)' 'perl(Mojo::IOLoop::ReadWriteProcess) >= 0.28'
And for openQA: 'perl(CSS::Minifier::XS) >= 0.01' 'perl(JavaScript::Minifier::XS) >= 0.11' 'perl(Mojolicious)' 'perl(Mojolicious::Plugin::AssetPack) >= 1.36' 'perl(YAML::PP) >= 0.026'
We can probably avoid tesseract by not providing OCR as this is rather experimental anyway.
I was able to turn that into a list of package names via the get_package_name
function from scripts/obs-check-package-origin
:
tesseract-ocr
tesseract-ocr-traineddata-english
perl-Carp-Always
perl-Cpanel-JSON-XS
perl-File-Map
perl-File-Touch
perl-File-chdir
perl-IPC-Run-Debug
perl-JSON-Validator
perl-Mojo-IOLoop-ReadWriteProcess
perl-Mojo-JSON
perl-Mojo-Log
perl-Mojo-URL
perl-Mojo-UserAgent
perl-Mojolicious
perl-Mojolicious-Lite
perl-Net-SSH2
perl-Socket-MsgHdr
perl-Time-Moment
perl-XML-SemanticDiff
perl-YAML-PP
sshpass
perl-Test-Mock-Time
perl-Test-MockObject
perl-Test-MockRandom
perl-Test-Mojo
perl-Test-Output
xterm-console
perl-Inline-Python
perl-Mojo-IOLoop-ReadWriteProcess
perl-CSS-Minifier-XS
perl-JavaScript-Minifier-XS
perl-Mojolicious
perl-Mojolicious-Plugin-AssetPack
perl-YAML-PP
This is still not a list of packages on OBS as it contains split packages. This is the list with just packages on OBS:
tesseract-ocr
tesseract-ocr-traineddata
sshpass
xterm-console
perl-Carp-Always
perl-Cpanel-JSON-XS
perl-File-Map
perl-File-Touch
perl-File-chdir
perl-IPC-Run3
perl-JSON-Validator
perl-Mojo-IOLoop-ReadWriteProcess
perl-Mojolicious
perl-Net-SSH2
perl-Socket-MsgHdr
perl-Time-Moment
perl-XML-SemanticDiff
perl-YAML-PP
perl-Test-Mock-Time
perl-Test-MockObject
perl-Test-MockRandom
perl-Test-Output
perl-Inline-Python
perl-CSS-Minifier-XS
perl-JavaScript-Minifier-XS
perl-Mojolicious-Plugin-AssetPack
Now I need to branch all those packages as well to see whether they in turn have unresolved dependencies:
for p in $( cat /hdd/tmp/missing-packages-2.txt ) ; do osc branch openSUSE:Factory "$p" home:mkittler:branches:devel:openQA "$p"; done
Updated by openqa_review about 8 hours ago
- Due date set to 2024-08-30
Setting due date based on mean cycle time of SUSE QE Tools
Updated by mkittler about 1 hour ago · Edited
The following unresolvable dependencies I'd ignore (making them conditional in our spec file): tesseract-ocr perl-Inline-Python
(Especially since this is timeboxed and submitting their whole dependency sub tree might be a rabbit whole to avoid for now.)
The following dependencies are very problematic because they need a newer version of a Perl core module: perl-File-Touch
EDIT: We can just get rid of the module: https://github.com/os-autoinst/os-autoinst/pull/2530
The following dependencies I'd submit: 'perl(Test::DiagINC) >= 0.002' 'perl(Export::Attrs)' 'perl(UNIVERSAL::can) >= 1.20110617' 'perl(UNIVERSAL::isa) >= 1.20110614' 'perl(Test::Number::Delta) >= 1.060000'
That would be the following list of packages:
perl-Test-DiagINC
perl-Export-Attrs
perl-UNIVERSAL-can
perl-UNIVERSAL-isa
perl-Test-Number-Delta
Now only one dependency is missing: perl(PadWalker)
List of packages:
perl-PadWalker