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-03-03 16:58:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openQA (Old)
 and      /work/SRC/openSUSE:Factory/.openQA.new.19136 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "openQA"

Mon Mar  3 16:58:04 2025 rev:677 rq:1249820 version:5.1741001706.950ead88

Changes:
--------
--- /work/SRC/openSUSE:Factory/openQA/openQA.changes    2025-03-01 
19:17:13.486767968 +0100
+++ /work/SRC/openSUSE:Factory/.openQA.new.19136/openQA.changes 2025-03-03 
16:58:08.772170454 +0100
@@ -1,0 +2,9 @@
+Mon Mar 03 13:11:56 UTC 2025 - ok...@suse.com
+
+- Update to version 5.1741001706.950ead88:
+  * Simplify WebSockets::Worker::Controller
+  * t: Avoid output in non-verbose mode
+  * Fix non-custom OAuth2 providers
+  * Use signatures in WebSockets/Controller/Worker.pm
+
+-------------------------------------------------------------------

Old:
----
  openQA-5.1740761651.192e0b4f.obscpio

New:
----
  openQA-5.1741001706.950ead88.obscpio

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

Other differences:
------------------
++++++ openQA-client-test.spec ++++++
--- /var/tmp/diff_new_pack.8TXBsS/_old  2025-03-03 16:58:09.992221428 +0100
+++ /var/tmp/diff_new_pack.8TXBsS/_new  2025-03-03 16:58:09.996221594 +0100
@@ -18,7 +18,7 @@
 
 %define         short_name openQA-client
 Name:           %{short_name}-test
-Version:        5.1740761651.192e0b4f
+Version:        5.1741001706.950ead88
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ openQA-devel-test.spec ++++++
--- /var/tmp/diff_new_pack.8TXBsS/_old  2025-03-03 16:58:10.032223098 +0100
+++ /var/tmp/diff_new_pack.8TXBsS/_new  2025-03-03 16:58:10.036223266 +0100
@@ -18,7 +18,7 @@
 
 %define         short_name openQA-devel
 Name:           %{short_name}-test
-Version:        5.1740761651.192e0b4f
+Version:        5.1741001706.950ead88
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ openQA-test.spec ++++++
--- /var/tmp/diff_new_pack.8TXBsS/_old  2025-03-03 16:58:10.060224269 +0100
+++ /var/tmp/diff_new_pack.8TXBsS/_new  2025-03-03 16:58:10.064224435 +0100
@@ -18,7 +18,7 @@
 
 %define         short_name openQA
 Name:           %{short_name}-test
-Version:        5.1740761651.192e0b4f
+Version:        5.1741001706.950ead88
 Release:        0
 Summary:        Test package for openQA
 License:        GPL-2.0-or-later

++++++ openQA-worker-test.spec ++++++
--- /var/tmp/diff_new_pack.8TXBsS/_old  2025-03-03 16:58:10.092225606 +0100
+++ /var/tmp/diff_new_pack.8TXBsS/_new  2025-03-03 16:58:10.096225772 +0100
@@ -18,7 +18,7 @@
 
 %define         short_name openQA-worker
 Name:           %{short_name}-test
-Version:        5.1740761651.192e0b4f
+Version:        5.1741001706.950ead88
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ openQA.spec ++++++
--- /var/tmp/diff_new_pack.8TXBsS/_old  2025-03-03 16:58:10.144227778 +0100
+++ /var/tmp/diff_new_pack.8TXBsS/_new  2025-03-03 16:58:10.148227945 +0100
@@ -90,7 +90,7 @@
 %define devel_requires %devel_no_selenium_requires chromedriver
 
 Name:           openQA
-Version:        5.1740761651.192e0b4f
+Version:        5.1741001706.950ead88
 Release:        0
 Summary:        The openQA web-frontend, scheduler and tools
 License:        GPL-2.0-or-later

++++++ openQA-5.1740761651.192e0b4f.obscpio -> 
openQA-5.1741001706.950ead88.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1740761651.192e0b4f/lib/OpenQA/WebAPI/Auth/OAuth2.pm 
new/openQA-5.1741001706.950ead88/lib/OpenQA/WebAPI/Auth/OAuth2.pm
--- old/openQA-5.1740761651.192e0b4f/lib/OpenQA/WebAPI/Auth/OAuth2.pm   
2025-02-28 17:54:11.000000000 +0100
+++ new/openQA-5.1741001706.950ead88/lib/OpenQA/WebAPI/Auth/OAuth2.pm   
2025-03-03 12:35:06.000000000 +0100
@@ -70,7 +70,7 @@
         return $controller->render(text => $msg, status => 403);    # return 
always 403 for consistency
     }
     my $details = $tx->res->json;
-    my $id_field = $provider_config->{id_from};
+    my $id_field = $provider_config->{id_from} // 'id';
     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));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1740761651.192e0b4f/lib/OpenQA/WebSockets/Controller/Worker.pm 
new/openQA-5.1741001706.950ead88/lib/OpenQA/WebSockets/Controller/Worker.pm
--- old/openQA-5.1740761651.192e0b4f/lib/OpenQA/WebSockets/Controller/Worker.pm 
2025-02-28 17:54:11.000000000 +0100
+++ new/openQA-5.1741001706.950ead88/lib/OpenQA/WebSockets/Controller/Worker.pm 
2025-03-03 12:35:06.000000000 +0100
@@ -2,7 +2,7 @@
 # SPDX-License-Identifier: GPL-2.0-or-later
 
 package OpenQA::WebSockets::Controller::Worker;
-use Mojo::Base 'Mojolicious::Controller';
+use Mojo::Base 'Mojolicious::Controller', -signatures;
 
 use DBIx::Class::Timestamps 'now';
 use OpenQA::Schema;
@@ -18,8 +18,7 @@
 
 use constant LOG_WORKER_STATUS_MESSAGES => 
$ENV{OPENQA_LOG_WORKER_STATUS_MESSAGES} // 0;
 
-sub ws {
-    my ($self) = @_;
+sub ws ($self) {
     my $status = $self->status;
 
     # add worker connection
@@ -34,8 +33,7 @@
     $self->tx->max_websocket_size(10485760);
 }
 
-sub _finish {
-    my ($self, $code, $reason) = @_;
+sub _finish ($self, $code, $reason) {
     return undef unless $self;
 
     my $worker = 
OpenQA::WebSockets::Model::Status->singleton->remove_worker_connection($self->tx);
@@ -51,9 +49,7 @@
     #       is lost unexpectedly. It will be considered offline after the 
configured timeout expires.
 }
 
-sub _message {
-    my ($self, $json) = @_;
-
+sub _message ($self, $json) {
     my $app = $self->app;
     my $schema = $app->schema;
     my $tx = $self->tx;
@@ -161,68 +157,54 @@
         $worker_status->{last_seen} = $now;
 
         my $workers = $schema->resultset('Workers');
-        my $worker = $workers->find($worker_id);
+        return undef unless my $worker = $workers->find($worker_id);
 
         # log that we 'saw' the worker
-        if ($worker) {
-            try {
-                log_debug("Updating seen of worker $worker_id from 
worker_status ($current_worker_status)");
-                $worker->seen({error => $current_worker_error});
+        try {
+            log_debug("Updating seen of worker $worker_id from worker_status 
($current_worker_status)");
+            $worker->seen({error => $current_worker_error});
 
-                # Tell the worker that we saw it (used for tests and debugging)
-                $tx->send({json => {type => 'info', seen => 1}});
-            }
-            catch {
-                log_error("Failed updating seen and error status of worker 
$worker_id: $_");    # uncoverable statement
-            };
+            # Tell the worker that we saw it (used for tests and debugging)
+            $tx->send({json => {type => 'info', seen => 1}});
         }
+        catch {
+            log_error("Failed updating seen and error status of worker 
$worker_id: $_");    # uncoverable statement
+        };
 
         # find the job currently associated with that worker and check whether 
the worker still
         # executes the job it is supposed to
-        my $current_job_id;
+        my @unfinished_jobs = $worker->unfinished_jobs;
+        my $current_job = $worker->job // $unfinished_jobs[0]
+          or return undef;
+        my $current_job_id = $current_job->id;
+        my $current_job_state = $current_job->state;
+
+        log_trace("Found job $current_job_id in DB from worker_status update 
sent by worker $worker_id");
+        log_trace("Received request has job id: $job_id") if defined $job_id;
+        my $registered_job_token = $worker->get_property('JOBTOKEN');
+        log_trace("Worker $worker_id for job $current_job_id has token 
$registered_job_token")
+          if defined $registered_job_token;
+        log_trace("Received request has token: $job_token") if defined 
$job_token;
+
+        # skip any further actions if worker just does the one job we expected 
it to do
+        return undef
+          if ( defined $job_id
+            && defined $job_token
+            && defined $registered_job_token
+            && $job_id eq $current_job_id
+            && (my $job_token_correct = $job_token eq $registered_job_token)
+            && OpenQA::Jobs::Constants::meta_state($current_job_state) eq 
OpenQA::Jobs::Constants::EXECUTION)
+          && (scalar @unfinished_jobs <= 1);
         try {
-            return undef unless $worker;
-
-            my $registered_job_token;
-            my $current_job_state;
-            my @unfinished_jobs = $worker->unfinished_jobs;
-            my $current_job = $worker->job // $unfinished_jobs[0];
-            if ($current_job) {
-                $current_job_id = $current_job->id;
-                $current_job_state = $current_job->state;
-            }
-
-            # log debugging info
-            log_trace("Found job $current_job_id in DB from worker_status 
update sent by worker $worker_id")
-              if defined $current_job_id;
-            log_trace("Received request has job id: $job_id")
-              if defined $job_id;
-            $registered_job_token = $worker->get_property('JOBTOKEN');
-            log_trace("Worker $worker_id for job $current_job_id has token 
$registered_job_token")
-              if defined $current_job_id && defined $registered_job_token;
-            log_trace("Received request has token: $job_token")
-              if defined $job_token;
-
-            # skip any further actions if worker just does the one job we 
expected it to do
-            return undef
-              if ( defined $job_id
-                && defined $current_job_id
-                && defined $job_token
-                && defined $registered_job_token
-                && $job_id eq $current_job_id
-                && (my $job_token_correct = $job_token eq 
$registered_job_token)
-                && OpenQA::Jobs::Constants::meta_state($current_job_state) eq 
OpenQA::Jobs::Constants::EXECUTION)
-              && (scalar @unfinished_jobs <= 1);
-
             # give worker a second chance to process the job assignment
             # possible situation on the worker: The worker might be sending a 
status update claiming it is
             # idle (or has doing that task piled up on the event loop). At the 
same time a job arrives. The
             # message regarding that job will be processed after sending the 
idle status. So let's give the
-            # worker another change to process the message about its assigned 
job.
-            return undef unless $worker_previously_idle;
-
-            log_debug("Rescheduling jobs assigned to worker $worker_id");
-            $worker->reschedule_assigned_jobs([$current_job, 
@unfinished_jobs]);
+            # worker another chance to process the message about its assigned 
job.
+            if ($worker_previously_idle) {
+                log_debug("Rescheduling jobs assigned to worker $worker_id");
+                $worker->reschedule_assigned_jobs([$current_job, 
@unfinished_jobs]);
+            }
         }
         catch {
             # uncoverable statement
@@ -230,8 +212,7 @@
         };
 
         # consider the worker idle unless it claims to be broken or work on a 
job
-        $worker_status->{idle_despite_job_assignment}
-          = !$worker_is_broken && !defined $job_id && defined $current_job_id;
+        $worker_status->{idle_despite_job_assignment} = !$worker_is_broken && 
!defined $job_id;
     }
     else {
         log_error(sprintf('Received unknown message type "%s" from worker %u', 
$message_type, $worker_status->{id}));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1740761651.192e0b4f/t/05-scheduler-restart-and-duplicate.t 
new/openQA-5.1741001706.950ead88/t/05-scheduler-restart-and-duplicate.t
--- old/openQA-5.1740761651.192e0b4f/t/05-scheduler-restart-and-duplicate.t     
2025-02-28 17:54:11.000000000 +0100
+++ new/openQA-5.1741001706.950ead88/t/05-scheduler-restart-and-duplicate.t     
2025-03-03 12:35:06.000000000 +0100
@@ -304,7 +304,7 @@
     my $res = $root_1->auto_duplicate;
     is ref $res, 'OpenQA::Schema::Result::Jobs', 'no error when duplicating 
root1' or always_explain $res;
     my $cloned = $res->{cluster_cloned};
-    always_explain $cloned;
+    explain $cloned;
     my @should_have_been_cloned = ($root_1, $parallel_parent, $parallel_child, 
$nested_chained_child);
     my @should_not_have_been_cloned = ($root_2, $chained_child);
     ok exists $cloned->{$_->id}, $_->TEST . ' has been cloned' for 
@should_have_been_cloned;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1740761651.192e0b4f/t/api/09-comments.t 
new/openQA-5.1741001706.950ead88/t/api/09-comments.t
--- old/openQA-5.1740761651.192e0b4f/t/api/09-comments.t        2025-02-28 
17:54:11.000000000 +0100
+++ new/openQA-5.1741001706.950ead88/t/api/09-comments.t        2025-03-03 
12:35:06.000000000 +0100
@@ -182,7 +182,7 @@
     $t->get_ok('/api/v1/jobs/99981/comments?limit=10', 'query with exceeding 
user-specified limit for comments')
       ->status_is(200);
     my $jobs = $t->tx->res->json;
-    always_explain $jobs;
+    explain $jobs;
     is ref $jobs, 'ARRAY', 'data returned (1)' and is scalar @$jobs, 5, 
'maximum limit for comments is effective';
 
     $t->get_ok('/api/v1/jobs/99981/comments?limit=3', 'query with exceeding 
user-specified limit for comments')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1740761651.192e0b4f/t/deploy.t 
new/openQA-5.1741001706.950ead88/t/deploy.t
--- old/openQA-5.1740761651.192e0b4f/t/deploy.t 2025-02-28 17:54:11.000000000 
+0100
+++ new/openQA-5.1741001706.950ead88/t/deploy.t 2025-03-03 12:35:06.000000000 
+0100
@@ -10,6 +10,7 @@
 
 use Test::Warnings ':report_warnings';
 use Test::Mojo;
+use Test::Output qw(stderr_like);
 use Mojo::File 'tempdir';
 use DBIx::Class::DeploymentHandler;
 use SQL::Translator;
@@ -74,7 +75,8 @@
 
 ok($dh->version_storage->database_version, 'DB deployed');
 is($dh->version_storage->database_version, 
$oldest_still_supported_schema_version, 'Schema at correct, old, version');
-$ret = $schema->deploy;
+stderr_like { $ret = $schema->deploy }
+qr{Job IDs will be converted to bigint.*Worker database IDs.*Further database 
IDs}s, 'Expected warnings are logged';
 
 # insert default fixtures so this test is at least a little bit closer to 
migrations in production
 OpenQA::Test::Database->new->insert_fixtures($schema);

++++++ openQA.obsinfo ++++++
--- /var/tmp/diff_new_pack.8TXBsS/_old  2025-03-03 16:58:30.537079792 +0100
+++ /var/tmp/diff_new_pack.8TXBsS/_new  2025-03-03 16:58:30.541079959 +0100
@@ -1,5 +1,5 @@
 name: openQA
-version: 5.1740761651.192e0b4f
-mtime: 1740761651
-commit: 192e0b4f22a5eec459b2dcdff30093e514aceec3
+version: 5.1741001706.950ead88
+mtime: 1741001706
+commit: 950ead88dab172d5830008628c1cf49c15693bb2
 

Reply via email to