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-21 20:57:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openQA (Old)
 and      /work/SRC/openSUSE:Factory/.openQA.new.2252680 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "openQA"

Wed Oct 21 20:57:25 2026 rev:895 rq:1386665 version:5.1792527840.d945a1a7

Changes:
--------
--- /work/SRC/openSUSE:Factory/openQA/openQA.changes    2026-10-20 
12:42:55.502047218 +0200
+++ /work/SRC/openSUSE:Factory/.openQA.new.2252680/openQA.changes       
2026-10-21 20:59:06.752070671 +0200
@@ -1,0 +2,16 @@
+Tue Oct 20 20:24:14 UTC 2026 - [email protected]
+
+- Update to version 5.1792527840.d945a1a7:
+  * docs: document OVS worker health check and REQUIRED_TAP_DEVS
+  * chore(deps): bump the all-actions group with 3 updates (#7987)
+  * chore(deps-dev): bump globals from 17.4.0 to 17.13.0 (#7986)
+  * chore(deps-dev): bump postcss from 8.5.23 to 8.5.31 (#7984)
+  * feat: Extend auto_clone_regex to cover OVS DBus.Error.NoReply failures
+  * fix(mergify): ignore openqa-in-openqa checks
+  * Revert "fix(deps): align MCP version requirement"
+  * chore(deps): Dependency cron 2026-10-20
+  * fix(worker): honour TAPDEV and NICOFFSET in OVS health check
+  * chore(deps-dev): bump postcss-safe-parser from 7.0.1 to 7.1.0
+  * feat: mark deleted needle in collapsed needle selector
+
+-------------------------------------------------------------------

Old:
----
  openQA-5.1792422872.0ae0959e.obscpio

New:
----
  openQA-5.1792527840.d945a1a7.obscpio

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

Other differences:
------------------
++++++ openQA-client-test.spec ++++++
--- /var/tmp/diff_new_pack.61MRg0/_old  2026-10-21 20:59:08.912161228 +0200
+++ /var/tmp/diff_new_pack.61MRg0/_new  2026-10-21 20:59:08.914161312 +0200
@@ -18,7 +18,7 @@
 
 %define         short_name openQA-client
 Name:           %{short_name}-test
-Version:        5.1792422872.0ae0959e
+Version:        5.1792527840.d945a1a7
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ openQA-test.spec ++++++
--- /var/tmp/diff_new_pack.61MRg0/_old  2026-10-21 20:59:08.939162360 +0200
+++ /var/tmp/diff_new_pack.61MRg0/_new  2026-10-21 20:59:08.941162444 +0200
@@ -18,7 +18,7 @@
 
 %define         short_name openQA
 Name:           %{short_name}-test
-Version:        5.1792422872.0ae0959e
+Version:        5.1792527840.d945a1a7
 Release:        0
 Summary:        Test package for openQA
 License:        GPL-2.0-or-later

++++++ openQA-worker-test.spec ++++++
--- /var/tmp/diff_new_pack.61MRg0/_old  2026-10-21 20:59:08.985164289 +0200
+++ /var/tmp/diff_new_pack.61MRg0/_new  2026-10-21 20:59:08.986164331 +0200
@@ -18,7 +18,7 @@
 
 %define         short_name openQA-worker
 Name:           %{short_name}-test
-Version:        5.1792422872.0ae0959e
+Version:        5.1792527840.d945a1a7
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ openQA.spec ++++++
--- /var/tmp/diff_new_pack.61MRg0/_old  2026-10-21 20:59:09.021165798 +0200
+++ /var/tmp/diff_new_pack.61MRg0/_new  2026-10-21 20:59:09.023165882 +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.15.0
+%define mcp_requires perl(MCP) >= 0.80.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.1792422872.0ae0959e
+Version:        5.1792527840.d945a1a7
 Release:        0
 Summary:        Framework for automated system-level testing (web-frontend, 
scheduler and tools)
 Group:          Development/Tools/Other

++++++ node_modules.obscpio ++++++
Binary files old/globals-17.13.0.tgz and new/globals-17.13.0.tgz differ
Binary files old/globals-17.4.0.tgz and new/globals-17.4.0.tgz differ
Binary files old/postcss-8.5.23.tgz and new/postcss-8.5.23.tgz differ
Binary files old/postcss-8.5.30.tgz and new/postcss-8.5.30.tgz differ
Binary files old/postcss-safe-parser-7.0.1.tgz and 
new/postcss-safe-parser-7.0.1.tgz differ
Binary files old/postcss-safe-parser-7.1.0.tgz and 
new/postcss-safe-parser-7.1.0.tgz differ

++++++ node_modules.spec.inc ++++++
--- /var/tmp/diff_new_pack.61MRg0/_old  2026-10-21 20:59:09.730195523 +0200
+++ /var/tmp/diff_new_pack.61MRg0/_new  2026-10-21 20:59:09.734195690 +0200
@@ -135,7 +135,7 @@
 Source1134:         
https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz#/glob-parent-6.0.2.tgz
 Source1135:         
https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz#/global-modules-2.0.0.tgz
 Source1136:         
https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz#/global-prefix-3.0.0.tgz
-Source1137:         
https://registry.npmjs.org/globals/-/globals-17.4.0.tgz#/globals-17.4.0.tgz
+Source1137:         
https://registry.npmjs.org/globals/-/globals-17.13.0.tgz#/globals-17.13.0.tgz
 Source1138:         
https://registry.npmjs.org/globby/-/globby-16.2.4.tgz#/globby-16.2.4.tgz
 Source1139:         
https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz#/globjoin-0.1.4.tgz
 Source1140:         
https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz#/graphlib-2.1.8.tgz
@@ -198,10 +198,10 @@
 Source1197:         
https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz#/path-key-3.1.1.tgz
 Source1198:         
https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz#/picocolors-1.1.1.tgz
 Source1199:         
https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz#/picomatch-2.3.2.tgz
-Source1200:         
https://registry.npmjs.org/postcss/-/postcss-8.5.23.tgz#/postcss-8.5.23.tgz
+Source1200:         
https://registry.npmjs.org/postcss/-/postcss-8.5.30.tgz#/postcss-8.5.30.tgz
 Source1201:         
https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz#/postcss-media-query-parser-0.2.3.tgz
 Source1202:         
https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.6.tgz#/postcss-resolve-nested-selector-0.1.6.tgz
-Source1203:         
https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz#/postcss-safe-parser-7.0.1.tgz
+Source1203:         
https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.1.0.tgz#/postcss-safe-parser-7.1.0.tgz
 Source1204:         
https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.9.tgz#/postcss-scss-4.0.9.tgz
 Source1205:         
https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.6.tgz#/postcss-selector-parser-7.1.6.tgz
 Source1206:         
https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#/postcss-value-parser-4.2.0.tgz

++++++ openQA-5.1792422872.0ae0959e.obscpio -> 
openQA-5.1792527840.d945a1a7.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1792422872.0ae0959e/.github/workflows/check-helm-chart.yml 
new/openQA-5.1792527840.d945a1a7/.github/workflows/check-helm-chart.yml
--- old/openQA-5.1792422872.0ae0959e/.github/workflows/check-helm-chart.yml     
2026-10-19 17:14:32.000000000 +0200
+++ new/openQA-5.1792527840.d945a1a7/.github/workflows/check-helm-chart.yml     
2026-10-20 22:24:00.000000000 +0200
@@ -22,7 +22,7 @@
           python-version: 3.13
 
       - name: Set up chart-testing
-        uses: 
helm/chart-testing-action@6ec842c01de15ebb84c8627d2744a0c2f2755c9f  # v2
+        uses: 
helm/chart-testing-action@720270857a28afd41e2426521a7801db09e9b510  # v2.9.0
 
       - name: Run chart-testing
         run: make test-helm-lint
@@ -53,7 +53,7 @@
           chmod +x /usr/local/bin/retry
 
       - name: Set up chart-testing
-        uses: 
helm/chart-testing-action@6ec842c01de15ebb84c8627d2744a0c2f2755c9f  # v2
+        uses: 
helm/chart-testing-action@720270857a28afd41e2426521a7801db09e9b510  # v2.9.0
 
       - name: Create kind cluster
         uses: helm/kind-action@1544676c07bb3570fcb70166beaa07c4528fd4aa  # 
v1.15.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1792422872.0ae0959e/.github/workflows/javascript.yml 
new/openQA-5.1792527840.d945a1a7/.github/workflows/javascript.yml
--- old/openQA-5.1792422872.0ae0959e/.github/workflows/javascript.yml   
2026-10-19 17:14:32.000000000 +0200
+++ new/openQA-5.1792527840.d945a1a7/.github/workflows/javascript.yml   
2026-10-20 22:24:00.000000000 +0200
@@ -16,7 +16,7 @@
     steps:
       - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1  # 
v7.0.1
       - name: Setup Node (version ${{ matrix.node-version }})
-        uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020  # 
v7.0.0
+        uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1  # 
v7.1.0
         with:
           node-version: ${{ matrix.node-version }}
       - name: npm clean-install
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1792422872.0ae0959e/.github/workflows/prove.yml 
new/openQA-5.1792527840.d945a1a7/.github/workflows/prove.yml
--- old/openQA-5.1792422872.0ae0959e/.github/workflows/prove.yml        
2026-10-19 17:14:32.000000000 +0200
+++ new/openQA-5.1792527840.d945a1a7/.github/workflows/prove.yml        
2026-10-20 22:24:00.000000000 +0200
@@ -32,7 +32,7 @@
         run: cover -write cover_db cover_db*
       - name: Generate coverage report
         run: make coverage-report-html
-      - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a 
 # v7.0.1
+      - uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 
 # v7.0.2
         with:
           name: Upload artifacts
           path: |
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1792422872.0ae0959e/.mergify.yml 
new/openQA-5.1792527840.d945a1a7/.mergify.yml
--- old/openQA-5.1792422872.0ae0959e/.mergify.yml       2026-10-19 
17:14:32.000000000 +0200
+++ new/openQA-5.1792527840.d945a1a7/.mergify.yml       2026-10-20 
22:24:00.000000000 +0200
@@ -19,7 +19,9 @@
           # 
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=openqa-in-openqa-tests
+          # the openQA-in-openQA checks are not configured yet, the PR adding 
them
+          # is still under discussion, see 
https://progress.opensuse.org/issues/208764
+          # - status-success=openqa-in-openqa-tests
           - '#check-pending=0'
       - and:
           - '#approved-reviews-by>=2'
@@ -46,7 +48,8 @@
   - name: automatic merge on merge-skip-obs-tests
     conditions:
       - and: *core_checks
-      - status-success=openqa-in-openqa-tests
+      # see comment about the openQA-in-openQA checks above
+      # - status-success=openqa-in-openqa-tests
       - label=merge-skip-obs-tests
       - -label=merge-skip-extended-tests
     actions: *merge
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1792422872.0ae0959e/cpanfile 
new/openQA-5.1792527840.d945a1a7/cpanfile
--- old/openQA-5.1792422872.0ae0959e/cpanfile   2026-10-19 17:14:32.000000000 
+0200
+++ new/openQA-5.1792527840.d945a1a7/cpanfile   2026-10-20 22:24:00.000000000 
+0200
@@ -53,7 +53,7 @@
 requires 'JavaScript::Minifier::XS', '>= 0.11';
 requires 'LWP::Protocol::https';
 requires 'LWP::UserAgent';
-requires 'MCP', '>= 0.15.0';
+requires 'MCP', '>= 0.80.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.1792422872.0ae0959e/dependencies.yaml 
new/openQA-5.1792527840.d945a1a7/dependencies.yaml
--- old/openQA-5.1792422872.0ae0959e/dependencies.yaml  2026-10-19 
17:14:32.000000000 +0200
+++ new/openQA-5.1792527840.d945a1a7/dependencies.yaml  2026-10-20 
22:24:00.000000000 +0200
@@ -187,7 +187,7 @@
   psmisc:
 
 mcp_requires:
-  perl(MCP): '>= 0.15.0'
+  perl(MCP): '>= 0.80.0'
 
 test_requires:
   '%common_requires':
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1792422872.0ae0959e/dist/rpm/openQA.spec 
new/openQA-5.1792527840.d945a1a7/dist/rpm/openQA.spec
--- old/openQA-5.1792422872.0ae0959e/dist/rpm/openQA.spec       2026-10-19 
17:14:32.000000000 +0200
+++ new/openQA-5.1792527840.d945a1a7/dist/rpm/openQA.spec       2026-10-20 
22:24:00.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.15.0
+%define mcp_requires perl(MCP) >= 0.80.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.1792422872.0ae0959e/docs/Networking.md 
new/openQA-5.1792527840.d945a1a7/docs/Networking.md
--- old/openQA-5.1792422872.0ae0959e/docs/Networking.md 2026-10-19 
17:14:32.000000000 +0200
+++ new/openQA-5.1792527840.d945a1a7/docs/Networking.md 2026-10-20 
22:24:00.000000000 +0200
@@ -195,6 +195,14 @@
 > worker instances. For example, if you have set up 3 worker instances, the 
 > same
 > number of tap devices should be configured.
 
+While idle, each worker instance with the `tap` worker class checks via
+os-autoinst-openvswitch whether VLAN tags can be assigned to the tap devices it
+would use, as computed from `TAPDEV`, `NICOFFSET` and the instance number. If
+the check fails, the worker is reported as broken. Set `REQUIRED_TAP_DEVS` to a
+comma-separated list (e.g. `REQUIRED_TAP_DEVS = tap0,tap64`) to check
+different devices instead, preferably in the section of the specific worker
+instance.
+
 Enable worker instances to be started on system boot:
 
 ```sh
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1792422872.0ae0959e/etc/openqa/openqa.ini 
new/openQA-5.1792527840.d945a1a7/etc/openqa/openqa.ini
--- old/openQA-5.1792422872.0ae0959e/etc/openqa/openqa.ini      2026-10-19 
17:14:32.000000000 +0200
+++ new/openQA-5.1792527840.d945a1a7/etc/openqa/openqa.ini      2026-10-20 
22:24:00.000000000 +0200
@@ -106,7 +106,7 @@
 
 ## Causes jobs reported as incomplete by the worker to be cloned automatically 
when the
 ## reason matches; set to 0 to disable
-#auto_clone_regex = ^(cache failure: |terminated prematurely: |api failure: 
Failed to register .* 503|backend died: .*VNC.*(timeout|timed out|refused)|QEMU 
terminated: Failed to allocate KVM HPT of order 25.* Cannot allocate 
memory|timeout: setup exceeded MAX_SETUP_TIME)
+#auto_clone_regex = ^(cache failure: |terminated prematurely: |api failure: 
Failed to register .* 503|backend died: .*VNC.*(timeout|timed out|refused)|QEMU 
terminated: Failed to allocate KVM HPT of order 25.* Cannot allocate 
memory|timeout: setup exceeded MAX_SETUP_TIME|backend died: Open vSwitch 
command .* failed: org\.freedesktop\.DBus\.Error\.NoReply)
 ## The maximum amount of times a job will be restarted if the auto_clone_regex 
matches
 #auto_clone_limit = 20
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1792422872.0ae0959e/lib/OpenQA/Setup.pm 
new/openQA-5.1792527840.d945a1a7/lib/OpenQA/Setup.pm
--- old/openQA-5.1792422872.0ae0959e/lib/OpenQA/Setup.pm        2026-10-19 
17:14:32.000000000 +0200
+++ new/openQA-5.1792527840.d945a1a7/lib/OpenQA/Setup.pm        2026-10-20 
22:24:00.000000000 +0200
@@ -147,7 +147,7 @@
             auto_duplicate_stale_jobs => 1,
             search_results_limit => 50000,
             auto_clone_regex =>
-'^(cache failure: |terminated prematurely: |api failure: Failed to register .* 
503|backend died: .*VNC.*(timeout|timed out|refused)|QEMU terminated: Failed to 
allocate KVM HPT of order 25.* Cannot allocate memory)',
+'^(cache failure: |terminated prematurely: |api failure: Failed to register .* 
503|backend died: .*VNC.*(timeout|timed out|refused)|QEMU terminated: Failed to 
allocate KVM HPT of order 25.* Cannot allocate memory|backend died: Open 
vSwitch command .* failed: org\.freedesktop\.DBus\.Error\.NoReply)',
             auto_clone_limit => 20,
             force_result_regex => '',
             parallel_children_collapsable_results => join(' ', OK_RESULTS),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1792422872.0ae0959e/lib/OpenQA/WebAPI/Controller/Step.pm 
new/openQA-5.1792527840.d945a1a7/lib/OpenQA/WebAPI/Controller/Step.pm
--- old/openQA-5.1792422872.0ae0959e/lib/OpenQA/WebAPI/Controller/Step.pm       
2026-10-19 17:14:32.000000000 +0200
+++ new/openQA-5.1792527840.d945a1a7/lib/OpenQA/WebAPI/Controller/Step.pm       
2026-10-20 22:24:00.000000000 +0200
@@ -513,7 +513,10 @@
         }
 
         # ensure we have a label assigned
-        $needle_info->{label} //= $needle_info->{avg_similarity} . '%: ' . 
$needle_info->{name};
+        $needle_info->{label}
+          //= $needle_info->{avg_similarity} . '%: '
+          . $needle_info->{name}
+          . ($needle_info->{deleted} ? ' (needle deleted)' : '');
 
         # add the needle info to tags ...
         for my $tag (@$tags) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1792422872.0ae0959e/lib/OpenQA/Worker.pm 
new/openQA-5.1792527840.d945a1a7/lib/OpenQA/Worker.pm
--- old/openQA-5.1792422872.0ae0959e/lib/OpenQA/Worker.pm       2026-10-19 
17:14:32.000000000 +0200
+++ new/openQA-5.1792527840.d945a1a7/lib/OpenQA/Worker.pm       2026-10-20 
22:24:00.000000000 +0200
@@ -712,7 +712,8 @@
         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 - 1));
+        my $required = $settings->{REQUIRED_TAP_DEVS};
+        my @devices = defined $required ? split(/\s*,\s*/, $required) : 
$self->_default_tap_devs;
         for my $device (@devices) {
             my ($res, $msg) = $switch->set_vlan($device, 1);    # test set_vlan
             return $msg if $res != 0;    # return e.g. "'tap0' is not 
connected to 'br1'" in case of improper setup
@@ -724,6 +725,15 @@
     catch ($e) { return "Unable to query D-Bus service '$name': $e" }
 }
 
+# mirrors the TAPDEV computation of os-autoinst's qemu backend
+sub _default_tap_devs ($self) {
+    my $settings = $self->settings->global_settings;
+    my @tapdevs = split /\s*,\s*/, $settings->{TAPDEV} || 'auto';
+    my $nic_offset = $settings->{NICOFFSET} // 64;
+    my $base = $self->instance_number - 1;
+    return map { $tapdevs[$_] eq 'auto' ? 'tap' . ($base + $_ * $nic_offset) : 
$tapdevs[$_] } 0 .. $#tapdevs;
+}
+
 # returns whether the worker is available and a reason
 # note: This is used to check certain error conditions *before* starting a job 
to prevent incompletes and
 #       being able to propagate the brokenness to the web UIs.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1792422872.0ae0959e/package-lock.json 
new/openQA-5.1792527840.d945a1a7/package-lock.json
--- old/openQA-5.1792422872.0ae0959e/package-lock.json  2026-10-19 
17:14:32.000000000 +0200
+++ new/openQA-5.1792527840.d945a1a7/package-lock.json  2026-10-20 
22:24:00.000000000 +0200
@@ -27,7 +27,7 @@
         "eslint": "^10.2.1",
         "eslint-config-prettier": "^10.1.8",
         "eslint-plugin-prettier": "^5.5.5",
-        "globals": "^17.4.0",
+        "globals": "^17.13.0",
         "prettier": "^3.9.6",
         "stylelint": "^17.14.1",
         "stylelint-config-standard-scss": "^17.0.0",
@@ -1860,9 +1860,9 @@
       }
     },
     "node_modules/globals": {
-      "version": "17.4.0",
-      "resolved": "https://registry.npmjs.org/globals/-/globals-17.4.0.tgz";,
-      "integrity": 
"sha512-hjrNztw/VajQwOLsMNT1cbJiH2muO3OROCHnbehc8eY5JyD2gqz4AcMHPqgaOR59DjgUjYAYLeH699g/eWi2jw==",
+      "version": "17.13.0",
+      "resolved": "https://registry.npmjs.org/globals/-/globals-17.13.0.tgz";,
+      "integrity": 
"sha512-RwMTC61u7hrG3ZJMkZQOK4JLJrKS8QtoTii63EmWvFXHqycY9FObBJQCbsLxSO8kjKhWE5kV1GC+Vb1g3RI0Zg==",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -2509,9 +2509,9 @@
       }
     },
     "node_modules/postcss": {
-      "version": "8.5.23",
-      "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.23.tgz";,
-      "integrity": 
"sha512-g50586zr4bZmwFiTlflMu8E0bDTb5I5gertgwAKmsdUlTQIhZtunzUlD1WSzwcVWPoAVpsrA6vlfCD7oXvRwgg==",
+      "version": "8.5.30",
+      "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.30.tgz";,
+      "integrity": 
"sha512-zkd+e9S1AQHhmaBKye9zlFHWjOwVgqXl1q3ECYy8561K7qxR2cREf/STLskulBFd78k6AOFeA+ff1TtEzk9bAA==",
       "dev": true,
       "funding": [
         {
@@ -2529,9 +2529,9 @@
       ],
       "license": "MIT",
       "dependencies": {
-        "nanoid": "^3.3.16",
+        "nanoid": "^3.3.20",
         "picocolors": "^1.1.1",
-        "source-map-js": "^1.2.1"
+        "source-map-js": "^1.2.2"
       },
       "engines": {
         "node": "^10 || ^12 || >=14"
@@ -2552,9 +2552,9 @@
       "license": "MIT"
     },
     "node_modules/postcss-safe-parser": {
-      "version": "7.0.1",
-      "resolved": 
"https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz";,
-      "integrity": 
"sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==",
+      "version": "7.1.0",
+      "resolved": 
"https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.1.0.tgz";,
+      "integrity": 
"sha512-1WzZxRLaAFwEh6Do+zyGpjWV3nGJNxxhuh7Ubu/q1ICImMgZJnLwhoaEpRbG4pJppp2Y1ncL9ffA2f+LhrefQg==",
       "dev": true,
       "funding": [
         {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1792422872.0ae0959e/package.json 
new/openQA-5.1792527840.d945a1a7/package.json
--- old/openQA-5.1792422872.0ae0959e/package.json       2026-10-19 
17:14:32.000000000 +0200
+++ new/openQA-5.1792527840.d945a1a7/package.json       2026-10-20 
22:24:00.000000000 +0200
@@ -17,7 +17,7 @@
     "eslint": "^10.2.1",
     "eslint-config-prettier": "^10.1.8",
     "eslint-plugin-prettier": "^5.5.5",
-    "globals": "^17.4.0",
+    "globals": "^17.13.0",
     "prettier": "^3.9.6",
     "stylelint": "^17.14.1",
     "stylelint-config-standard-scss": "^17.0.0",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1792422872.0ae0959e/t/24-worker-overall.t 
new/openQA-5.1792527840.d945a1a7/t/24-worker-overall.t
--- old/openQA-5.1792422872.0ae0959e/t/24-worker-overall.t      2026-10-19 
17:14:32.000000000 +0200
+++ new/openQA-5.1792527840.d945a1a7/t/24-worker-overall.t      2026-10-20 
22:24:00.000000000 +0200
@@ -749,6 +749,28 @@
         is_deeply \@checked_devices, ['tap10', 'tap11'], 'tested specified 
required tap devices';
         delete $worker->settings->global_settings->{REQUIRED_TAP_DEVS};
     };
+
+    subtest 'TAPDEV and NICOFFSET honoured like os-autoinst' => sub {
+        my @checked_devices;
+        $fake_switch->set_vlan_result(sub ($dev, $tag) { push 
@checked_devices, $dev; return (0, '') });
+        my $global_settings = $worker->settings->global_settings;
+        $global_settings->{TAPDEV} = 'tap42';
+        $worker->ovs_dbus_service_error;
+        is_deeply \@checked_devices, ['tap42'], 'explicit TAPDEV is tested';
+        @checked_devices = ();
+        $global_settings->{TAPDEV} = 'auto, tap7,auto';
+        $worker->ovs_dbus_service_error;
+        is_deeply \@checked_devices, [qw(tap0 tap7 tap128)], 'auto entries 
computed with default NICOFFSET';
+        @checked_devices = ();
+        $global_settings->{NICOFFSET} = 10;
+        $worker->ovs_dbus_service_error;
+        is_deeply \@checked_devices, [qw(tap0 tap7 tap20)], 'auto entries 
computed with custom NICOFFSET';
+        @checked_devices = ();
+        $global_settings->{REQUIRED_TAP_DEVS} = 'tap10';
+        $worker->ovs_dbus_service_error;
+        is_deeply \@checked_devices, ['tap10'], 'REQUIRED_TAP_DEVS takes 
precedence over TAPDEV';
+        delete $global_settings->@{qw(TAPDEV NICOFFSET REQUIRED_TAP_DEVS)};
+    };
 };
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1792422872.0ae0959e/t/27-errorpages.t 
new/openQA-5.1792527840.d945a1a7/t/27-errorpages.t
--- old/openQA-5.1792422872.0ae0959e/t/27-errorpages.t  2026-10-19 
17:14:32.000000000 +0200
+++ new/openQA-5.1792527840.d945a1a7/t/27-errorpages.t  2026-10-20 
22:24:00.000000000 +0200
@@ -48,8 +48,7 @@
     $t->get_ok("/tests/$existing_job/modules/installer_timezone/steps/1", 
{'X-Requested-With' => 'XMLHttpRequest'})
       ->status_is(200, 'step viewimg loads with needle present')
       ->content_like(qr/inst-timezone-text/, 'needle name is shown')
-      ->content_unlike(qr/<span class="badge bg-danger text-light 
ms-1">deleted<\/span>/,
-        'needle is not marked deleted')
+      ->content_unlike(qr/deleted/, 'needle is not marked deleted')
       ->content_like(qr/inst-timezone-text.*show-needle-info/s, 'needle info 
action icon is displayed');
 
     unlink $needle_path or die "Failed to remove needle: $!";
@@ -58,6 +57,8 @@
       ->status_is(200, 'step viewimg loads with deleted needle')
       ->content_like(qr/inst-timezone-text/, 'needle name is shown')
       ->content_like(qr/<span class="badge bg-danger text-light 
ms-1">deleted<\/span>/, 'needle is marked deleted')
+      ->content_like(qr/id="current_needle_label">\s*[^<]*inst-timezone-text 
\(needle deleted\)/,
+        'deleted needle is marked in collapsed selector label')
       ->content_unlike(qr/inst-timezone-text.*show-needle-info/s, 'needle info 
action icon is hidden');
     
$t->get_ok("/tests/$existing_job/modules/installer_timezone/steps/1/src")->status_is(200)
       ->content_type_is('text/html;charset=UTF-8');
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1792422872.0ae0959e/tools/ci/autoinst.sha 
new/openQA-5.1792527840.d945a1a7/tools/ci/autoinst.sha
--- old/openQA-5.1792422872.0ae0959e/tools/ci/autoinst.sha      2026-10-19 
17:14:32.000000000 +0200
+++ new/openQA-5.1792527840.d945a1a7/tools/ci/autoinst.sha      2026-10-20 
22:24:00.000000000 +0200
@@ -1 +1 @@
-5.044000-50bc19e891aec51e4f61cec73e78abb6b308ce4b
\ No newline at end of file
+5.044000-2bd94ba81d9b441255ddd19aad6368f900501724
\ No newline at end of file

++++++ openQA.obsinfo ++++++
--- /var/tmp/diff_new_pack.61MRg0/_old  2026-10-21 20:59:25.523857712 +0200
+++ /var/tmp/diff_new_pack.61MRg0/_new  2026-10-21 20:59:25.530858006 +0200
@@ -1,5 +1,5 @@
 name: openQA
-version: 5.1792422872.0ae0959e
-mtime: 1792422872
-commit: 0ae0959e946d6cd2ade2fae5258d7a83790d87f3
+version: 5.1792527840.d945a1a7
+mtime: 1792527840
+commit: d945a1a7467aaf6ac963b16bb77b4e53836bb996
 

Reply via email to