Fix ibm bladecenter check

This commit is contained in:
Quentin Garnier 2015-03-11 16:46:18 +11:00
parent 5d649b8072
commit f2d21fe0d2
4 changed files with 16 additions and 10 deletions

View File

@ -96,12 +96,18 @@ sub check {
$self->absent_problem(section => 'blade', instance => $result->{bladeId})); $self->absent_problem(section => 'blade', instance => $result->{bladeId}));
$self->{components}->{blade}->{total}++; $self->{components}->{blade}->{total}++;
if ($result->{bladePowerState} =~ /off/) {
$self->{output}->output_add(long_msg => sprintf("Blade '%s' power state is %s",
$result->{bladeId}, $result->{bladePowerState}));
next;
}
$self->{output}->output_add(long_msg => sprintf("Blade '%s' state is %s [power state: %s]", $self->{output}->output_add(long_msg => sprintf("Blade '%s' state is %s [power state: %s]",
$result->{bladeId}, $result->{bladeHealthState}, $result->{bladePowerState})); $result->{bladeId}, $result->{bladeHealthState}, $result->{bladePowerState}));
my $exit = $self->get_severity(section => 'blade', value => $result->{bladeHealthState}); my $exit = $self->get_severity(section => 'blade', value => $result->{bladeHealthState});
if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) { if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) {
$self->{output}->output_add(severity => $exit, $self->{output}->output_add(severity => $exit,
short_msg => sprintf("Power module '%s' state is %s", short_msg => sprintf("Blade '%s' state is %s",
$result->{bladeId}, $result->{bladeHealthState})); $result->{bladeId}, $result->{bladeHealthState}));
} }
} }

View File

@ -72,12 +72,12 @@ sub check {
$self->{components}->{blower} = {name => 'blowers', total => 0, skip => 0}; $self->{components}->{blower} = {name => 'blowers', total => 0, skip => 0};
return if ($self->check_exclude(section => 'blower')); return if ($self->check_exclude(section => 'blower'));
while (my $i = 0; $i < $count; $i++) { for (my $i = 0; $i < $count; $i++) {
my $instance = $i + 1; my $instance = $i + 1;
next if (!defined($map_blower_state{$oid_blowers . '.' . ($entry_blower_state + $i) . '.0'})); next if (!defined($self->{results}->{$oid_blowers}->{$oid_blowers . '.' . ($entry_blower_state + $i) . '.0'}));
my $blower_state = $map_blower_state{$oid_blowers . '.' . ($entry_blower_state + $i) . '.0'}; my $blower_state = $map_blower_state{$self->{results}->{$oid_blowers}->{$oid_blowers . '.' . ($entry_blower_state + $i) . '.0'}};
my $blower_speed = defined($map_blower_state{$oid_blowers . '.' . ($entry_blower_speed + $i) . '.0'}) ? $map_blower_state{$oid_blowers . '.' . ($entry_blower_speed + $i) . '.0'} : undef; my $blower_speed = defined($self->{results}->{$oid_blowers}->{$oid_blowers . '.' . ($entry_blower_speed + $i) . '.0'}) ? $map_blower_state{$self->{results}->{$oid_blowers}->{$oid_blowers . '.' . ($entry_blower_speed + $i) . '.0'}} : undef;
my $ctrl_state = defined($map_blower_state{$oid_blowers . '.' . ($entry_controller_state + $i) . '.0'}) ? $map_blower_state{$oid_blowers . '.' . ($entry_controller_state + $i) . '.0'} : undef; my $ctrl_state = defined($self->{results}->{$oid_blowers}->{$oid_blowers . '.' . ($entry_controller_state + $i) . '.0'}) ? $map_blower_state{$self->{results}->{$oid_blowers}->{$oid_blowers . '.' . ($entry_controller_state + $i) . '.0'}} : undef;
next if ($self->check_exclude(section => 'blower', instance => $instance)); next if ($self->check_exclude(section => 'blower', instance => $instance));
next if ($blower_state =~ /No Blower/i && next if ($blower_state =~ /No Blower/i &&

View File

@ -173,7 +173,7 @@ sub run {
foreach (@components) { foreach (@components) {
if (/$self->{option_results}->{component}/) { if (/$self->{option_results}->{component}/) {
my $mod_name = "ardware::server::ibm::bladecenter::snmp::mode::components::$_"; my $mod_name = "hardware::server::ibm::bladecenter::snmp::mode::components::$_";
my $func = $mod_name->can('check'); my $func = $mod_name->can('check');
$func->($self); $func->($self);
} }