[pve-devel] [PATCH manager 1/2] fix #5067: vzdump: include total backup size in notification
Lukas Wagner
l.wagner at proxmox.com
Mon Jan 8 11:44:13 CET 2024
ping
On 12/14/23 15:11, Lukas Wagner wrote:
> The old backup job notification mails from before the notification
> system overhaul included the total time as well as the total size.
>
> The total size was missing from the new, template-based backup report,
> thus we add it back in this commit.
>
> Signed-off-by: Lukas Wagner <l.wagner at proxmox.com>
> ---
> PVE/VZDump.pm | 24 ++++++++++++++----------
> 1 file changed, 14 insertions(+), 10 deletions(-)
>
> diff --git a/PVE/VZDump.pm b/PVE/VZDump.pm
> index 4185ed62..91f60418 100644
> --- a/PVE/VZDump.pm
> +++ b/PVE/VZDump.pm
> @@ -414,15 +414,17 @@ sub sanitize_task_list {
> }
> }
>
> -sub count_failed_tasks {
> +my sub aggregate_task_statistics {
> my ($tasklist) = @_;
>
> my $error_count = 0;
> + my $total_size = 0;
> for my $task (@$tasklist) {
> $error_count++ if $task->{state} ne 'ok';
> + $total_size += $task->{size} if $task->{state} eq 'ok';
> }
>
> - return $error_count;
> + return $error_count, $total_size;
> }
>
> sub get_hostname {
> @@ -437,9 +439,10 @@ my $body_template = <<EOT;
> {{error-message}}
> {{heading-1 "Details"}}
> {{table guest-table}}
> -
> +{{#verbatim}}
> Total running time: {{duration total-time}}
> -
> +Total size: {{human-bytes total-size}}
> +{{/verbatim}}
> {{heading-1 "Logs"}}
> {{verbatim-monospaced logs}}
> EOT
> @@ -456,7 +459,7 @@ sub send_notification {
> my $mode = $opts->{"notification-mode"} // 'auto';
>
> sanitize_task_list($tasklist);
> - my $error_count = count_failed_tasks($tasklist);
> + my ($error_count, $total_size) = aggregate_task_statistics($tasklist);
>
> my $failed = ($error_count || $err);
>
> @@ -486,12 +489,13 @@ sub send_notification {
> my $hostname = get_hostname();
>
> my $notification_props = {
> - "hostname" => $hostname,
> + "hostname" => $hostname,
> "error-message" => $err,
> - "guest-table" => build_guest_table($tasklist),
> - "logs" => $text_log_part,
> - "status-text" => $status_text,
> - "total-time" => $total_time,
> + "guest-table" => build_guest_table($tasklist),
> + "logs" => $text_log_part,
> + "status-text" => $status_text,
> + "total-time" => $total_time,
> + "total-size" => $total_size,
> };
>
> my $fields = {
--
- Lukas
More information about the pve-devel
mailing list