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 C034A8A71A for ; Thu, 20 Oct 2022 14:56:27 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 97BF07D20 for ; Thu, 20 Oct 2022 14:55:57 +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 for ; Thu, 20 Oct 2022 14:55:56 +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 7D56C44ABC for ; Thu, 20 Oct 2022 14:55:56 +0200 (CEST) Message-ID: <47cbf07a-d82f-618e-7d11-28d49ebdffb6@proxmox.com> Date: Thu, 20 Oct 2022 14:55:55 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:106.0) Gecko/20100101 Thunderbird/106.0 Content-Language: en-GB To: Proxmox VE development discussion , Stefan Sterz References: <20221020071704.46578-1-s.sterz@proxmox.com> From: Thomas Lamprecht In-Reply-To: <20221020071704.46578-1-s.sterz@proxmox.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-SPAM-LEVEL: Spam detection results: 0 AWL -0.034 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 NICE_REPLY_A -0.001 Looks like a legit reply (A) SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: Re: [pve-devel] [PATCH manager v3 1/2] api: ceph: add applications of each pool to the lspools endpoint 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, 20 Oct 2022 12:56:27 -0000 Am 20/10/2022 um 09:17 schrieb Stefan Sterz: > since ceph luminous (ceph 12) pools need to be associated with at > least one applicaton. expose this information here too so that clients > of this endpoint can use it > > Signed-off-by: Stefan Sterz > --- > v3: add an api viewer entry for the applications object > > thanks @ alwin antreich for pointing out that pools have applications! > > PVE/API2/Ceph/Pools.pm | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/PVE/API2/Ceph/Pools.pm b/PVE/API2/Ceph/Pools.pm > index 6c05250e..f5984c2c 100644 > --- a/PVE/API2/Ceph/Pools.pm > +++ b/PVE/API2/Ceph/Pools.pm > @@ -125,6 +125,11 @@ __PACKAGE__->register_method ({ > title => 'Autoscale Status', > optional => 1, > }, > + applications => { > + type => 'object', > + title => 'Associated Applications', > + optional => 1, > + }, > }, > }, > links => [ { rel => 'child', href => "{pool_name}" } ], > @@ -167,6 +172,8 @@ __PACKAGE__->register_method ({ > # pg_autoscaler module is not enabled in Nautilus > my $autoscale = eval { $get_autoscale_status->($rados) }; > > + my $apps = eval { $rados->mon_command({ prefix => 'osd pool application get' }) }; out of interest: how expensive is this, did you check the overhead? > + > foreach my $e (@{$res->{pools}}) { > my $d = {}; > foreach my $attr (@$attr_list) { > @@ -191,6 +198,10 @@ __PACKAGE__->register_method ({ > $d->{percent_used} = $s->{percent_used}; > } > > + if ($apps) { > + $d->{applications} = $apps->{$d->{pool_name}} if $apps->{$d->{pool_name}}; no nested hashes-in-hashes, pull out $d->{pool_name} earlier and then make it an one liner: $d->{applications} = $apps->{$pool} if defined($apps->{$pool}); > + } > + > # Cephs numerical pool types are barely documented. Found the following in the Ceph > # codebase: https://github.com/ceph/ceph/blob/ff144995a849407c258bcb763daa3e03cfce5059/src/osd/osd_types.h#L1221-L1233 > if ($e->{type} == 1) {