From 46ef504debebfe1ccff9827cf53471392f31b563 Mon Sep 17 00:00:00 2001
From: Sebastien Robin <seb@nexedi.com>
Date: Tue, 14 Jun 2011 09:17:46 +0200
Subject: [PATCH] move stdout and stderr file creation in testnode

This will allows to use it for several different external method
calls
---
 slapos/recipe/erp5testnode/SlapOSControler.py | 10 ++--------
 slapos/recipe/erp5testnode/testnode.py        | 13 ++++++++++++-
 2 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/slapos/recipe/erp5testnode/SlapOSControler.py b/slapos/recipe/erp5testnode/SlapOSControler.py
index e48e3070a..ccc483fa7 100644
--- a/slapos/recipe/erp5testnode/SlapOSControler.py
+++ b/slapos/recipe/erp5testnode/SlapOSControler.py
@@ -46,18 +46,12 @@ class SlapOSControler(object):
  'reference': config['computer_id'],
  'software_root': config['software_root']}))
 
-  def runSoftwareRelease(self, config, environment, process_group_pid_set=None):
+  def runSoftwareRelease(self, config, environment, process_group_pid_set=None,
+                         stdout=None, stderr=None):
     print "SlapOSControler.runSoftwareRelease"
     cpu_count = os.sysconf("SC_NPROCESSORS_ONLN")
     os.putenv('MAKEFLAGS', '-j%s' % cpu_count)
     os.environ['PATH'] = environment['PATH']
-    stdout = open(os.path.join(
-                  config['instance_root'],'.runSoftwareRelease_out'),
-                  'w+')
-    stdout.write("SlapOSControler.runSoftwareRelease")
-    stderr = open(os.path.join(
-                  config['instance_root'],'.runSoftwareRelease_err'),
-                  'w+')
     slapgrid = subprocess.Popen([config['slapgrid_software_binary'], '-v', '-c',
       #'--buildout-parameter',"'-U -N' -o",
       config['slapos_config']],
diff --git a/slapos/recipe/erp5testnode/testnode.py b/slapos/recipe/erp5testnode/testnode.py
index 4e6c065d5..905acab5b 100644
--- a/slapos/recipe/erp5testnode/testnode.py
+++ b/slapos/recipe/erp5testnode/testnode.py
@@ -55,6 +55,16 @@ def safeRpcCall(function, *args):
       time.sleep(retry)
       retry += retry >> 1
 
+def getInputOutputFileList(config, command_name)
+  stdout = open(os.path.join(
+                config['instance_root'],'.%s_out' % command_name),
+                'w+')
+  stdout.write("%s\n" command_name)
+  stderr = open(os.path.join(
+                config['instance_root'],'.%s_err' % command_name),
+                'w+')
+  return (stdout, stderr)
+
 slapos_controler = None
 
 def run(args):
@@ -171,10 +181,11 @@ branch = %(branch)s
           # Now prepare the installation of SlapOS
           slapos_controler = SlapOSControler(config,
             process_group_pid_set=process_group_pid_set)
-          # this should be always true later, but it is too slow for now
+          stdout, stderr = getInputOutputFileList(config, "runSoftwareRelease")
           status_dict = slapos_controler.runSoftwareRelease(config,
             environment=config['environment'],
             process_group_pid_set=process_group_pid_set,
+            stdout=stdout, stderr=stderr
             )
           if status_dict['status_code'] != 0:
             safeRpcCall(master.reportTaskFailure,
-- 
2.30.9