Printing a lot of very detailed JSON output on the CLI is not very useful. Printing the `ceph -s` overview is much more suited to give an overview of the ceph cluster status.
Signed-off-by: Aaron Lauterer <a.laute...@proxmox.com> --- v1 -> v2: * added check if Ceph is iniated to avoid ugly error msg * removed eval (if the command fails, we want to see the error msg) * code style: avoiding long lines @thomas thx for the hint in the dev guidelines regarding long lines. somehow I missed that until now and took the surrounding (older) code as guideline :) PVE/CLI/pveceph.pm | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/PVE/CLI/pveceph.pm b/PVE/CLI/pveceph.pm index 3d7bf2b1..de046dd0 100755 --- a/PVE/CLI/pveceph.pm +++ b/PVE/CLI/pveceph.pm @@ -175,6 +175,26 @@ __PACKAGE__->register_method ({ return undef; }}); +__PACKAGE__->register_method ({ + name => 'status', + path => 'status', + method => 'GET', + description => "Get Ceph Status.", + parameters => { + additionalProperties => 0, + }, + returns => { type => 'null' }, + code => sub { + PVE::Ceph::Tools::check_ceph_inited(); + + run_command( + ['ceph', '-s'], + outfunc => sub { print "$_[0]\n" }, + errfunc => sub { print STDERR "$_[0]\n" } + ); + return undef; + }}); + our $cmddef = { init => [ 'PVE::API2::Ceph', 'init', [], { node => $nodename } ], pool => { @@ -229,11 +249,7 @@ our $cmddef = { stop => [ 'PVE::API2::Ceph', 'stop', [], { node => $nodename }, $upid_exit], install => [ __PACKAGE__, 'install', [] ], purge => [ __PACKAGE__, 'purge', [] ], - status => [ 'PVE::API2::Ceph', 'status', [], { node => $nodename }, sub { - my $res = shift; - my $json = JSON->new->allow_nonref; - print $json->pretty->encode($res) . "\n"; - }], + status => [ __PACKAGE__, 'status', []], }; 1; -- 2.20.1 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel