瀏覽代碼

Nagios::Plugin::JUNOS: send_query: Support fallback to JUNOS::Device::command.

Sebastian Harl 13 年之前
父節點
當前提交
0d4f3dab1a
共有 1 個文件被更改,包括 8 次插入3 次删除
  1. 8 3
      perl/lib/Nagios/Plugin/JUNOS.pm

+ 8 - 3
perl/lib/Nagios/Plugin/JUNOS.pm

@@ -390,7 +390,7 @@ sub send_query
 {
 	my $self      = shift;
 	my $query     = shift;
-	my $queryargs = shift;
+	my $queryargs = shift || {};
 
 	my $res;
 	my $err;
@@ -399,10 +399,15 @@ sub send_query
 		. join(", ", map { "$_ => $queryargs->{$_}" } keys %$queryargs)
 		. " to router.");
 
-	if (ref $queryargs) {
+	if (scalar(keys %$queryargs)) {
 		$res = $self->{'junos'}->$query(%$queryargs);
 	} else {
-		$res = $self->{'junos'}->$query();
+		eval {
+			$res = $self->{'junos'}->$query();
+		};
+		if ($@) {
+			$res = $self->{'junos'}->command($query);
+		}
 	}
 
 	if (! ref $res) {