By switching from 'ceph osd tree' to the 'ceph osd df tree' mon API
equivalent , we get the same data structure with more information per
OSD. One of them is the number of PGs stored on that OSD.

The number of PGs per OSD is an important number, for example when
trying to figure out why the performance is not as good as expected.
Therefore, adding it to the OSD overview visible by default should
reduce the number of times, one needs to access the CLI.

Signed-off-by: Aaron Lauterer <a.laute...@proxmox.com>
---
 PVE/API2/Ceph/OSD.pm     | 4 ++--
 www/manager6/ceph/OSD.js | 7 +++++++
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/PVE/API2/Ceph/OSD.pm b/PVE/API2/Ceph/OSD.pm
index 18195743..09fb3bba 100644
--- a/PVE/API2/Ceph/OSD.pm
+++ b/PVE/API2/Ceph/OSD.pm
@@ -105,7 +105,7 @@ __PACKAGE__->register_method ({
        PVE::Ceph::Tools::check_ceph_inited();
 
        my $rados = PVE::RADOS->new();
-       my $res = $rados->mon_command({ prefix => 'osd tree' });
+       my $res = $rados->mon_command({ prefix => 'osd df', output_method => 
'tree', });
 
         die "no tree nodes found\n" if !($res && $res->{nodes});
 
@@ -131,7 +131,7 @@ __PACKAGE__->register_method ({
                type => $e->{type}
            };
 
-           foreach my $opt (qw(status crush_weight reweight device_class)) {
+           foreach my $opt (qw(status crush_weight reweight device_class pgs)) 
{
                $new->{$opt} = $e->{$opt} if defined($e->{$opt});
            }
 
diff --git a/www/manager6/ceph/OSD.js b/www/manager6/ceph/OSD.js
index 6f7e2159..ef193a0a 100644
--- a/www/manager6/ceph/OSD.js
+++ b/www/manager6/ceph/OSD.js
@@ -797,6 +797,13 @@ Ext.define('PVE.node.CephOsdTree', {
            renderer: 'render_osd_latency',
            width: 120,
        },
+       {
+           text: 'PGs',
+           dataIndex: 'pgs',
+           align: 'right',
+           renderer: 'render_osd_val',
+           width: 90,
+       },
     ],
 
 
-- 
2.30.2



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to