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' }) }; + 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}}; + } + # 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) { -- 2.30.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel