Merge branch 'ansible' of ssh://git.planet-lab.org/git/bootmanager into ansible
authorSapan Bhatia <gwsapan@gmail.com>
Wed, 16 Apr 2014 06:41:41 +0000 (02:41 -0400)
committerSapan Bhatia <gwsapan@gmail.com>
Wed, 16 Apr 2014 06:41:41 +0000 (02:41 -0400)
Makefile
source/BootManager.py

index ee833d3..1d6a0fd 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -15,8 +15,8 @@ SSHURL:=root@$(PLC):/
 SSHCOMMAND:=ssh root@$(PLC)
 else
 ifdef PLCHOSTLXC
-SSHURL:=root@$(PLCHOSTLXC):/var/lib/lxc/$(GUESTNAME)/rootfs
-SSHCOMMAND:=ssh root@$(PLCHOSTLXC) ssh $(GUESTHOSTNAME)
+SSHURL:=root@$(PLCHOSTLXC):/vservers/$(GUESTNAME)
+SSHCOMMAND:=ssh root@$(PLCHOSTLXC) virsh -c lxc:/// lxc-enter-namespace $(GUESTNAME) -- /usr/bin/env 
 else
 ifdef PLCHOSTVS
 SSHURL:=root@$(PLCHOSTVS):/vservers/$(GUESTNAME)
@@ -42,7 +42,7 @@ ifeq (,$(SSHURL))
 else
        $(SSHCOMMAND) mkdir -p /usr/share/bootmanager/$(DEPLOYMENT)
        +$(RSYNC) build.sh source $(SSHURL)/usr/share/bootmanager/$(DEPLOYMENT)
-       $(SSHCOMMAND) service plc start bootmanager
+       $(SSHCOMMAND) /etc/plc.d/bootmanager start
 endif
 
 ##########
index 32d7ba8..5270c6c 100755 (executable)
@@ -6,8 +6,9 @@
 # Copyright (c) 2004-2006 The Trustees of Princeton University
 # All rights reserved.
 
+import sys, os
+import traceback
 import string
-import sys, os, traceback
 import time
 import gzip
 
@@ -109,6 +110,12 @@ class log:
         """
         self.LogEntry( str, 0, 1 )
     
+    def print_stack (self):
+        """
+        dump current stack in log
+        """
+        self.write ( traceback.format_exc() )
+
     # bm log uploading is available back again, as of nodeconfig-5.0-2
     def Upload( self, extra_file=None ):
         """
@@ -332,18 +339,20 @@ class BootManager:
 
         except KeyError, e:
             self.LOG.write( "\n\nKeyError while running: %s\n" % str(e) )
+            self.LOG.print_stack ()
         except BootManagerException, e:
             self.LOG.write( "\n\nException while running: %s\n" % str(e) )
+            self.LOG.print_stack ()
         except BootManagerAuthenticationException, e:
             self.LOG.write( "\n\nFailed to Authenticate Node: %s\n" % str(e) )
+            self.LOG.print_stack ()
             # sets /tmp/CANCEL_BOOT flag
             StartDebug.Run(self.VARS, self.LOG )
             # Return immediately b/c any other calls to API will fail
             return success
         except:
             self.LOG.write( "\n\nImplementation Error\n")
-            traceback.print_exc(file=self.LOG.OutputFile)
-            traceback.print_exc()
+            self.LOG.print_stack ()
 
         if not success:
             try: