8654: Add runner job to pipeline instance.
authorPeter Amstutz <peter.amstutz@curoverse.com>
Mon, 21 Mar 2016 20:55:12 +0000 (16:55 -0400)
committerPeter Amstutz <peter.amstutz@curoverse.com>
Mon, 21 Mar 2016 20:55:12 +0000 (16:55 -0400)
crunch_scripts/cwl-runner
sdk/cwl/arvados_cwl/__init__.py

index 2b52557961f24adc5079384e5e04702abff32c7a..7fb14abd9609a79529d69b8554077548553f2bf7 100755 (executable)
@@ -35,7 +35,7 @@ try:
     np = argparse.Namespace()
     np.project_uuid = arvados.current_job()["owner_uuid"]
     np.enable_reuse = True
-    outputObj = runner.arvExecutor(t, job_order_object, "", np)
+    outputObj = runner.arvExecutor(t, job_order_object, "", np, cwl_runner_job=arvados.current_job())
 
     files = {}
     def capture(path):
index d4c0b64ca167ad7abea638df2e061e266080d6a6..e170648e34c7047b396c5b8b7621f1d152ce815a 100644 (file)
@@ -460,11 +460,15 @@ class ArvCwlRunner(object):
         if kwargs.get("conformance_test"):
             return cwltool.main.single_job_executor(tool, job_order, input_basedir, args, **kwargs)
         else:
+            components = {}
+            if "cwl_runner_job" in kwargs:
+                components[os.path.basename(tool.tool["id"])] = {"job": kwargs["cwl_runner_job"]}
+
             self.pipeline = self.api.pipeline_instances().create(
                 body={
                     "owner_uuid": self.project_uuid,
                     "name": shortname(tool.tool["id"]),
-                    "components": {},
+                    "components": components,
                     "state": "RunningOnClient"}).execute(num_retries=self.num_retries)
 
             logger.info("Pipeline instance %s", self.pipeline["uuid"])