CVSROOT:        /cvs/cluster
Module name:    cluster
Branch:         RHEL5
Changes by:     [EMAIL PROTECTED]       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 = <RDR>;
+                        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;
 }
 

Reply via email to