Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package openQA for openSUSE:Factory checked 
in at 2025-02-07 23:04:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openQA (Old)
 and      /work/SRC/openSUSE:Factory/.openQA.new.2316 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "openQA"

Fri Feb  7 23:04:16 2025 rev:669 rq:1244010 version:4.6.1738861231.e206546d

Changes:
--------
--- /work/SRC/openSUSE:Factory/openQA/openQA.changes    2025-02-06 
22:08:16.901179015 +0100
+++ /work/SRC/openSUSE:Factory/.openQA.new.2316/openQA.changes  2025-02-07 
23:10:01.961955539 +0100
@@ -1,0 +2,8 @@
+Thu Feb 06 21:13:03 UTC 2025 - ok...@suse.com
+
+- Update to version 4.6.1738861231.e206546d:
+  * Update default config with OAuth2 new "id_from" option
+  * Support OpenID Connect better in the OAuth2 'custom' provider
+  * Add SYNC_ASSETS_HOOK support
+
+-------------------------------------------------------------------

Old:
----
  openQA-4.6.1738778990.12e43905.obscpio

New:
----
  openQA-4.6.1738861231.e206546d.obscpio

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

Other differences:
------------------
++++++ openQA-client-test.spec ++++++
--- /var/tmp/diff_new_pack.XbCqrR/_old  2025-02-07 23:10:02.997998179 +0100
+++ /var/tmp/diff_new_pack.XbCqrR/_new  2025-02-07 23:10:03.001998343 +0100
@@ -18,7 +18,7 @@
 
 %define         short_name openQA-client
 Name:           %{short_name}-test
-Version:        4.6.1738778990.12e43905
+Version:        4.6.1738861231.e206546d
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ openQA-devel-test.spec ++++++
--- /var/tmp/diff_new_pack.XbCqrR/_old  2025-02-07 23:10:03.025999331 +0100
+++ /var/tmp/diff_new_pack.XbCqrR/_new  2025-02-07 23:10:03.025999331 +0100
@@ -18,7 +18,7 @@
 
 %define         short_name openQA-devel
 Name:           %{short_name}-test
-Version:        4.6.1738778990.12e43905
+Version:        4.6.1738861231.e206546d
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ openQA-test.spec ++++++
--- /var/tmp/diff_new_pack.XbCqrR/_old  2025-02-07 23:10:03.054000484 +0100
+++ /var/tmp/diff_new_pack.XbCqrR/_new  2025-02-07 23:10:03.054000484 +0100
@@ -18,7 +18,7 @@
 
 %define         short_name openQA
 Name:           %{short_name}-test
-Version:        4.6.1738778990.12e43905
+Version:        4.6.1738861231.e206546d
 Release:        0
 Summary:        Test package for openQA
 License:        GPL-2.0-or-later

++++++ openQA-worker-test.spec ++++++
--- /var/tmp/diff_new_pack.XbCqrR/_old  2025-02-07 23:10:03.078001471 +0100
+++ /var/tmp/diff_new_pack.XbCqrR/_new  2025-02-07 23:10:03.082001636 +0100
@@ -18,7 +18,7 @@
 
 %define         short_name openQA-worker
 Name:           %{short_name}-test
-Version:        4.6.1738778990.12e43905
+Version:        4.6.1738861231.e206546d
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ openQA.spec ++++++
--- /var/tmp/diff_new_pack.XbCqrR/_old  2025-02-07 23:10:03.106002624 +0100
+++ /var/tmp/diff_new_pack.XbCqrR/_new  2025-02-07 23:10:03.110002788 +0100
@@ -90,7 +90,7 @@
 %define devel_requires %devel_no_selenium_requires chromedriver
 
 Name:           openQA
-Version:        4.6.1738778990.12e43905
+Version:        4.6.1738861231.e206546d
 Release:        0
 Summary:        The openQA web-frontend, scheduler and tools
 License:        GPL-2.0-or-later

++++++ openQA-4.6.1738778990.12e43905.obscpio -> 
openQA-4.6.1738861231.e206546d.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-4.6.1738778990.12e43905/docs/Installing.asciidoc 
new/openQA-4.6.1738861231.e206546d/docs/Installing.asciidoc
--- old/openQA-4.6.1738778990.12e43905/docs/Installing.asciidoc 2025-02-05 
19:09:50.000000000 +0100
+++ new/openQA-4.6.1738861231.e206546d/docs/Installing.asciidoc 2025-02-06 
18:00:31.000000000 +0100
@@ -1049,6 +1049,27 @@
 systemctl enable --now rsyncd
 
--------------------------------------------------------------------------------
 
+=== Alternative caching implementations
+
+Caching described above works well for a single worker host, but in case of
+several hosts in a single site (that is remote from the main openQA webui
+instance) it results in downloading the same assets several times. In
+such case, one can setup local cache on their own (without using
+openqa-worker-cacheservice service) and share it with workers using
+some network filesystem (see <<Installing.asciidoc#Configuring remote workers>>
+section above).
+Such setups can use `SYNC_ASSETS_HOOK` in `/etc/openqa/workers.ini` to ensure
+the cache is up to date before starting the job (or resuming test in developer
+mode). The setting takes a shell command that is executed just before
+evaluating assets. It is up to the system administrator to decide what it
+should do, but there are few suggestions:
+
+* Call rsync, possibly via ssh on the cache host
+* Wait for a lock file signaling that cache download is in progress to 
disappear
+
+If the command exits with code 32, re-downloading needles in developer mode
+will be skipped.
+
 === Enable linking files referred by job settings
 
 Specific job settings might refer to files within the test distribution.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-4.6.1738778990.12e43905/etc/openqa/openqa.ini 
new/openQA-4.6.1738861231.e206546d/etc/openqa/openqa.ini
--- old/openQA-4.6.1738778990.12e43905/etc/openqa/openqa.ini    2025-02-05 
19:09:50.000000000 +0100
+++ new/openQA-4.6.1738861231.e206546d/etc/openqa/openqa.ini    2025-02-06 
18:00:31.000000000 +0100
@@ -148,7 +148,11 @@
 #user_url  = https://salsa.debian.org/api/v4/user
 #token_scope = read_user
 #token_label = Bearer
+#id_from = id
 #nickname_from = username
+#
+# The default value for `id_from` is "id" for backwards compatibility.
+# For OpenID Connect, the value should be "sub", following the OpenID Connect 
ID Token standard.
 
 [logging]
 ## logging is to stderr (so systemd journal) by default
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-4.6.1738778990.12e43905/lib/OpenQA/Setup.pm 
new/openQA-4.6.1738861231.e206546d/lib/OpenQA/Setup.pm
--- old/openQA-4.6.1738778990.12e43905/lib/OpenQA/Setup.pm      2025-02-05 
19:09:50.000000000 +0100
+++ new/openQA-4.6.1738861231.e206546d/lib/OpenQA/Setup.pm      2025-02-06 
18:00:31.000000000 +0100
@@ -96,6 +96,7 @@
             token_label => '',
             nickname_from => '',
             unique_name => '',
+            id_from => 'id',
         },
         hypnotoad => {
             listen => ['http://localhost:9526/'],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-4.6.1738778990.12e43905/lib/OpenQA/WebAPI/Auth/OAuth2.pm 
new/openQA-4.6.1738861231.e206546d/lib/OpenQA/WebAPI/Auth/OAuth2.pm
--- old/openQA-4.6.1738778990.12e43905/lib/OpenQA/WebAPI/Auth/OAuth2.pm 
2025-02-05 19:09:50.000000000 +0100
+++ new/openQA-4.6.1738861231.e206546d/lib/OpenQA/WebAPI/Auth/OAuth2.pm 
2025-02-06 18:00:31.000000000 +0100
@@ -44,6 +44,7 @@
                 user_url => $config->{user_url},
                 token_scope => $config->{token_scope},
                 token_label => $config->{token_label},
+                id_from => $config->{id_from},
                 nickname_from => $config->{nickname_from},
                 unique_name => $config->{unique_name},
             },
@@ -69,16 +70,18 @@
         return $controller->render(text => $msg, status => 403);    # return 
always 403 for consistency
     }
     my $details = $tx->res->json;
-    if (ref $details ne 'HASH' || !$details->{id} || 
!$details->{$provider_config->{nickname_from}}) {
+    my $id_field = $provider_config->{id_from};
+    my $nickname_field = $provider_config->{nickname_from};
+    if (ref $details ne 'HASH' || !$details->{$id_field} || 
!$details->{$nickname_field}) {
         log_debug('OAuth2 user provider returned: ' . dumper($details));
         return $controller->render(text => 'User data returned by OAuth2 
provider is insufficient', status => 403);
     }
     my $provider_name = $main_config->{provider};
     $provider_name = $provider_config->{unique_name} || $provider_name if 
$provider_name eq 'custom';
     my $user = $controller->schema->resultset('Users')->create_user(
-        $details->{id},
+        $details->{$id_field},
         provider => "oauth2\@$provider_name",
-        nickname => $details->{$provider_config->{nickname_from}},
+        nickname => $details->{$nickname_field},
         fullname => $details->{name},
         email => $details->{email});
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-4.6.1738778990.12e43905/lib/OpenQA/Worker/Engines/isotovideo.pm 
new/openQA-4.6.1738861231.e206546d/lib/OpenQA/Worker/Engines/isotovideo.pm
--- old/openQA-4.6.1738778990.12e43905/lib/OpenQA/Worker/Engines/isotovideo.pm  
2025-02-05 19:09:50.000000000 +0100
+++ new/openQA-4.6.1738861231.e206546d/lib/OpenQA/Worker/Engines/isotovideo.pm  
2025-02-06 18:00:31.000000000 +0100
@@ -326,6 +326,12 @@
 
     log_debug "Job settings:\n" . format_settings(\%vars);
 
+    # start pre-job hook if any
+    if ($job_settings->{SYNC_ASSETS_HOOK}) {
+        log_debug 'Running SYNC_ASSETS_HOOK';
+        system($job_settings->{SYNC_ASSETS_HOOK});
+    }
+
     # cache/locate assets, set ASSETDIR
     my $assetkeys = detect_asset_keys(\%vars);
     if (my $cache_dir = $global_settings->{CACHEDIRECTORY}) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-4.6.1738778990.12e43905/t/03-auth.t 
new/openQA-4.6.1738861231.e206546d/t/03-auth.t
--- old/openQA-4.6.1738778990.12e43905/t/03-auth.t      2025-02-05 
19:09:50.000000000 +0100
+++ new/openQA-4.6.1738861231.e206546d/t/03-auth.t      2025-02-06 
18:00:31.000000000 +0100
@@ -116,7 +116,7 @@
     $ua_mock->redefine(get => sub { shift; push @get_args, [@_]; $get_tx });
 
     my %main_cfg = (provider => 'custom');
-    my %provider_cfg = (user_url => 'http://does-not-exist', token_label => 
'bar', nickname_from => 'login');
+    my %provider_cfg = (user_url => 'http://does-not-exist', token_label => 
'bar', id_from => 'id', nickname_from => 'login');
     my %data = (access_token => 'some-token');
     my %expected_user = (username => 42, provider => 'oauth2@custom', nickname 
=> 'Demo');
     my $users = $t->app->schema->resultset('Users');
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-4.6.1738778990.12e43905/t/24-worker-engine.t 
new/openQA-4.6.1738861231.e206546d/t/24-worker-engine.t
--- old/openQA-4.6.1738778990.12e43905/t/24-worker-engine.t     2025-02-05 
19:09:50.000000000 +0100
+++ new/openQA-4.6.1738861231.e206546d/t/24-worker-engine.t     2025-02-06 
18:00:31.000000000 +0100
@@ -27,6 +27,7 @@
 use Mojo::File qw(path tempdir);
 use Mojo::JSON 'decode_json';
 use OpenQA::Utils qw(testcasedir productdir needledir locate_asset base_host);
+use Cwd qw(getcwd);
 
 # define fake packages for testing asset caching
 {
@@ -511,14 +512,18 @@
 };
 
 subtest 'link asset' => sub {
+    my $cwd = getcwd;
     my $pool_directory = tempdir('poolXXXX');
     my $worker = OpenQA::Test::FakeWorker->new(pool_directory => 
$pool_directory);
     my $client = Test::FakeClient->new;
+    # just in case cleanup the symlink to really check if it gets re-created
+    unlink 't/data/openqa/share/factory/hdd/symlink.qcow2' if -e 
't/data/openqa/share/factory/hdd/symlink.qcow2';
     my $settings = {
         JOBTOKEN => 'token000',
         ISO => 'openSUSE-13.1-DVD-x86_64-Build0091-Media.iso',
         HDD_1 => 'foo.qcow2',
         HDD_2 => 'symlink.qcow2',
+        SYNC_ASSETS_HOOK => "ln -s foo.qcow2 
$cwd/t/data/openqa/share/factory/hdd/symlink.qcow2"
     };
     my $job = OpenQA::Worker::Job->new($worker, $client, {id => 16, settings 
=> $settings});
     combined_like { my $result = _run_engine($job) }
@@ -537,6 +542,7 @@
     is $vars_data->{ISO}, 'openSUSE-13.1-DVD-x86_64-Build0091-Media.iso',
       'the value of ISO is basename when doing link';
     is $vars_data->{HDD_1}, 'foo.qcow2', 'the value of HDD_1 is basename when 
doing link';
+    unlink 't/data/openqa/share/factory/hdd/symlink.qcow2';
 };
 
 subtest 'using cgroupv2' => sub {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-4.6.1738778990.12e43905/t/config.t 
new/openQA-4.6.1738861231.e206546d/t/config.t
--- old/openQA-4.6.1738778990.12e43905/t/config.t       2025-02-05 
19:09:50.000000000 +0100
+++ new/openQA-4.6.1738861231.e206546d/t/config.t       2025-02-06 
18:00:31.000000000 +0100
@@ -87,6 +87,7 @@
             user_url => '',
             token_scope => '',
             token_label => '',
+            id_from => 'id',
             nickname_from => '',
             unique_name => '',
         },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-4.6.1738778990.12e43905/t/data/openqa/share/factory/hdd/symlink.qcow2
 
new/openQA-4.6.1738861231.e206546d/t/data/openqa/share/factory/hdd/symlink.qcow2
--- 
old/openQA-4.6.1738778990.12e43905/t/data/openqa/share/factory/hdd/symlink.qcow2
    2025-02-07 23:10:03.678026165 +0100
+++ 
new/openQA-4.6.1738861231.e206546d/t/data/openqa/share/factory/hdd/symlink.qcow2
    1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-symbolic link to foo.qcow2

++++++ openQA.obsinfo ++++++
--- /var/tmp/diff_new_pack.XbCqrR/_old  2025-02-07 23:10:14.978491247 +0100
+++ /var/tmp/diff_new_pack.XbCqrR/_new  2025-02-07 23:10:14.982491411 +0100
@@ -1,5 +1,5 @@
 name: openQA
-version: 4.6.1738778990.12e43905
-mtime: 1738778990
-commit: 12e4390545baed290ba52c681489cf42cf39ab5f
+version: 4.6.1738861231.e206546d
+mtime: 1738861231
+commit: e206546d4dd50fb5de9f801d1e155af03467b5ce
 

Reply via email to