Author: glen                         Date: Thu Oct  8 13:57:24 2009 GMT
Module: packages                      Tag: HEAD
---- Log message:
- message cosmetics for 3ware (tw_cli)

---- Files affected:
packages/nagios-plugin-check_raid:
   check_raid (1.52 -> 1.53) 

---- Diffs:

================================================================
Index: packages/nagios-plugin-check_raid/check_raid
diff -u packages/nagios-plugin-check_raid/check_raid:1.52 
packages/nagios-plugin-check_raid/check_raid:1.53
--- packages/nagios-plugin-check_raid/check_raid:1.52   Wed Oct  7 11:33:55 2009
+++ packages/nagios-plugin-check_raid/check_raid        Thu Oct  8 15:57:18 2009
@@ -436,6 +436,9 @@
        my @CMD = $tw_cli;
        unshift(@CMD, $sudo) if $> and $sudo;
 
+       # status messages pushed here
+       my @status;
+
        my (@c, $fh);
        # scan controllers
        open($fh , '-|', @CMD, 'info') or return;
@@ -444,6 +447,12 @@
        }
        close $fh;
 
+       unless (@c) {
+               $status = $ERRORS{WARNING} unless $status;
+               $message .= "3ware: No Adapters were found on this machine";
+               return;
+       }
+
        for my $c (@c) {
                # check each unit on controllers
                open($fh , '-|', @CMD, 'info', $c, 'unitstatus') or next;
@@ -451,31 +460,34 @@
                        next unless (my($u, $s, $p) = 
/^(u\d+)\s+\S+\s+(\S+)\s+(\S+)/);
 
                        if ($s eq 'OK') {
-                               $message .= "3ware:/$c/$u $s ";
+                               push(@status, "$c/$u $s");
 
                        } elsif ($s eq 'REBUILDING') {
                                $status = $ERRORS{WARNING} unless $status;
-                               $message .= "3ware:/$c/$u $s $p% ";
+                               push(@status, "$c/$u $s $p% ");
 
                        } elsif ($s eq 'DEGRADED') {
                                open(my $fh , '-|', @CMD, 'info', $c, 
'drivestatus');
-                               my $ds = '';
+                               my @ds;
                                if ($fh) {
+                                       my @p;
                                        while (<$fh>) {
                                                next unless (my($p, $s) = 
/^(p\d+)\s+(\S+)\s+\Q$u\E/);
-                                               $ds .= "$p:$s ";
+                                               push(@ds, "$p:$s");
                                        }
                                        close $fh;
                                }
-                               $message .= "3ware:/$c/$u $s $ds ";
+                               push(@status, "$c/$u $s (disks: ".join(' ', 
@ds). ")");
                                $status = $ERRORS{CRITICAL};
                        } else {
-                               $message .= "3ware:/$c/$u $_ ";
+                               push(@status, "$c/$u $_");
                                $status = $ERRORS{UNKNOWN};
                        }
                }
                close $fh;
        }
+
+       $message .= "3ware: ".join(', ', @status) if @status;
 }
 
 # Adaptec AAC-RAID
================================================================

---- CVS-web:
    
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/nagios-plugin-check_raid/check_raid?r1=1.52&r2=1.53&f=u

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to