From mboxrd@z Thu Jan 1 00:00:00 1970 From: jparsons@sourceware.org Date: 8 Aug 2007 15:49:58 -0000 Subject: [Cluster-devel] cluster/fence/agents/egenera fence_egenera.pl Message-ID: <20070808154958.5177.qmail@sourceware.org> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit CVSROOT: /cvs/cluster Module name: cluster Branch: RHEL5 Changes by: jparsons at sourceware.org 2007-08-08 15:49:57 Modified files: fence/agents/egenera: fence_egenera.pl Log message: Fix for 251358 Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/fence/agents/egenera/fence_egenera.pl.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.2.2.1&r2=1.2.2.2 --- cluster/fence/agents/egenera/fence_egenera.pl 2007/06/27 15:38:17 1.2.2.1 +++ cluster/fence/agents/egenera/fence_egenera.pl 2007/08/08 15:49:57 1.2.2.2 @@ -4,7 +4,7 @@ ############################################################################### ## ## Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. -## Copyright (C) 2004-2007 Red Hat, Inc. All rights reserved. +## Copyright (C) 2004 Red Hat, Inc. All rights reserved. ## ## This copyrighted material is made available to anyone wishing to use, ## modify, copy, or redistribute it subject to the terms and conditions @@ -20,13 +20,14 @@ # "#END_VERSION_GENERATION" It is generated by the Makefile #BEGIN_VERSION_GENERATION -$FENCE_RELEASE_NAME=""; -$REDHAT_COPYRIGHT=""; -$BUILD_DATE=""; +$FENCE_RELEASE_NAME="1.32.25"; +$REDHAT_COPYRIGHT=("Copyright (C) Red Hat, Inc. 2004 All rights reserved."); +$BUILD_DATE="(built Wed May 17 11:59:44 EDT 2006)"; #END_VERSION_GENERATION # Get the program name from $0 and strip directory names $_=$0; +$|=1; s/.*\///; my $pname = $_; @@ -163,6 +164,10 @@ # FIXME should we do more error checking? # Excess name/vals will be eaten for now + else + { + fail "parse error: unknown option \"$opt\""; + } } } @@ -269,7 +274,7 @@ } # Is there any harm in sending this command multiple times? - my $cmd = "ssh $cserv $esh blade -b $_"; + my $cmd = "ssh $cserv $esh pserver -b $lpan/$pserv"; my $pid = open3 (\*WTR, \*RDR,\*RDR, $cmd) or die "error open3(): $!"; @@ -291,11 +296,15 @@ sub pserver_shutdown { my $rtrn=1; + local *egen_log; + open(egen_log,">/tmp/eglog"); for (my $trys=0; $trys<20; $trys++) { last if (pserver_status != 0); + my $status = $_; + print egen_log "shutdown: $trys $status\n"; if (/^Shutdown/) { $rtrn=0; @@ -307,6 +316,12 @@ # do I need to do anything here? # We'll just wait for now } + elsif (/^Booted\(KDB\)/ || /^Debugging/ ) + { + print egen_log "shutdown: crash dump being performed. Waiting\n"; + $rtrn=0; + last; + } else { if (pserver_pblade) @@ -317,8 +332,12 @@ # is there any harm in sending this command multiple # times? my $cmd = "ssh $cserv $esh blade -s $_"; + print egen_log "shutdown: $cmd being called, before open3\n"; my $pid = open3 (\*WTR, \*RDR,\*RDR, $cmd) or die "error open3(): $!"; + print egen_log "shutdown: after calling open3\n"; + @outlines = ; + print egen_log "shutdown: Open3 result: ", @outlines, "\n"; close WTR; close RDR; @@ -329,6 +348,7 @@ sleep 1; } + print egen_log "shutdown: Returning from pserver_shutdown with return code $rtrn\n"; return $rtrn; }