ceph CLI: osd details: code/style cleanups

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
Thomas Lamprecht 2023-06-06 18:21:38 +02:00
parent b48ca5a7c0
commit cf14758f5f

View File

@ -367,8 +367,8 @@ __PACKAGE__->register_method ({
}}); }});
__PACKAGE__->register_method ({ __PACKAGE__->register_method ({
name => 'osddetails', name => 'osd-details',
path => 'osddetails', path => 'osd-details',
method => 'GET', method => 'GET',
description => "Get OSD details.", description => "Get OSD details.",
parameters => { parameters => {
@ -390,13 +390,15 @@ __PACKAGE__->register_method ({
returns => { type => 'object' }, returns => { type => 'object' },
code => sub { code => sub {
my ($param) = @_; my ($param) = @_;
PVE::Ceph::Tools::check_ceph_inited(); PVE::Ceph::Tools::check_ceph_inited();
my $res = PVE::API2::Ceph::OSD->osddetails({ my $res = PVE::API2::Ceph::OSD->osddetails({
osdid => $param->{osdid}, osdid => $param->{osdid},
node => $param->{node}, node => $param->{node},
}); });
for my $dev (@{ $res->{devices} }) { for my $dev ($res->{devices}->@*) {
$dev->{"lv-info"} = PVE::API2::Ceph::OSD->osdvolume({ $dev->{"lv-info"} = PVE::API2::Ceph::OSD->osdvolume({
osdid => $param->{osdid}, osdid => $param->{osdid},
node => $param->{node}, node => $param->{node},
@ -409,6 +411,7 @@ __PACKAGE__->register_method ({
my $format_osddetails = sub { my $format_osddetails = sub {
my ($data, $schema, $options) = @_; my ($data, $schema, $options) = @_;
$options->{"output-format"} //= "text"; $options->{"output-format"} //= "text";
if ($data->{verbose}) { if ($data->{verbose}) {
@ -417,13 +420,11 @@ my $format_osddetails = sub {
} }
if ($options->{"output-format"} eq "text") { if ($options->{"output-format"} eq "text") {
for my $dev (@{ $data->{devices} }) { for my $dev ($data->{devices}->@*) {
my $str = "Disk: $dev->{physical_device}," my ($disk, $type, $device) = $dev->@{'physical_device', 'type', 'device'};
." Type: $dev->{type}," my ($lv_size, $lv_ctime) = $dev->{'lv-info'}->@{'lv_size', 'creation_time'};
." LV Size: $dev->{'lv-info'}->{lv_size},"
." LV Creation Time: $dev->{'lv-info'}->{creation_time}";
$data->{osd}->{$dev->{device}} = $str; $data->{osd}->{$device} = "Disk: $disk, Type: $type, LV Size: $lv_size, LV Creation Time: $lv_ctime";
} }
PVE::CLIFormatter::print_api_result($data->{osd}, $schema, undef, $options); PVE::CLIFormatter::print_api_result($data->{osd}, $schema, undef, $options);
} else { } else {
@ -471,7 +472,10 @@ our $cmddef = {
osd => { osd => {
create => [ 'PVE::API2::Ceph::OSD', 'createosd', ['dev'], { node => $nodename }, $upid_exit], create => [ 'PVE::API2::Ceph::OSD', 'createosd', ['dev'], { node => $nodename }, $upid_exit],
destroy => [ 'PVE::API2::Ceph::OSD', 'destroyosd', ['osdid'], { node => $nodename }, $upid_exit], destroy => [ 'PVE::API2::Ceph::OSD', 'destroyosd', ['osdid'], { node => $nodename }, $upid_exit],
details => [ __PACKAGE__, 'osddetails', ['osdid'], { node => $nodename }, $format_osddetails, $PVE::RESTHandler::standard_output_options], details => [
__PACKAGE__, 'osd-details', ['osdid'], { node => $nodename }, $format_osddetails,
$PVE::RESTHandler::standard_output_options,
],
}, },
createosd => { alias => 'osd create' }, createosd => { alias => 'osd create' },
destroyosd => { alias => 'osd destroy' }, destroyosd => { alias => 'osd destroy' },