action #165683
closedcoordination #127031: [saga][epic] openQA for SUSE customers
coordination #127910: [epic] openQA in SLE modules
Current openQA+os-autoinst+dependencies in pure SLE size:M
0%
Description
This is a follow-up after #128318.
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 ;)
Acceptance criteria¶
- AC1: The packages os-autoinst and openQA have been submitted to SLE including their dependencies.
- AC2: At least some manual testing (but preferably openQA-in-openQA testing) has been done with os-autoinst and openQA packages on SLE.
Suggestions¶
- Use the test project
home:mkittler:branches:devel:openQA
that was setup as part of #128318 on OBS. Allqe-tools-team
members have a maintainer role there.- For remaining unresolved packages, see https://build.opensuse.org/project/monitor/home:mkittler:branches:devel:openQA?arch_x86_64=1&defaults=0&repo_15_7=1&unresolvable=1
- To test what adding/updating further packages brings, you can add them to
home:mkittler:branches:devel:openQA
using the following command:for p in … ; do osc branch openSUSE:Factory "$p" home:mkittler:branches:devel:openQA "$p"; done
- Read on the next section of this ticket description for what has already been done and what's still pending. It also contains concrete commands for SLE SP7 submissions.
- Note that submissions (as per the commands mentioned below) are staged by humans. So they will hopefully all go into the same staging project and we don't have to submit them in batches.
- Check the state of SRs mentioned in the next section. (At the time of writing this ticket they are not declined but only one of them was staged and none accepted.)
- Add openQA-in-openQA tests on OSD to run them under SLE.
- Submit request to https://build.suse.de/package/show/SUSE:SLE-15-SP4:GA/000product to define a new SLE module for openQA.
Packages that have been submitted and packages that still need to be submitted¶
The following commands have already been executed by me, so you can find the corresponding SRs on https://build.suse.de/project/requests/SUSE:SLE-15-SP7:GA (filtering by "mkittler"):
for package in perl-Test-DiagINC; do ibs sr --yes -m 'bugowner: group:qe-tools-team
Add/update package to be able to eventually submit openQA
This is the 2nd batch of packages after perl-PadWalker. All those packages should go into the same staging.
https://jira.suse.com/browse/PED-9876
further details: https://progress.opensuse.org/issues/165683' openSUSE.org:openSUSE:Factory "$package" SUSE:SLE-15-SP7:GA; done
for package in perl-Export-Attrs perl-UNIVERSAL-can perl-UNIVERSAL-isa perl-Test-Number-Delta; do ibs sr --yes -m 'bugowner: group:qe-tools-team
Add/update package to be able to eventually submit openQA
This is the 2nd batch of packages after perl-PadWalker. All those packages should go into the same staging.
https://jira.suse.com/browse/PED-9876
further details: https://progress.opensuse.org/issues/165683' openSUSE.org:openSUSE:Factory "$package" SUSE:SLE-15-SP7:GA; done
for package in sshpass xterm-console perl-Carp-Always perl-Cpanel-JSON-XS perl-File-Map perl-File-chdir perl-Test-Differences perl-SQL-SplitStatement perl-IPC-Run 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-CSS-Minifier-XS perl-JavaScript-Minifier-XS perl-Mojolicious-Plugin-AssetPack; do ibs sr --yes -m 'bugowner: group:qe-tools-team
Add/update package to be able to eventually submit openQA
This is the 3rd batch of packages. All those packages should go into the same staging.
https://jira.suse.com/browse/PED-9876
further details: https://progress.opensuse.org/issues/165683' openSUSE.org:openSUSE:Factory "$package" SUSE:SLE-15-SP7:GA; done
for package in perl-Test-MockModule; do ibs sr --yes -m 'bugowner: group:qe-tools-team
Update package as the new version contains bug fixes relevant to openQA
https://jira.suse.com/browse/PED-9876
further details: https://progress.opensuse.org/issues/165683' openSUSE.org:openSUSE:Factory "$package" SUSE:SLE-15-SP7:GA; done
for package in leptonica plantuml tesseract-ocr-traineddata tesseract-ocr; do ibs sr --yes -m 'bugowner: group:qe-tools-team
Add/update package to be able to eventually submit openQA with OCR support
This is an additional batch of packages for OCR support. All those packages should go into the same staging.
https://jira.suse.com/browse/PED-9876
further details: https://progress.opensuse.org/issues/165683' openSUSE.org:openSUSE:Factory "$package" SUSE:SLE-15-SP7:GA; done
for package in perl-Inline perl-Proc-ProcessTable perl-Inline-Python; do ibs sr --yes -m 'bugowner: group:qe-tools-team
Add/update package to be able to eventually submit openQA with Python support
This is an additional batch of packages for Python support. All those packages should go into the same staging.
https://jira.suse.com/browse/PED-9876
further details: https://progress.opensuse.org/issues/165683' openSUSE.org:openSUSE:Factory "$package" SUSE:SLE-15-SP7:GA; done
The following commands to submit further dependencies have not been executed yet because the list of packages is incomplete (see unresolved packages on https://build.opensuse.org/project/monitor/home:mkittler:branches:devel:openQA?arch_x86_64=1&defaults=0&repo_15_7=1&unresolvable=1):
for package in perl-Minion perl-Config-Tiny perl-Filesys-Df perl-CommonMark perl-DBIx-Class perl-DBIx-Class-DeploymentHandler perl-DBIx-Class-DynamicDefault perl-DBIx-Class-OptimisticLocking perl-DBIx-Class-Schema-Config perl-DateTime-Format-Pg perl-Mojo-Pg perl-Mojo-RabbitMQ-Client perl-Mojolicious-Plugin-OAuth2 perl-Net-OpenID-Consumer perl-Pod-POM perl-SQL-Translator perl-Sort-Versions perl-Time-modules perl-aliased optipng perl-Minion-Backend-SQLite perl-Mojo-SQLite perl-App-cpanminus perl-Selenium-Remote-Driver python-yamllint perl-Perl-Tidy perl-Code-TidyAll perl-Module-CPANfile perl-Template-Toolkit perl-Class-Accessor-Grouped perl-Class-C3-Componentised perl-Config-Any perl-Context-Preserve perl-Data-Dumper-Concise perl-Devel-GlobalDestruction perl-Hash-Merge perl-Moo perl-SQL-Abstract-Classic perl-Class-DBI perl-File-pushd perl-List-Compare perl-Log-Any perl-Specio-Library-Path-Tiny perl-Test-Class-Most perl-Time-Duration-Parse perl-lib-relative perl-Log-Contextual perl-Moose perl-MooseX-Role-Parameterized perl-Text-Brew perl-DBICx-TestDatabase perl-Cwd-Guard perl-Furl perl-JSON-XS perl-Sub-Retry perl-Test-Mock-Guard perl-Test-Requires-Git perl-JSON-MaybeXS perl-Package-Variant perl-AppConfig perl-Clone perl-Test-LWP-UserAgent perl-Test-LongString perl-Time-Duration perl-Git-Version-Compare perl-Class-Load perl-Safe-Isa perl-Test-Class perl-Test-Needs perl-MCE perl-Net-AMQP perl-SQL-Abstract perl-URI-db perl-Sub-Exporter perl-URI-Nested perl-Data-OptList perl-strictures perl-Import-Into perl-B-COW perl-Class-XSAccessor perl-Class-C3 perl-Class-Trigger perl-DBIx-ContextualFetch perl-Ima-DBI perl-UNIVERSAL-moniker perl-Algorithm-C3 perl-Config-INI perl-Class-Method-Modifiers perl-Role-Tiny perl-Sub-Quote perl-Mixin-Linewise perl-Clone-Choose perl-HTTP-Parser-XS perl-Class-Accessor-Lite perl-SQL-Abstract-Pg perl-Data-Tumbler perl-Test-WriteVariants perl-Test-Directory perl-Net-OpenID-Common perl-common-sense perl-Types-Serialiser perl-Crypt-DH-GMP perl-Class-Load-XS perl-Devel-OverloadInfo perl-CPAN-DistnameInfo perl-local-lib perl-Parse-PMFile perl-ExtUtils-MakeMaker-CPANfile perl-Module-Runtime-Conflicts; do ibs sr --yes -m 'bugowner: group:qe-tools-team
Add/update package to be able to eventually submit openQA
Those packages are required to run of openQA (and not just build it). All those packages should go into the same staging.
https://jira.suse.com/browse/PED-9876
further details: https://progress.opensuse.org/issues/165683' openSUSE.org:openSUSE:Factory "$package" SUSE:SLE-15-SP7:GA; done
for package in perl-Scalar-List-Utils; do ibs sr --yes -m 'bugowner: group:qe-tools-team
Add/update package to be able to eventually submit openQA
This package is submitted from devel:languages:perl and not from openSUSE:Factory because it is a core Perl module and in Tumbleweed provided by its newer Perl version (which is supposedly not possible to update on SLE).
https://jira.suse.com/browse/PED-9876
further details: https://progress.opensuse.org/issues/165683' openSUSE.org:devel:languages:perl "$package" SUSE:SLE-15-SP7:GA; done
for package in perl-Getopt-Long-Descriptive; do ibs sr --yes -m 'bugowner: group:qe-tools-team
Add/update package to be able to eventually submit openQA
This package is submitted from openSUSE.org:openSUSE:Backports:SLE-15-SP7 and not from openSUSE:Factory because the version from openSUSE:Factory would require a newer version of a Perl core module. For our purposes the version from backports will be fine so this is the easiest way.
https://jira.suse.com/browse/PED-9876
further details: https://progress.opensuse.org/issues/165683' openSUSE.org:openSUSE:Backports:SLE-15-SP7 "$package" SUSE:SLE-15-SP7:GA; done
for package in os-autoinst openQA; do ibs sr --yes -m 'bugowner: group:qe-tools-team
Add os-autoinst and openQA so SLE customers can setup their own openQA instances
https://jira.suse.com/browse/PED-9876
further details: https://progress.opensuse.org/issues/165683' openSUSE.org:openSUSE:Factory "$package" SUSE:SLE-15-SP7:GA; done
The list is almost complete, though. The only packages missing are due to unresolved problems mentioned in the next section.
Problems still to be solved¶
EDIT: I now fixed all of those problems mentioned below, see comments. The only caveat is that we won't support the -devel
packages but that is ok in my opinion.
The following packages have been excluded in the above commands:
ShellCheck shfmt perl-Perl-Critic perl-Perl-Critic-Community perl-Test-Perl-Critic perl-Devel-Cover-Report-Codecov
We might rather disable those tests instead of adding these dependencies because adding the dependencies entails adding many other dependencies, e.g. many Haskell and perl(PPI…
packages. Supposedly it is also ok to leave out those dependencies because they are only required for developer-facing tests.
The following dependencies are problematic because they are too old but are Perl core modules:
'perl(Getopt::Long) >= 2.550.0' # required by perl-Getopt-Long-Descriptive
'perl(List::Util) >= 1.56' # perl-Moose
We probably have to submit an older version of these dependencies or avoid them entirely.