Title: [opsview] [11898] Updated library to return undef on error
- Revision
- 11898
- Author
- hstevenson
- Date
- 2013-03-21 12:43:53 +0000 (Thu, 21 Mar 2013)
Log Message
Updated library to return undef on error
Modified Paths
Modified: trunk/opsview-core/lib/Opsview/NagiosPlugin/SNMP.pm
===================================================================
--- trunk/opsview-core/lib/Opsview/NagiosPlugin/SNMP.pm 2013-03-21 12:39:46 UTC (rev 11897)
+++ trunk/opsview-core/lib/Opsview/NagiosPlugin/SNMP.pm 2013-03-21 12:43:53 UTC (rev 11898)
@@ -176,15 +176,19 @@
}
-# Makes connection and returns the Net::SNMP object
+#Makes connection and returns the Net::SNMP object
+# Can take overrides, eg:
+# $snmp = $np->snmp( { rocommunity => "public@192.168.1.1" } );
sub snmp {
my ( $self, $overrides ) = @_;
+ my $undef_on_failure = $overrides->{undef_on_failure} || 0;
+
my $opts = $self->opts;
my $version = $opts->get( 'snmp-version' );
- my $hostname = $opts->get( 'hostname' );
+ my $hostname = $overrides->{hostname} || $opts->get( 'hostname' );
my @args = (
'-hostname' => $hostname,
@@ -210,6 +214,9 @@
my ( $session, $error ) = Net::SNMP->session( "-version", $version, @args );
if ( $error ne '' ) {
+ if ($undef_on_failure) {
+ return undef;
+ }
$self->die( "Net-SNMP session creation failed: $error" );
}
@@ -221,6 +228,9 @@
( $session, $error ) = Net::SNMP->session( "-version", "1", @args );
if ( $error ne '' ) {
+ if ($undef_on_failure) {
+ return undef;
+ }
$self->die( "Net-SNMP session creation failed: $error" );
}
_______________________________________________
Opsview-checkins mailing list
Opsview-checkins@lists.opsview.org
http://lists.opsview.org/lists/listinfo/opsview-checkins