Project

General

Profile

action #165683

Updated by mkittler 4 months ago

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. All `qe-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. 

 ## 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. 
 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. 
 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. 
 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 
 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. 
 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. 
 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-Getopt-Long-Descriptive 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-Config-INI-Reader 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; perl-ExtUtils-MakeMaker-CPANfile; 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 the testsuite of openQA itself and to run (and not just build) openQA. All those packages should go into the same staging. 
 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 
 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 
 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 
 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.

Back