From 6d0e896f0e5b7a0ef94eb0026b193079616cd9fd Mon Sep 17 00:00:00 2001 From: qgarnier Date: Wed, 2 Sep 2020 13:44:14 +0200 Subject: [PATCH] wip cisco tc + hp oneview (#2185) --- .../hardware/devices/cisco/ces/restapi/mode/callsrt.pm | 10 ++++++++++ .../devices/cisco/ces/restapi/mode/components.pm | 2 +- .../hp/oneview/restapi/mode/components/enclosure.pm | 2 +- .../server/hp/oneview/restapi/mode/hardware.pm | 3 ++- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/centreon-plugins/hardware/devices/cisco/ces/restapi/mode/callsrt.pm b/centreon-plugins/hardware/devices/cisco/ces/restapi/mode/callsrt.pm index 6c8737955..c44e3a6d6 100644 --- a/centreon-plugins/hardware/devices/cisco/ces/restapi/mode/callsrt.pm +++ b/centreon-plugins/hardware/devices/cisco/ces/restapi/mode/callsrt.pm @@ -204,6 +204,16 @@ sub manage_selection { $self->{channels}->{$_} = { display => $_ }; } + if (!defined($result->{version}) || $result->{version} !~ /^(?:CE|TC)(\d+\.\d+)/i) { + $self->{output}->add_option_msg(short_msg => 'cannot find firmware version'); + $self->{output}->option_exit(); + } + my ($version_major, $version_minor) = split(/\./, $1); + if (($version_major < 8) || ($version_major == 8 && $version_minor < 3)) { + $self->{output}->add_option_msg(short_msg => 'firmware version is too old (' . $version_major . '.' . $version_minor . ')'); + $self->{output}->option_exit(); + } + return if (!defined($result->{MediaChannels}->{Call})); foreach my $call (@{$result->{MediaChannels}->{Call}}) { diff --git a/centreon-plugins/hardware/devices/cisco/ces/restapi/mode/components.pm b/centreon-plugins/hardware/devices/cisco/ces/restapi/mode/components.pm index 8ee72b503..7b4bd5489 100644 --- a/centreon-plugins/hardware/devices/cisco/ces/restapi/mode/components.pm +++ b/centreon-plugins/hardware/devices/cisco/ces/restapi/mode/components.pm @@ -122,7 +122,7 @@ sub execute_custom { my $system_version = 'unknown'; $system_version = $self->{results}->{version} if (defined($self->{results}->{version})); - $self->{output}->output_add(long_msg => 'system version: ' . $system_version); + $self->{output}->output_add(long_msg => 'firmware version: ' . $system_version); } 1; diff --git a/centreon-plugins/hardware/server/hp/oneview/restapi/mode/components/enclosure.pm b/centreon-plugins/hardware/server/hp/oneview/restapi/mode/components/enclosure.pm index 6744e0d24..060269a68 100644 --- a/centreon-plugins/hardware/server/hp/oneview/restapi/mode/components/enclosure.pm +++ b/centreon-plugins/hardware/server/hp/oneview/restapi/mode/components/enclosure.pm @@ -37,7 +37,7 @@ sub check_subpart { next if ($self->check_filter(section => 'enclosure.' . $options{section}, instance => $instance)); - my $status = $_->{status}; + my $status = defined($_->{status}) ? $_->{status} : 'n/a'; $self->{output}->output_add( long_msg => sprintf( "enclosure %s '%s' status is '%s' [instance = %s]", diff --git a/centreon-plugins/hardware/server/hp/oneview/restapi/mode/hardware.pm b/centreon-plugins/hardware/server/hp/oneview/restapi/mode/hardware.pm index e4b118e06..e0aa2a422 100644 --- a/centreon-plugins/hardware/server/hp/oneview/restapi/mode/hardware.pm +++ b/centreon-plugins/hardware/server/hp/oneview/restapi/mode/hardware.pm @@ -36,7 +36,8 @@ sub set_system { ['disabled', 'OK'], ['critical', 'CRITICAL'], ['warning', 'WARNING'], - ['unknown', 'UNKNOWN'] + ['unknown', 'UNKNOWN'], + ['n/a', 'OK'] ] };