[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r28196 - gnunet-planetlab/gplmt/gplmt
From: |
gnunet |
Subject: |
[GNUnet-SVN] r28196 - gnunet-planetlab/gplmt/gplmt |
Date: |
Fri, 19 Jul 2013 14:26:55 +0200 |
Author: wachs
Date: 2013-07-19 14:26:55 +0200 (Fri, 19 Jul 2013)
New Revision: 28196
Modified:
gnunet-planetlab/gplmt/gplmt/Worker.py
Log:
implemented local worker run
Modified: gnunet-planetlab/gplmt/gplmt/Worker.py
===================================================================
--- gnunet-planetlab/gplmt/gplmt/Worker.py 2013-07-19 11:50:52 UTC (rev
28195)
+++ gnunet-planetlab/gplmt/gplmt/Worker.py 2013-07-19 12:26:55 UTC (rev
28196)
@@ -30,8 +30,8 @@
import select
import signal
import inspect
+import subprocess
-
try:
import gplmt.Configuration as Configuration
import gplmt.Util as Util
@@ -221,13 +221,40 @@
class LocalWorker (AbstractWorker):
def connect (self):
- raise NotImplementedError (inspect.stack()[0][3])
+ g_logger.log ("LocalWorker connects to '" + self.node.hostname + "'")
+ try:
+ if not os.path.exists(self.node.hostname):
+ os.makedirs(self.node.hostname)
+ g_logger.log ("Created " + self.node.hostname)
+ except os.error as e:
+ g_logger.log ("Could not created " + self.node.hostname)
+ return TaskExecutionResult(Tasks.Taskresult.fail, "Could not
created '" + self.node.hostname, "' :"+ str (e))
+ return TaskExecutionResult(Tasks.Taskresult.success, "", "")
def disconnect (self):
- raise NotImplementedError
+ return TaskExecutionResult(Tasks.Taskresult.success, "Disconnected",
"")
def exec_run_per_host (self, task):
raise NotImplementedError (inspect.stack()[0][3])
def exec_run (self, task):
- raise NotImplementedError (inspect.stack()[0][3])
+ g_logger.log ("LocalWorker executes on '" + self.node.hostname + "' :
" + task.command + " " + task.arguments)
+ result = Tasks.Taskresult.success
+ returncode = 0
+ output = ""
+ found = False
+ try:
+ output = subprocess.check_output(task.command + " " +
task.arguments, shell=True)
+ except subprocess.CalledProcessError as e:
+ returncode = e.returncode
+ except Exception as e:
+ print e
+ if (task.expected_return_code != -1) and (task.expected_return_code !=
returncode):
+ return
TaskExecutionResult(Tasks.Taskresult.return_value_did_not_match, "Expected
return code " + str(task.expected_return_code) +" but got " +str(returncode)
+"", output)
+ if (task.expected_output != None):
+ for l in output.splitlines():
+ if (task.expected_output in l):
+ found = True
+ if (False == found):
+ return
TaskExecutionResult(Tasks.Taskresult.return_value_did_not_match, "Expected
return code " + str(task.expected_return_code) +" but got " +str(returncode)
+"", output)
+ return TaskExecutionResult(result, "succesful", output)
def exec_put (self, task):
raise NotImplementedError (inspect.stack()[0][3])
def exec_get (self, task):
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r28196 - gnunet-planetlab/gplmt/gplmt,
gnunet <=