all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH pve-manager] api: add 'type' parameter to pool GET endpoint
@ 2022-01-25 12:43 Hannes Laimer
  2022-01-28 11:30 ` Thomas Lamprecht
  0 siblings, 1 reply; 2+ messages in thread
From: Hannes Laimer @ 2022-01-25 12:43 UTC (permalink / raw)
  To: pve-devel

Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
---
This was asked in a forum post, and it does not interfere with
anything else AFAIK.

 PVE/API2/Pool.pm | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/PVE/API2/Pool.pm b/PVE/API2/Pool.pm
index 28c29ab8..b190d134 100644
--- a/PVE/API2/Pool.pm
+++ b/PVE/API2/Pool.pm
@@ -211,6 +211,11 @@ __PACKAGE__->register_method ({
 		type => 'string',
 		format => 'pve-poolid',
 	    },
+	    type => {
+		type => 'string',
+		enum => [ 'qemu', 'lxc', 'openvz', 'storage' ],
+		optional => 1,
+	    },
 	},
     },
     returns => {
@@ -271,7 +276,7 @@ __PACKAGE__->register_method ({
 	    my $vmdata = $idlist->{$vmid};
 	    next if !$vmdata;
 	    my $entry = PVE::API2Tools::extract_vm_stats($vmid, $vmdata, $rrd);
-	    push @$members, $entry;
+	    push @$members, $entry if !defined($param->{type}) or $param->{type} eq $entry->{type};
 	}
 
 	my $nodename = PVE::INotify::nodename();
@@ -289,7 +294,7 @@ __PACKAGE__->register_method ({
 	    }
 
 	    my $entry = PVE::API2Tools::extract_storage_stats($storeid, $scfg, $storage_node, $rrd);
-	    push @$members, $entry;
+	    push @$members, $entry if !defined($param->{type}) or $param->{type} eq $entry->{type};
 	}
 
 	my $res = {
-- 
2.30.2





^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [pve-devel] [PATCH pve-manager] api: add 'type' parameter to pool GET endpoint
  2022-01-25 12:43 [pve-devel] [PATCH pve-manager] api: add 'type' parameter to pool GET endpoint Hannes Laimer
@ 2022-01-28 11:30 ` Thomas Lamprecht
  0 siblings, 0 replies; 2+ messages in thread
From: Thomas Lamprecht @ 2022-01-28 11:30 UTC (permalink / raw)
  To: Proxmox VE development discussion, Hannes Laimer

On 25.01.22 13:43, Hannes Laimer wrote:
> Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
> ---
> This was asked in a forum post, and it does not interfere with
> anything else AFAIK.

good call to add this, there's some slight optimization potential though

> 
>  PVE/API2/Pool.pm | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/PVE/API2/Pool.pm b/PVE/API2/Pool.pm
> index 28c29ab8..b190d134 100644
> --- a/PVE/API2/Pool.pm
> +++ b/PVE/API2/Pool.pm
> @@ -211,6 +211,11 @@ __PACKAGE__->register_method ({
>  		type => 'string',
>  		format => 'pve-poolid',
>  	    },
> +	    type => {
> +		type => 'string',
> +		enum => [ 'qemu', 'lxc', 'openvz', 'storage' ],

I'd avoid `openvz` in newly added stuff, while we have it around in some places
it won't work anyway and we'll probably rip out most of that in a next major
release.

> +		optional => 1,
> +	    },
>  	},
>      },
>      returns => {
> @@ -271,7 +276,7 @@ __PACKAGE__->register_method ({
>  	    my $vmdata = $idlist->{$vmid};
>  	    next if !$vmdata;
>  	    my $entry = PVE::API2Tools::extract_vm_stats($vmid, $vmdata, $rrd);
> -	    push @$members, $entry;
> +	    push @$members, $entry if !defined($param->{type}) or $param->{type} eq $entry->{type};

IIRC the 'type' is also in the VM list we get from PVE::Cluster::get_vmlist,
so we could just expand the `next` above, e.g.:

next if !$vmdata || (defined($param->{type}) && $param->{type} eq $vmdata->{type});

(untested)

>  	}
>  
>  	my $nodename = PVE::INotify::nodename();
> @@ -289,7 +294,7 @@ __PACKAGE__->register_method ({
>  	    }
>  
>  	    my $entry = PVE::API2Tools::extract_storage_stats($storeid, $scfg, $storage_node, $rrd);
> -	    push @$members, $entry;
> +	    push @$members, $entry if !defined($param->{type}) or $param->{type} eq $entry->{type};

we could guard the whole for loop that assembles storage stuff with a

if (!defined($param->{type}) || $param->{type} eq 'storage') {
   ...
}

to avoid doing work we don't use anyway.

>  	}
>  
>  	my $res = {





^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-01-28 11:30 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-25 12:43 [pve-devel] [PATCH pve-manager] api: add 'type' parameter to pool GET endpoint Hannes Laimer
2022-01-28 11:30 ` Thomas Lamprecht

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal