From 6606ad8650b3ab089b1defd9d31b1412a2cba8a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tina=20M=C3=BCller?= Date: Tue, 27 Jun 2023 14:31:31 +0200 Subject: [PATCH] Use a unique template for worker tempdir It's easier to identify in case of problems. Issues: * https://progress.opensuse.org/issues/131465 * https://progress.opensuse.org/issues/131471 --- lib/OpenQA/Scheduler/Model/Jobs.pm | 4 +++- lib/OpenQA/Schema/Result/Jobs.pm | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/OpenQA/Scheduler/Model/Jobs.pm b/lib/OpenQA/Scheduler/Model/Jobs.pm index ce172712720..6efb1ccc429 100644 --- a/lib/OpenQA/Scheduler/Model/Jobs.pm +++ b/lib/OpenQA/Scheduler/Model/Jobs.pm @@ -458,7 +458,9 @@ sub _assign_multiple_jobs_to_worker ($self, $jobs, $worker, $directly_chained_jo if (my $tmpdir = $worker->get_property('WORKER_TMPDIR')) { File::Path::rmtree($tmpdir); } - my %worker_properties = (JOBTOKEN => random_string(), WORKER_TMPDIR => tempdir()); + my %worker_properties = ( + JOBTOKEN => random_string(), + WORKER_TMPDIR => tempdir(sprintf('webui.worker-%d.XXXXXXXX', $worker_id), TMPDIR => 1)); $worker->set_property(WORKER_TMPDIR => $worker_properties{WORKER_TMPDIR}); $job_data{$_->id} = $_->prepare_for_work($worker, \%worker_properties) for @$jobs; return OpenQA::WebSockets::Client->singleton->send_jobs(\%job_info); diff --git a/lib/OpenQA/Schema/Result/Jobs.pm b/lib/OpenQA/Schema/Result/Jobs.pm index b5de7ec7b5c..0b683910a7f 100644 --- a/lib/OpenQA/Schema/Result/Jobs.pm +++ b/lib/OpenQA/Schema/Result/Jobs.pm @@ -387,7 +387,7 @@ sub prepare_for_work ($self, $worker = undef, $worker_properties = {}) { if (my $tmpdir = $worker->get_property('WORKER_TMPDIR')) { File::Path::rmtree($tmpdir); } - $worker->set_property(WORKER_TMPDIR => tempdir()); + $worker->set_property(WORKER_TMPDIR => tempdir(sprintf('webui.worker-%d.XXXXXXXX', $worker->id), TMPDIR => 1)); } return $job_hashref; }