From df464707e0bb2a0c6b98a8cf676b490374d44592 Mon Sep 17 00:00:00 2001 From: jbjohnso Date: Wed, 5 Mar 2008 17:35:14 +0000 Subject: [PATCH] Total failure to reach a management module is now reported correctly instead of segfaulting git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@683 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd --- xCAT-server-2.0/lib/xcat/plugins/blade.pm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/xCAT-server-2.0/lib/xcat/plugins/blade.pm b/xCAT-server-2.0/lib/xcat/plugins/blade.pm index 1de12686f..f44f5b538 100644 --- a/xCAT-server-2.0/lib/xcat/plugins/blade.pm +++ b/xCAT-server-2.0/lib/xcat/plugins/blade.pm @@ -1126,7 +1126,13 @@ sub dompa { Timeout=>1300000, #Beacon, for one, takes a bit over a second to return PrivPass => $mpahash->{$mpa}->{password}); if ($session->{ErrorStr}) { return 1,$session->{ErrorStr}; } - unless ($session) { + unless ($session and keys %$session) { + my %err=(node=>[]); + foreach (keys %{$mpahash{$mpa}->{nodes}}) { + push (@{$err{node}},{name=>[$_],error=>["Cannot communicate with $mpa"],errorcode=>[1]}); + } + print $out freeze([\%err]); + print $out "\nENDOFFREEZE6sK4ci\n"; return 1,"General error establishing SNMP communication"; } my $tmp = $session->get([$mmprimoid.".1"]);