From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 8BFD875579; Thu, 24 Jun 2021 09:10:49 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 6FFCA12477; Thu, 24 Jun 2021 09:10:19 +0200 (CEST) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS id D58DB1243B; Thu, 24 Jun 2021 09:10:17 +0200 (CEST) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id A91D94678E; Thu, 24 Jun 2021 09:10:17 +0200 (CEST) From: Dominik Csapak To: pve-devel@lists.proxmox.com, pmg-devel@lists.proxmox.com Date: Thu, 24 Jun 2021 09:10:13 +0200 Message-Id: <20210624071016.21013-5-d.csapak@proxmox.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210624071016.21013-1-d.csapak@proxmox.com> References: <20210624071016.21013-1-d.csapak@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.768 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pve-devel] [PATCH manager 2/2] PVE/API2/Tasks: add statusfilter to task list X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Jun 2021 07:10:49 -0000 similar to pbs. the 'errors' filter parameter still overrides this Signed-off-by: Dominik Csapak --- PVE/API2/Tasks.pm | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/PVE/API2/Tasks.pm b/PVE/API2/Tasks.pm index 8df701e5..eca92715 100644 --- a/PVE/API2/Tasks.pm +++ b/PVE/API2/Tasks.pm @@ -100,6 +100,12 @@ __PACKAGE__->register_method({ description => "Only list tasks until this UNIX epoch.", optional => 1, }, + statusfilter => { + type => 'string', + format => 'pve-task-status-type-list', + optional => 1, + description => 'List of Task States that should be returned.', + }, }, }, returns => { @@ -140,6 +146,26 @@ __PACKAGE__->register_method({ my $source = $param->{source} // 'archive'; my $since = $param->{since}; my $until = $param->{until}; + my $statusfilter = { + ok => 1, + warning => 1, + error => 1, + unknown => 1, + }; + + if (defined($param->{statusfilter}) && !$errors) { + $statusfilter = { + ok => 0, + warning => 0, + error => 0, + unknown => 0, + }; + for my $filter (PVE::Tools::split_list($param->{statusfilter})) { + $statusfilter->{lc($filter)} = 1 ; + } + } elsif ($errors) { + $statusfilter->{ok} = 0; + } my $count = 0; my $line; @@ -154,12 +180,14 @@ __PACKAGE__->register_method({ return 1 if $typefilter && $task->{type} ne $typefilter; - return 1 if $errors && $task->{status} && $task->{status} eq 'OK'; return 1 if $param->{vmid} && (!$task->{id} || $task->{id} ne $param->{vmid}); return 1 if defined($since) && $task->{starttime} < $since; return 1 if defined($until) && $task->{starttime} > $until; + my $type = PVE::Tools::upid_get_status_type($task->{status}); + return 1 if !$statusfilter->{$type}; + return 1 if $count++ < $start; return 1 if $limit <= 0; -- 2.20.1