* version 1.2.1-beta1
authortrondham <trondham@e53b7cee-c147-0410-b3a0-ae4c1fa63963>
Wed, 17 Feb 2010 09:34:21 +0000 (09:34 +0000)
committertrondham <trondham@e53b7cee-c147-0410-b3a0-ae4c1fa63963>
Wed, 17 Feb 2010 09:34:21 +0000 (09:34 +0000)
* New option '--slave-down' to set the alert state reported when a
  slave interface is down

git-svn-id: svn+ssh://vcs-usit.uio.no/svnroot/usit-unix-intern/trunk/usit-nagios-plugins/trondham/check_linux_bonding@16613 e53b7cee-c147-0410-b3a0-ae4c1fa63963

check_linux_bonding

index e888e72..4c7dcd2 100755 (executable)
@@ -45,7 +45,7 @@ $SIG{__WARN__} = \&collect_perl_warning;
 
 # Version and similar info
 my $NAME    = 'check_linux_bonding';
-my $VERSION = '1.2.0';
+my $VERSION = '1.2.1-beta1';
 my $AUTHOR  = 'Trond H. Amundsen';
 my $CONTACT = 't.h.amundsen@usit.uio.no';
 
@@ -77,6 +77,7 @@ my %opt
       'linebreak'     => undef,
       'verbose'       => 0,
       'disable_sysfs' => 0,
+      'slave_down'     => 'warning',
     );
 
 # Get options
@@ -87,10 +88,11 @@ GetOptions('t|timeout=i'    => \$opt{timeout},
           'b|blacklist=s'  => \@{ $opt{blacklist} },
           'n|no-bonding=s' => \$opt{no_bonding},
           's|state'        => \$opt{state},
-          'S|short-state'    => \$opt{shortstate},
+          'S|short-state'  => \$opt{shortstate},
           'linebreak=s'    => \$opt{linebreak},
           'v|verbose'      => \$opt{verbose},
            'disable-sysfs'  => \$opt{disable_sysfs},
+           'slave-down'     => \$opt{slave_down},
          ) or pod2usage(-exitstatus => $E_UNKNOWN, -verbose => 0);
 
 # If user requested help
@@ -162,6 +164,13 @@ if (!exists $text2exit{$opt{no_bonding}}) {
                  . "' is not a recognized keyword");
 }
 
+# Check syntax of '--slave-down' option
+if (!exists $text2exit{$opt{slave_down}}) {
+    unknown_error("Wrong usage of '--slave-down' option: '"
+                 . $opt{slave_down}
+                 . "' is not a recognized keyword");
+}
+
 #---------------------------------------------------------------------
 # Functions
 #---------------------------------------------------------------------
@@ -426,7 +435,7 @@ foreach my $b (sort keys %bonding) {
                $slaves_are_up = 0;  # not all slaves are up
                my $msg = sprintf 'Bonding interface %s [%s]: Slave %s is %s',
                  $b, $bonding{$b}{mode}, $i, $bonding{$b}{slave}{$i};
-               report($msg, $E_WARNING);
+               report($msg, $text2exit{$opt{slave_down}});
            }
        }
        if ($slaves_are_up) {