raid/hpssacli: WARN on permanently disabled cache
[mirror/dsa-nagios.git] / dsa-nagios-checks / checks / dsa-check-hpssacli
index 220d65b..d10874b 100755 (executable)
@@ -149,6 +149,14 @@ for my $slot (sort @controllers) {
                                        record('UNKNOWN');
                                }
                        }
+                       if (/^ *LD Acceleration Method: (.*)$/) {
+                               my $status = $1;
+                               # can at least be "Controller Cache" or HP SSD Smart Path", both OK
+                               if ($status eq 'All disabled') {
+                                       push @{$status{'Acceleration method'}}, "LD$logicaldrive disabled";
+                                       record('WARNING');
+                               }
+                       }
                }
        }
 
@@ -245,7 +253,7 @@ for my $slot (sort @controllers) {
                } elsif ($type eq 'SAS' || $type eq 'SAS+') {
                        $key = 'PHY Transfer Rate';
                        if ($value{'Interface Type'} eq 'SATA') {
-                               $expected = [ '1.5Gbps', '3.0Gbps' ];
+                               $expected = [ '1.5Gbps', '3.0Gbps', '6.0Gbps' ];
                        } elsif ($value{'PHY Count'} eq '2') {
                                if (defined($value{'Redundant Path(s)'})) {
                                        $expected = [ '3.0GBPS, 3.0GBPS', '6.0GBPS, 6.0GBPS',
@@ -300,9 +308,18 @@ for my $slot (sort @controllers) {
                if (/^ *(.*) Status: (.*)$/) {
                        my $system = $1;
                        my $status = $2;
+
+                       if ($system eq 'Cache') {
+                               # Can be:
+                               # - 'OK'
+                               # - 'Not Configured' (for e.g. HP SSD Smart Path)
+                               # - 'Permanently Disabled'
+                               # - ...?
+                               next if $status =~ /^(OK|Not Configured)$/;
+                       }
+
                        push @{$status{$status}}, $system;
                        if ($status ne 'OK') {
-                               next if ($params->{'no-battery'} && $system eq 'Cache');
                                next if ($params->{'no-battery'} && $system eq 'Battery/Capacitor');
                                record('WARNING');
                        };