[pve-devel] [PATCH manager 1/3] add bluestore information to osd api call
Dominik Csapak
d.csapak at proxmox.com
Tue Aug 1 14:59:35 CEST 2017
this adds information about bluestore (which devices and if
bluestore/filestore) to show in the gui
Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
PVE/API2/Ceph.pm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/PVE/API2/Ceph.pm b/PVE/API2/Ceph.pm
index 929604d2..601f852e 100644
--- a/PVE/API2/Ceph.pm
+++ b/PVE/API2/Ceph.pm
@@ -92,6 +92,13 @@ __PACKAGE__->register_method ({
my $usagehash = &$get_osd_usage($rados);
+ my $osdmetadata_tmp = $rados->mon_command({ prefix => 'osd metadata' });
+
+ my $osdmetadata = {};
+ foreach my $osd (@$osdmetadata_tmp) {
+ $osdmetadata->{$osd->{id}} = $osd;
+ }
+
my $nodes = {};
my $newnodes = {};
foreach my $e (@{$res->{nodes}}) {
@@ -121,6 +128,18 @@ __PACKAGE__->register_method ({
}
}
+ my $osdmd = $osdmetadata->{$e->{id}};
+ if ($e->{type} eq 'osd' && $osdmd) {
+ if ($osdmd->{bluefs}) {
+ $new->{osdtype} = 'bluestore';
+ $new->{blfsdev} = $osdmd->{bluestore_bdev_dev_node};
+ $new->{dbdev} = $osdmd->{bluefs_db_dev_node};
+ $new->{waldev} = $osdmd->{bluefs_wal_dev_node};
+ } else {
+ $new->{osdtype} = 'filestore';
+ }
+ }
+
$newnodes->{$e->{id}} = $new;
}
--
2.11.0
More information about the pve-devel
mailing list