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 <s.st...@proxmox.com> > --- > 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) { _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel