X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/0d62edcb9d25bf4dcdb20d8872ea7b438e12fc59..91b824a77fe19242de50e838f9f8c4fb30907fa3:/sdk/cwl/arvados_cwl/arvcontainer.py diff --git a/sdk/cwl/arvados_cwl/arvcontainer.py b/sdk/cwl/arvados_cwl/arvcontainer.py index 2c2aa7ff26..dbbd83da2e 100644 --- a/sdk/cwl/arvados_cwl/arvcontainer.py +++ b/sdk/cwl/arvados_cwl/arvcontainer.py @@ -37,7 +37,8 @@ class ArvadosContainer(object): "output_path": self.outdir, "cwd": self.outdir, "priority": 1, - "state": "Committed" + "state": "Committed", + "properties": {} } runtime_constraints = {} mounts = { @@ -113,6 +114,13 @@ class ArvadosContainer(object): container_request["use_existing"] = kwargs.get("enable_reuse", True) container_request["scheduling_parameters"] = scheduling_parameters + if kwargs.get("runnerjob", "").startswith("arvwf:"): + wfuuid = kwargs["runnerjob"][6:kwargs["runnerjob"].index("#")] + wfrecord = self.arvrunner.api.workflows().get(uuid=wfuuid).execute(num_retries=self.arvrunner.num_retries) + if container_request["name"] == "main": + container_request["name"] = wfrecord["name"] + container_request["properties"]["template_uuid"] = wfuuid + try: response = self.arvrunner.api.container_requests().create( body=container_request @@ -216,7 +224,7 @@ class RunnerContainer(Runner): elif workflowcollection.startswith("arvwf:"): workflowpath = "/var/lib/cwl/workflow.json#main" wfuuid = workflowcollection[6:workflowcollection.index("#")] - wfrecord = self.arvrunner.api.workflows().get(uuid=wfuuid).execute() + wfrecord = self.arvrunner.api.workflows().get(uuid=wfuuid).execute(num_retries=self.arvrunner.num_retries) wfobj = yaml.safe_load(wfrecord["definition"]) if container_req["name"].startswith("arvwf:"): container_req["name"] = wfrecord["name"]