[pve-devel] [PATCH manager] fix #4521: api/tasks: replace upid as filename for task log downloads

Stefan Sterz s.sterz at proxmox.com
Thu Feb 9 12:43:14 CET 2023


previously the upid would just be used without a file extension when
downloading a task log. this lead to rather strange filenames that
appeared unfamiliar to users as the upid is not very prevalent in the
gui. set a proper file name based on the node name, worker type and a
time stamp instead. also add the ".log" file extension to indicate
that these files contain logs.

Signed-off-by: Stefan Sterz <s.sterz at proxmox.com>
---
 PVE/API2/Tasks.pm | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/PVE/API2/Tasks.pm b/PVE/API2/Tasks.pm
index 9c8de324..98cecf01 100644
--- a/PVE/API2/Tasks.pm
+++ b/PVE/API2/Tasks.pm
@@ -405,13 +405,16 @@ __PACKAGE__->register_method({
 		open($fh, '<', $filename) or die "Could not open file '$filename' - $!\n";
 	    }
 
+	    my $task_time = strftime('%FT%TZ', gmtime($task->{starttime}));
+	    my $download_name = 'task-'.$task->{node}.'-'.$task->{type}.'-'.$task_time.'.log';
+
 	    return {
 		download => {
 		    fh => $fh,
 		    stream => 1,
 		    'content-encoding' => $use_compression ? 'gzip' : undef,
 		    'content-type' => "text/plain",
-		    'content-disposition' => "attachment; filename=\"".$param->{upid}."\"",
+		    'content-disposition' => "attachment; filename=\"".$download_name."\"",
 		},
 	    },
 	} else {
-- 
2.30.2






More information about the pve-devel mailing list