Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package openQA for openSUSE:Factory checked 
in at 2026-10-20 12:42:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openQA (Old)
 and      /work/SRC/openSUSE:Factory/.openQA.new.3698736 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "openQA"

Tue Oct 20 12:42:39 2026 rev:894 rq:1386373 version:5.1792422872.0ae0959e

Changes:
--------
--- /work/SRC/openSUSE:Factory/openQA/openQA.changes    2026-10-18 
19:26:10.098897017 +0200
+++ /work/SRC/openSUSE:Factory/.openQA.new.3698736/openQA.changes       
2026-10-20 12:42:55.502047218 +0200
@@ -1,0 +2,21 @@
+Mon Oct 19 15:14:50 UTC 2026 - [email protected]
+
+- Update to version 5.1792422872.0ae0959e:
+  * chore(deps-dev): bump acorn from 8.16.0 to 8.19.0 (#7983)
+  * fix(ui): Apply dark theme to text-bg-light badges
+  * fix(ui): Apply dark theme to btn-light buttons
+  * fix(worker): use 0-based tap index in OVS health check
+  * fix(ui): Improve dark theme contrast in a few places
+  * ci(mergify): support opt-out labels for extended tests
+  * test: speed up t/25-cache-service.t
+  * fix(deps): align MCP version requirement
+  * feat(docs): Improve openqa-cli documentation
+  * test: Ensure the `relevantfilter` is in the right state
+
+-------------------------------------------------------------------
+Sun Oct 18 11:38:21 UTC 2026 - [email protected]
+
+- Update to version 5.1792323491.fd999d95:
+  * feat(container): Install swtpm in the worker image
+
+-------------------------------------------------------------------

Old:
----
  openQA-5.1792312714.72310e70.obscpio

New:
----
  openQA-5.1792422872.0ae0959e.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ openQA-client-test.spec ++++++
--- /var/tmp/diff_new_pack.EN7Uv6/_old  2026-10-20 12:42:58.530173897 +0200
+++ /var/tmp/diff_new_pack.EN7Uv6/_new  2026-10-20 12:42:58.532173981 +0200
@@ -18,7 +18,7 @@
 
 %define         short_name openQA-client
 Name:           %{short_name}-test
-Version:        5.1792312714.72310e70
+Version:        5.1792422872.0ae0959e
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ openQA-test.spec ++++++
--- /var/tmp/diff_new_pack.EN7Uv6/_old  2026-10-20 12:42:58.580175989 +0200
+++ /var/tmp/diff_new_pack.EN7Uv6/_new  2026-10-20 12:42:58.582176072 +0200
@@ -18,7 +18,7 @@
 
 %define         short_name openQA
 Name:           %{short_name}-test
-Version:        5.1792312714.72310e70
+Version:        5.1792422872.0ae0959e
 Release:        0
 Summary:        Test package for openQA
 License:        GPL-2.0-or-later

++++++ openQA-worker-test.spec ++++++
--- /var/tmp/diff_new_pack.EN7Uv6/_old  2026-10-20 12:42:58.656179168 +0200
+++ /var/tmp/diff_new_pack.EN7Uv6/_new  2026-10-20 12:42:58.661179377 +0200
@@ -18,7 +18,7 @@
 
 %define         short_name openQA-worker
 Name:           %{short_name}-test
-Version:        5.1792312714.72310e70
+Version:        5.1792422872.0ae0959e
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ openQA.spec ++++++
--- /var/tmp/diff_new_pack.EN7Uv6/_old  2026-10-20 12:42:58.708181344 +0200
+++ /var/tmp/diff_new_pack.EN7Uv6/_new  2026-10-20 12:42:58.712181511 +0200
@@ -73,7 +73,7 @@
 # The following line is generated from dependencies.yaml
 %define worker_requires bsdtar openQA-client optipng os-autoinst 
perl(Capture::Tiny) perl(File::Map) perl(Minion::Backend::SQLite) >= 5.0.7 
perl(Mojo::IOLoop::ReadWriteProcess) >= 0.26 perl(Mojo::SQLite) psmisc sqlite3 
>= 3.24.0
 # The following line is generated from dependencies.yaml
-%define mcp_requires perl(MCP) >= 0.80.0
+%define mcp_requires perl(MCP) >= 0.15.0
 %if 0%{?suse_version} < 1570
 # SLE <= 15 has older Perl not providing a sufficiently recent
 # ExtUtils::ParseXS needed by ExtUtils::CppGuess
@@ -104,7 +104,7 @@
 %define devel_requires %devel_no_selenium_requires chromedriver
 
 Name:           openQA
-Version:        5.1792312714.72310e70
+Version:        5.1792422872.0ae0959e
 Release:        0
 Summary:        Framework for automated system-level testing (web-frontend, 
scheduler and tools)
 Group:          Development/Tools/Other

++++++ node_modules.obscpio ++++++
Binary files old/acorn-8.16.0.tgz and new/acorn-8.16.0.tgz differ
Binary files old/acorn-8.19.0.tgz and new/acorn-8.19.0.tgz differ

++++++ node_modules.spec.inc ++++++
--- /var/tmp/diff_new_pack.EN7Uv6/_old  2026-10-20 12:42:59.722223765 +0200
+++ /var/tmp/diff_new_pack.EN7Uv6/_new  2026-10-20 12:42:59.726223932 +0200
@@ -36,7 +36,7 @@
 Source1035:         
https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz#/@types-estree-1.0.9.tgz
 Source1036:         
https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz#/@types-json-schema-7.0.15.tgz
 Source1037:         
https://registry.npmjs.org/ace-builds/-/ace-builds-1.43.6.tgz#/ace-builds-1.43.6.tgz
-Source1038:         
https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz#/acorn-8.16.0.tgz
+Source1038:         
https://registry.npmjs.org/acorn/-/acorn-8.19.0.tgz#/acorn-8.19.0.tgz
 Source1039:         
https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz#/acorn-jsx-5.3.2.tgz
 Source1040:         
https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz#/ajv-6.14.0.tgz
 Source1041:         
https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz#/ajv-8.18.0.tgz

++++++ openQA-5.1792312714.72310e70.obscpio -> 
openQA-5.1792422872.0ae0959e.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1792312714.72310e70/.mergify.yml 
new/openQA-5.1792422872.0ae0959e/.mergify.yml
--- old/openQA-5.1792312714.72310e70/.mergify.yml       2026-10-18 
10:38:34.000000000 +0200
+++ new/openQA-5.1792422872.0ae0959e/.mergify.yml       2026-10-19 
17:14:32.000000000 +0200
@@ -2,28 +2,31 @@
   - name: automatic merge
     conditions:
       - and: &base_checks
-          - base=master
-          - -label~=^acceptance-tests-needed|not-ready
-          # wait explicitly for one of the final checks to show up to be on the
-          # safe side even in case of checks not reporting back at all
-          - status-success=codecov/project
-          - status-success=codecov/patch
+          - and: &core_checks
+              - base=master
+              - -label~=^acceptance-tests-needed|not-ready
+              # wait explicitly for one of the final checks to show up to be 
on the
+              # safe side even in case of checks not reporting back at all
+              - status-success=codecov/project
+              - status-success=codecov/patch
+              - status-success=static-check-containers
+              - status-success=webui-docker-compose
+              - '#check-failure=0'
+              - linear-history
           # Multibuild results will not report the "pending" status:
           # 
https://openbuildservice.org/help/manuals/obs-user-guide/cha.obs.scm_ci_workflow_integration.html#sec.obs.obs_scm_ci_workflow_integration.setup.status_reporting
           # "unresolvable" is not reported in general:
           # 
https://trello.com/c/0N3jHq5M/2257-report-back-to-scm-when-build-results-arent-failed-and-succeeded
           # So we need to require the number of tests explicitly:
-          - "#check-success>=39"
-          - status-success=static-check-containers
-          - status-success=webui-docker-compose
-          - "#check-failure=0"
-          - "#check-pending=0"
-          - linear-history
+          - '#check-success>=39'
+          - status-success=openqa-in-openqa-tests
+          - '#check-pending=0'
       - and:
-          - "#approved-reviews-by>=2"
-          - "#changes-requested-reviews-by=0"
+          - '#approved-reviews-by>=2'
+          - '#changes-requested-reviews-by=0'
           # 
https://doc.mergify.io/examples.html#require-all-requested-reviews-to-be-approved
-          - "#review-requested=0"
+          - '#review-requested=0'
+          - -label~=^merge-skip-|merge-fast
     actions: &merge
       merge:
         method: merge
@@ -31,6 +34,26 @@
     conditions:
       - and: *base_checks
       - label=merge-fast
+      - -label~=^merge-skip-
+    actions: *merge
+  - name: automatic merge on merge-skip-oqa-in-oqa-tests
+    conditions:
+      - and: *core_checks
+      - '#check-success>=39'
+      - label=merge-skip-oqa-in-oqa-tests
+      - -label=merge-skip-extended-tests
+    actions: *merge
+  - name: automatic merge on merge-skip-obs-tests
+    conditions:
+      - and: *core_checks
+      - status-success=openqa-in-openqa-tests
+      - label=merge-skip-obs-tests
+      - -label=merge-skip-extended-tests
+    actions: *merge
+  - name: automatic merge on merge-skip-extended-tests
+    conditions:
+      - and: *core_checks
+      - label=merge-skip-extended-tests
     actions: *merge
   - name: automatic merge for dependency bot updates
     conditions:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1792312714.72310e70/assets/stylesheets/dependency_graph.scss 
new/openQA-5.1792422872.0ae0959e/assets/stylesheets/dependency_graph.scss
--- old/openQA-5.1792312714.72310e70/assets/stylesheets/dependency_graph.scss   
2026-10-18 10:38:34.000000000 +0200
+++ new/openQA-5.1792422872.0ae0959e/assets/stylesheets/dependency_graph.scss   
2026-10-19 17:14:32.000000000 +0200
@@ -79,3 +79,34 @@
     }
   }
 }
+[data-bs-theme='dark'] #dependencygraph {
+  .node rect {
+    stroke: $default-font-color-dark;
+    fill: lighten($default-bg-color-dark, 8%);
+  }
+  .cluster rect {
+    fill: #0d2a38;
+  }
+  .edgePath path {
+    stroke: $default-font-color-dark;
+  }
+  marker path {
+    fill: $default-font-color-dark;
+    stroke: $default-font-color-dark;
+  }
+  table {
+    color: $default-font-color-dark;
+    tr {
+      border-color: $table-border-color-dark;
+      &.current {
+        border-color: $default-font-color-dark;
+        td:first-child {
+          background-color: #5c5a1a;
+        }
+      }
+    }
+    td:last-child {
+      background-color: lighten($default-bg-color-dark, 20%);
+    }
+  }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1792312714.72310e70/assets/stylesheets/forms.scss 
new/openQA-5.1792422872.0ae0959e/assets/stylesheets/forms.scss
--- old/openQA-5.1792312714.72310e70/assets/stylesheets/forms.scss      
2026-10-18 10:38:34.000000000 +0200
+++ new/openQA-5.1792422872.0ae0959e/assets/stylesheets/forms.scss      
2026-10-19 17:14:32.000000000 +0200
@@ -75,11 +75,23 @@
     }
   }
 }
-.darkmode {
-  .btn.btn-light {
-    background-color: #070605;
-    border-color: #070605;
-  }
+[data-bs-theme='dark'] .btn-light {
+  --bs-btn-color: #{$default-font-color-dark};
+  --bs-btn-bg: #{$btn-light-bg-dark};
+  --bs-btn-border-color: #{$btn-light-bg-dark};
+  --bs-btn-hover-color: #{$default-font-color-dark};
+  --bs-btn-hover-bg: #101010;
+  --bs-btn-hover-border-color: #101010;
+  --bs-btn-active-color: #{$default-font-color-dark};
+  --bs-btn-active-bg: #101010;
+  --bs-btn-active-border-color: #101010;
+  --bs-btn-disabled-color: #{$default-font-color-dark};
+  --bs-btn-disabled-bg: #{$btn-light-bg-dark};
+  --bs-btn-disabled-border-color: #{$btn-light-bg-dark};
+}
+[data-bs-theme='dark'] .text-bg-light {
+  background-color: $btn-light-bg-dark !important;
+  color: $default-font-color-dark !important;
 }
 
 // wells (used for comments)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1792312714.72310e70/assets/stylesheets/overall.scss 
new/openQA-5.1792422872.0ae0959e/assets/stylesheets/overall.scss
--- old/openQA-5.1792312714.72310e70/assets/stylesheets/overall.scss    
2026-10-18 10:38:34.000000000 +0200
+++ new/openQA-5.1792422872.0ae0959e/assets/stylesheets/overall.scss    
2026-10-19 17:14:32.000000000 +0200
@@ -246,6 +246,10 @@
 }
 
 // tooltips
+[data-bs-theme='dark'] .tooltip {
+  --bs-tooltip-bg: #{lighten($default-bg-color-dark, 20%)};
+  --bs-tooltip-color: #{$default-font-color-dark};
+}
 .tooltip .tooltip-inner {
   max-width: 400px;
   p {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1792312714.72310e70/assets/stylesheets/tables.scss 
new/openQA-5.1792422872.0ae0959e/assets/stylesheets/tables.scss
--- old/openQA-5.1792312714.72310e70/assets/stylesheets/tables.scss     
2026-10-18 10:38:34.000000000 +0200
+++ new/openQA-5.1792422872.0ae0959e/assets/stylesheets/tables.scss     
2026-10-19 17:14:32.000000000 +0200
@@ -127,8 +127,9 @@
     }
   }
 }
-[data-bs-theme='dark'] .failedmodule {
-  background: #8c2b2b;
+[data-bs-theme='dark'] table.overview .failedmodule {
+  background-color: #8c2b2b;
+  border-color: #b34a4a;
   color: #fff;
 }
 table.fixedheader {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1792312714.72310e70/container/worker/Dockerfile 
new/openQA-5.1792422872.0ae0959e/container/worker/Dockerfile
--- old/openQA-5.1792312714.72310e70/container/worker/Dockerfile        
2026-10-18 10:38:34.000000000 +0200
+++ new/openQA-5.1792422872.0ae0959e/container/worker/Dockerfile        
2026-10-19 17:14:32.000000000 +0200
@@ -22,6 +22,7 @@
     zypper in -yl kmod && \
     (zypper in -yl qemu-ovmf-x86_64 ||:) && \
     (zypper in -yl qemu-uefi-aarch64 ||:) && \
+    (zypper in -yl swtpm ||:) && \
     zypper clean && \
     mkdir -p /root/qemu
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1792312714.72310e70/cpanfile 
new/openQA-5.1792422872.0ae0959e/cpanfile
--- old/openQA-5.1792312714.72310e70/cpanfile   2026-10-18 10:38:34.000000000 
+0200
+++ new/openQA-5.1792422872.0ae0959e/cpanfile   2026-10-19 17:14:32.000000000 
+0200
@@ -53,7 +53,7 @@
 requires 'JavaScript::Minifier::XS', '>= 0.11';
 requires 'LWP::Protocol::https';
 requires 'LWP::UserAgent';
-requires 'MCP', '>= 0.80.0';
+requires 'MCP', '>= 0.15.0';
 requires 'Minion', '>= 10.25';
 requires 'Minion::Backend::SQLite', '>= 5.0.7';
 requires 'Module::Load::Conditional';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1792312714.72310e70/dependencies.yaml 
new/openQA-5.1792422872.0ae0959e/dependencies.yaml
--- old/openQA-5.1792312714.72310e70/dependencies.yaml  2026-10-18 
10:38:34.000000000 +0200
+++ new/openQA-5.1792422872.0ae0959e/dependencies.yaml  2026-10-19 
17:14:32.000000000 +0200
@@ -187,7 +187,7 @@
   psmisc:
 
 mcp_requires:
-  perl(MCP): '>= 0.80.0'
+  perl(MCP): '>= 0.15.0'
 
 test_requires:
   '%common_requires':
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1792312714.72310e70/dist/rpm/openQA.spec 
new/openQA-5.1792422872.0ae0959e/dist/rpm/openQA.spec
--- old/openQA-5.1792312714.72310e70/dist/rpm/openQA.spec       2026-10-18 
10:38:34.000000000 +0200
+++ new/openQA-5.1792422872.0ae0959e/dist/rpm/openQA.spec       2026-10-19 
17:14:32.000000000 +0200
@@ -73,7 +73,7 @@
 # The following line is generated from dependencies.yaml
 %define worker_requires bsdtar openQA-client optipng os-autoinst 
perl(Capture::Tiny) perl(File::Map) perl(Minion::Backend::SQLite) >= 5.0.7 
perl(Mojo::IOLoop::ReadWriteProcess) >= 0.26 perl(Mojo::SQLite) psmisc sqlite3 
>= 3.24.0
 # The following line is generated from dependencies.yaml
-%define mcp_requires perl(MCP) >= 0.80.0
+%define mcp_requires perl(MCP) >= 0.15.0
 %if 0%{?suse_version} < 1570
 # SLE <= 15 has older Perl not providing a sufficiently recent
 # ExtUtils::ParseXS needed by ExtUtils::CppGuess
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1792312714.72310e70/docs/Client.md 
new/openQA-5.1792422872.0ae0959e/docs/Client.md
--- old/openQA-5.1792312714.72310e70/docs/Client.md     2026-10-18 
10:38:34.000000000 +0200
+++ new/openQA-5.1792422872.0ae0959e/docs/Client.md     2026-10-19 
17:14:32.000000000 +0200
@@ -42,10 +42,11 @@
 
 The `api` subcommand is not the only one available and more will be added over
 time. To get a complete list of all currently available subcommands you can use
-the `--help` option.
+the `--help` option or `man`.
 
 ```sh
 openqa-cli --help
+man openqa-cli
 ```
 
 And each subcommand also contains descriptions for all its available options, 
as
@@ -55,6 +56,9 @@
 openqa-cli api --help
 ```
 
+See also the [online
+manpage](https://manpages.opensuse.org/Tumbleweed/openQA-client/openqa-cli.1).
+
 ## Authentication
 
 Not all REST endpoints are public, many will return a `403 Forbidden` error if
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1792312714.72310e70/docs/UsersGuide.md 
new/openQA-5.1792422872.0ae0959e/docs/UsersGuide.md
--- old/openQA-5.1792312714.72310e70/docs/UsersGuide.md 2026-10-18 
10:38:34.000000000 +0200
+++ new/openQA-5.1792422872.0ae0959e/docs/UsersGuide.md 2026-10-19 
17:14:32.000000000 +0200
@@ -1222,8 +1222,11 @@
 
 openQA includes a _client_ script which - depending on the distribution - is
 packaged independently to allow interfacing with an existing openQA instance
-without needing to install openQA itself. Call `openqa-cli --help` for help. 
The sub-commands provide further help, e.g. `openqa-cli api --help` contains
-a lot of examples.
+without needing to install openQA itself. Call `openqa-cli --help` or
+`man openqa-cli` for help, or view the [online
+manpage](https://manpages.opensuse.org/Tumbleweed/openQA-client/openqa-cli.1).
+The sub-commands provide further help, e.g. `openqa-cli api --help` contains a
+lot of examples.
 
 Shell completion for `bash` and `zsh` is available via the
 `openqa-client-bash-completion` and `openqa-client-zsh-completion` packages.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1792312714.72310e70/lib/OpenQA/Worker.pm 
new/openQA-5.1792422872.0ae0959e/lib/OpenQA/Worker.pm
--- old/openQA-5.1792312714.72310e70/lib/OpenQA/Worker.pm       2026-10-18 
10:38:34.000000000 +0200
+++ new/openQA-5.1792422872.0ae0959e/lib/OpenQA/Worker.pm       2026-10-19 
17:14:32.000000000 +0200
@@ -712,10 +712,10 @@
         return "D-Bus method '$name/switch' is not available" unless defined 
$switch;
         # check whether VLAN assignments work for required tap devices
         my $settings = $self->settings->global_settings;
-        my @devices = split /,/, $settings->{REQUIRED_TAP_DEVS} // ('tap' . 
$self->instance_number);
+        my @devices = split /,/, $settings->{REQUIRED_TAP_DEVS} // ('tap' . 
($self->instance_number - 1));
         for my $device (@devices) {
             my ($res, $msg) = $switch->set_vlan($device, 1);    # test set_vlan
-            return $msg if $res != 0;    # return e.g. "'tap1' is not 
connected to 'br1'" in case of improper setup
+            return $msg if $res != 0;    # return e.g. "'tap0' is not 
connected to 'br1'" in case of improper setup
             ($res, $msg) = $switch->unset_vlan($device, 1);    # clean 
temporarily VLAN assignment up
             return $msg if $res != 0;
         }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1792312714.72310e70/package-lock.json 
new/openQA-5.1792422872.0ae0959e/package-lock.json
--- old/openQA-5.1792312714.72310e70/package-lock.json  2026-10-18 
10:38:34.000000000 +0200
+++ new/openQA-5.1792422872.0ae0959e/package-lock.json  2026-10-19 
17:14:32.000000000 +0200
@@ -617,9 +617,9 @@
       "license": "BSD-3-Clause"
     },
     "node_modules/acorn": {
-      "version": "8.16.0",
-      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz";,
-      "integrity": 
"sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==",
+      "version": "8.19.0",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.19.0.tgz";,
+      "integrity": 
"sha512-oJlA3XiRm7Cyk6qFD2Jn8ak9B7jSy0qy00ADO3+8dpT0LSjFihQYv4C02LFCSYJV3Q37xYwwRy5m+IpIiUzqWw==",
       "dev": true,
       "license": "MIT",
       "bin": {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1792312714.72310e70/public/openqa-cli.yaml 
new/openQA-5.1792422872.0ae0959e/public/openqa-cli.yaml
--- old/openQA-5.1792312714.72310e70/public/openqa-cli.yaml     2026-10-18 
10:38:34.000000000 +0200
+++ new/openQA-5.1792422872.0ae0959e/public/openqa-cli.yaml     2026-10-19 
17:14:32.000000000 +0200
@@ -166,6 +166,14 @@
     options:
       - asset-size-limit|l=i   --Asset size limit in bytes
       - with-thumbnails|t      --Download thumbnails as well
+    parameters:
+      - name: job_id
+        summary: ID of the job to archive
+        required: true
+      - name: path
+        summary: Path to directory where to store files
+        type: file
+        required: true
 
   reservation:
     summary: Manage worker reservations
@@ -178,11 +186,21 @@
       - force|f                --Force reservation even if worker is already 
reserved
       - release|r              --Release an existing reservation
       - worker-host=s          --Reserve or release an entire worker host 
instead of individual WORKER_ID
+    parameters:
+      - name: worker_id
+        summary: ID (int) of worker
+        required: true
 
   schedule:
     summary: Schedules a set of jobs (via "isos post" creating a schedule 
product)
     description: |
       Usage: openqa-cli schedule [OPTIONS] DISTRI=… VERSION=… FLAVOR=… ARCH=… 
[ISO=… …]
+
+      Example:
+
+        openqa-cli schedule --o3 \
+          --param-file SCENARIO_DEFINITIONS_YAML=scenario-definitions.yaml \
+          DISTRI=openQA VERSION=Tumbleweed FLAVOR=dev ARCH=x86_64
     options:
       - *param_file
       - |
@@ -193,6 +211,9 @@
         follow|f          --Use the newest clone of each monitored job
       - &poll_intervall
         poll-interval|i=i --Specifies the poll interval used with --monitor
+    parameters:
+      - name: parameters
+        summary: Query parameters (DISTRI=… VERSION=… FLAVOR=… ARCH=… [ISO=… 
…])
 
   monitor:
     summary: Monitors a set of jobs
@@ -204,3 +225,7 @@
     options:
       - *poll_intervall
       - *follow
+    parameters:
+      - name: job_id
+        multiple: true
+        summary: Jobs to monitor
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1792312714.72310e70/t/24-worker-overall.t 
new/openQA-5.1792422872.0ae0959e/t/24-worker-overall.t
--- old/openQA-5.1792312714.72310e70/t/24-worker-overall.t      2026-10-18 
10:38:34.000000000 +0200
+++ new/openQA-5.1792422872.0ae0959e/t/24-worker-overall.t      2026-10-19 
17:14:32.000000000 +0200
@@ -725,22 +725,25 @@
           'returns error if switch object not available';
     };
 
-    my $fake_switch = Test::FakeDBusSwitch->new(set_vlan_result => [1, "'tap1' 
is not connected to 'br1'"]);
+    my $fake_switch = Test::FakeDBusSwitch->new(set_vlan_result => [1, "'tap0' 
is not connected to 'br1'"]);
     subtest 'set_vlan failure' => sub {
         $fake_service->mock_switch($fake_switch);
-        is $worker->ovs_dbus_service_error, "'tap1' is not connected to 
'br1'", 'returns error if set_vlan fails';
+        is $worker->ovs_dbus_service_error, "'tap0' is not connected to 
'br1'", 'returns error if set_vlan fails';
     };
 
     subtest 'unset_vlan failure' => sub {
         $fake_switch->set_vlan_result([0, '']);
-        $fake_switch->unset_vlan_result([1, "'tap1' could not be unset"]);
-        is $worker->ovs_dbus_service_error, "'tap1' could not be unset", 
'returns error if unset_vlan fails';
+        $fake_switch->unset_vlan_result([1, "'tap0' could not be unset"]);
+        is $worker->ovs_dbus_service_error, "'tap0' could not be unset", 
'returns error if unset_vlan fails';
     };
 
-    subtest 'custom REQUIRED_TAP_DEVS' => sub {
+    subtest 'default tap device and custom REQUIRED_TAP_DEVS' => sub {
         $fake_switch->unset_vlan_result([0, '']);
         my @checked_devices;
         $fake_switch->set_vlan_result(sub ($dev, $tag) { push 
@checked_devices, $dev; return (0, '') });
+        is $worker->ovs_dbus_service_error, undef, 'succeeds with default tap 
device';
+        is_deeply \@checked_devices, ['tap0'], 'instance 1 tests tap0 
(matching os-autoinst tapdev calculation)';
+        @checked_devices = ();
         $worker->settings->global_settings->{REQUIRED_TAP_DEVS} = 
'tap10,tap11';
         is $worker->ovs_dbus_service_error, undef, 'succeeds with custom 
REQUIRED_TAP_DEVS';
         is_deeply \@checked_devices, ['tap10', 'tap11'], 'tested specified 
required tap devices';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1792312714.72310e70/t/25-cache-service.t 
new/openQA-5.1792422872.0ae0959e/t/25-cache-service.t
--- old/openQA-5.1792312714.72310e70/t/25-cache-service.t       2026-10-18 
10:38:34.000000000 +0200
+++ new/openQA-5.1792422872.0ae0959e/t/25-cache-service.t       2026-10-19 
17:14:32.000000000 +0200
@@ -18,7 +18,8 @@
     $ENV{OPENQA_RSYNC_RETRY_PERIOD} = 0;
     $ENV{OPENQA_RSYNC_RETRIES} = 1;
     $ENV{OPENQA_METRICS_DOWNLOAD_SIZE} = 1024;
-    $ENV{OPENQA_TEST_WAIT_INTERVAL} = 0.05;
+    $ENV{OPENQA_TEST_WAIT_INTERVAL} = 0.01;
+    $ENV{OPENQA_MINION_DEQUEUE_TIMEOUT} = 0;
 
     $tempdir = tempdir;
     my $basedir = $tempdir->child('t', 'cache.d');
@@ -46,7 +47,7 @@
 use Mojo::IOLoop::ReadWriteProcess::Session 'session';
 use OpenQA::Test::Utils
   qw(fake_asset_server cache_minion_worker cache_worker_service 
wait_for_or_bail_out perform_minion_jobs wait_for);
-use OpenQA::Test::TimeLimit '90';
+use OpenQA::Test::TimeLimit '60';
 use Mojo::Util qw(md5_sum);
 use OpenQA::CacheService;
 use Test::MockModule;
@@ -79,10 +80,10 @@
     $sockets = OpenQA::Utils::reserve_ports([qw(webui cache_service)]);
     $host = make_access_url($sockets->{webui}->sockport);
     $cache_client = OpenQA::CacheService::Client->new;
-    
$server_instance->set_pipes(0)->separate_err(0)->blocking_stop(1)->channels(0)->restart;
-    
$cache_service->set_pipes(0)->separate_err(0)->blocking_stop(1)->channels(0)->restart;
+    
$server_instance->set_pipes(0)->separate_err(0)->blocking_stop(1)->channels(0)->start;
+    
$cache_service->set_pipes(0)->separate_err(0)->blocking_stop(1)->channels(0)->start;
     perform_minion_jobs($t->app->minion);
-    wait_for_or_bail_out { $cache_client->info->available } 'cache service', 
{interval => 0.5};
+    wait_for_or_bail_out { $cache_client->info->available } 'cache service';
 }
 
 sub test_default_usage ($id, $asset) {
@@ -306,7 +307,7 @@
     ok !$cache_client->info->available, 'Cache server is not available';
     OpenQA::Utils::reserve_ports([qw(cache_service)], force => 1);
     $cache_client = OpenQA::CacheService::Client->new;
-    $cache_service->restart;
+    $cache_service->start;
     perform_minion_jobs($t->app->minion);
     wait_for_or_bail_out { $cache_client->info->available } 'cache service';
     ok $cache_client->info->available, 'Cache server is available';
@@ -665,7 +666,7 @@
 };
 
 subtest 'OpenQA::CacheService::Task::Sync' => sub {
-    test_sync $_ for (1 .. 4);
+    test_sync $_ for (1 .. 2);
 
     subtest 'Sync to non-existent parent' => sub {
         my $from = tempdir;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1792312714.72310e70/t/lib/OpenQA/Test/Utils.pm 
new/openQA-5.1792422872.0ae0959e/t/lib/OpenQA/Test/Utils.pm
--- old/openQA-5.1792312714.72310e70/t/lib/OpenQA/Test/Utils.pm 2026-10-18 
10:38:34.000000000 +0200
+++ new/openQA-5.1792422872.0ae0959e/t/lib/OpenQA/Test/Utils.pm 2026-10-19 
17:14:32.000000000 +0200
@@ -94,7 +94,8 @@
             require OpenQA::CacheService;    # uncoverable statement
             local $ENV{MOJO_MODE} = 'test';    # uncoverable statement
             note('Starting cache minion worker');    # uncoverable statement
-            OpenQA::CacheService::run(qw(run --dequeue-timeout 1));    # 
uncoverable statement
+            my $dequeue_timeout = $ENV{OPENQA_MINION_DEQUEUE_TIMEOUT} // 1;    
# uncoverable statement
+            OpenQA::CacheService::run('run', '--dequeue-timeout', 
$dequeue_timeout);    # uncoverable statement
             note('Cache minion worker stopped');    # uncoverable statement
             Devel::Cover::report() if Devel::Cover->can('report');    # 
uncoverable statement
             _exit(0);    # uncoverable statement
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1792312714.72310e70/t/ui/01-list.t 
new/openQA-5.1792422872.0ae0959e/t/ui/01-list.t
--- old/openQA-5.1792312714.72310e70/t/ui/01-list.t     2026-10-18 
10:38:34.000000000 +0200
+++ new/openQA-5.1792422872.0ae0959e/t/ui/01-list.t     2026-10-19 
17:14:32.000000000 +0200
@@ -460,6 +460,7 @@
     $driver->find_element('#finished_jobs_result_filter_chosen 
.search-choice-close', 'css')->click();
     # enable filter via query parameter, this time disable relevantfilter
     $driver->get('/tests?resultfilter=Failed&foo=bar&resultfilter=Softfailed');
+    wait_for_ajax_and_animations(msg => 'tables loaded after reloading page 
with disabled relevantfilter');
     $driver->find_element_by_id('relevantfilter')->click();
     wait_for_ajax_and_animations();
     @jobs = map { $_->get_attribute('id') } @{$driver->find_elements('#results 
tbody tr', 'css')};

++++++ openQA.obsinfo ++++++
--- /var/tmp/diff_new_pack.EN7Uv6/_old  2026-10-20 12:43:11.036697095 +0200
+++ /var/tmp/diff_new_pack.EN7Uv6/_new  2026-10-20 12:43:11.041697304 +0200
@@ -1,5 +1,5 @@
 name: openQA
-version: 5.1792312714.72310e70
-mtime: 1792312714
-commit: 72310e703d70af8d354ed5a2dd79ebe963790455
+version: 5.1792422872.0ae0959e
+mtime: 1792422872
+commit: 0ae0959e946d6cd2ade2fae5258d7a83790d87f3
 

Reply via email to