Merge branch '12278-cwl-debug-flag' closes #12278
authorPeter Amstutz <peter.amstutz@curoverse.com>
Fri, 29 Sep 2017 20:33:12 +0000 (16:33 -0400)
committerPeter Amstutz <peter.amstutz@curoverse.com>
Fri, 29 Sep 2017 20:33:19 +0000 (16:33 -0400)
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <pamstutz@veritasgenetics.com>

1  2 
sdk/cwl/arvados_cwl/arvjob.py

index 737c9580fb8ceef04576168a15a53d991f9cf496,7fc62db9513e1793021b26b9d8d52ba405dada1f..25f64ea23065f887517c2ddba5ac728f18e856b6
@@@ -184,19 -184,17 +184,19 @@@ class ArvadosJob(object)
          if self.arvrunner.pipeline:
              self.arvrunner.pipeline["components"][self.name] = {"job": record}
              with Perf(metrics, "update_pipeline_component %s" % self.name):
 -                self.arvrunner.pipeline = self.arvrunner.api.pipeline_instances().update(uuid=self.arvrunner.pipeline["uuid"],
 -                                                                                 body={
 -                                                                                    "components": self.arvrunner.pipeline["components"]
 -                                                                                 }).execute(num_retries=self.arvrunner.num_retries)
 +                self.arvrunner.pipeline = self.arvrunner.api.pipeline_instances().update(
 +                    uuid=self.arvrunner.pipeline["uuid"],
 +                    body={
 +                        "components": self.arvrunner.pipeline["components"]
 +                    }).execute(num_retries=self.arvrunner.num_retries)
          if self.arvrunner.uuid:
              try:
                  job = self.arvrunner.api.jobs().get(uuid=self.arvrunner.uuid).execute()
                  if job:
                      components = job["components"]
                      components[self.name] = record["uuid"]
 -                    self.arvrunner.api.jobs().update(uuid=self.arvrunner.uuid,
 +                    self.arvrunner.api.jobs().update(
 +                        uuid=self.arvrunner.uuid,
                          body={
                              "components": components
                          }).execute(num_retries=self.arvrunner.num_retries)
@@@ -299,6 -297,9 +299,9 @@@ class RunnerJob(Runner)
          if self.on_error:
              self.job_order["arv:on_error"] = self.on_error
  
+         if kwargs.get("debug"):
+             self.job_order["arv:debug"] = True
          return {
              "script": "cwl-runner",
              "script_version": "master",
  
          del job_spec["owner_uuid"]
          job_spec["job"] = job
 +
 +        instance_spec = {
 +            "owner_uuid": self.arvrunner.project_uuid,
 +            "name": self.name,
 +            "components": {
 +                "cwl-runner": job_spec,
 +            },
 +            "state": "RunningOnServer",
 +        }
 +        if not self.enable_reuse:
 +            instance_spec["properties"] = {"run_options": {"enable_job_reuse": False}}
 +
          self.arvrunner.pipeline = self.arvrunner.api.pipeline_instances().create(
 -            body={
 -                "owner_uuid": self.arvrunner.project_uuid,
 -                "name": self.name,
 -                "components": {"cwl-runner": job_spec },
 -                "state": "RunningOnServer"}).execute(num_retries=self.arvrunner.num_retries)
 +            body=instance_spec).execute(num_retries=self.arvrunner.num_retries)
          logger.info("Created pipeline %s", self.arvrunner.pipeline["uuid"])
  
          if kwargs.get("wait") is False: