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