projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
14325: Merge branch 'master'
[arvados.git]
/
sdk
/
cwl
/
arvados_cwl
/
arvjob.py
diff --git
a/sdk/cwl/arvados_cwl/arvjob.py
b/sdk/cwl/arvados_cwl/arvjob.py
index 9a03372d32de9375e9401fe4fc4099dce61f1181..69fe7e2a8f1b632675b16eeb3f6ad07ee76c00e8 100644
(file)
--- a/
sdk/cwl/arvados_cwl/arvjob.py
+++ b/
sdk/cwl/arvados_cwl/arvjob.py
@@
-2,6
+2,10
@@
#
# SPDX-License-Identifier: Apache-2.0
#
# SPDX-License-Identifier: Apache-2.0
+from past.builtins import basestring
+from builtins import object
+from future.utils import viewitems
+
import logging
import re
import copy
import logging
import re
import copy
@@
-67,7
+71,7
@@
class ArvadosJob(JobBase):
keep_client=self.arvrunner.keep_client,
num_retries=self.arvrunner.num_retries)
script_parameters["task.vwd"] = {}
keep_client=self.arvrunner.keep_client,
num_retries=self.arvrunner.num_retries)
script_parameters["task.vwd"] = {}
- generatemapper = VwdPathMapper(
[self.generatefiles
], "", "",
+ generatemapper = VwdPathMapper(
self.generatefiles["listing"
], "", "",
separateDirs=False)
with Perf(metrics, "createfiles %s" % self.name):
separateDirs=False)
with Perf(metrics, "createfiles %s" % self.name):
@@
-243,7
+247,7
@@
class ArvadosJob(JobBase):
api_client=self.arvrunner.api,
keep_client=self.arvrunner.keep_client,
num_retries=self.arvrunner.num_retries)
api_client=self.arvrunner.api,
keep_client=self.arvrunner.keep_client,
num_retries=self.arvrunner.num_retries)
- log = logc.open(l
ogc.keys(
)[0])
+ log = logc.open(l
ist(logc.keys()
)[0])
dirs = {
"tmpdir": "/tmpdir",
"outdir": "/outdir",
dirs = {
"tmpdir": "/tmpdir",
"outdir": "/outdir",
@@
-296,10
+300,10
@@
class RunnerJob(Runner):
a pipeline template or pipeline instance.
"""
a pipeline template or pipeline instance.
"""
- if self.tool.tool["id"].startswith("keep:"):
- self.job_order["cwl:tool"] = self.tool.tool["id"][5:]
+ if self.
embedded_
tool.tool["id"].startswith("keep:"):
+ self.job_order["cwl:tool"] = self.
embedded_
tool.tool["id"][5:]
else:
else:
- packed = packed_workflow(self.arvrunner, self.tool, self.merged_map)
+ packed = packed_workflow(self.arvrunner, self.
embedded_
tool, self.merged_map)
wf_pdh = upload_workflow_collection(self.arvrunner, self.name, packed)
self.job_order["cwl:tool"] = "%s/workflow.cwl#main" % wf_pdh
wf_pdh = upload_workflow_collection(self.arvrunner, self.name, packed)
self.job_order["cwl:tool"] = "%s/workflow.cwl#main" % wf_pdh
@@
-343,7
+347,7
@@
class RunnerJob(Runner):
find_or_create=self.enable_reuse
).execute(num_retries=self.arvrunner.num_retries)
find_or_create=self.enable_reuse
).execute(num_retries=self.arvrunner.num_retries)
- for k,v in
job_spec["script_parameters"].items(
):
+ for k,v in
viewitems(job_spec["script_parameters"]
):
if v is False or v is None or isinstance(v, dict):
job_spec["script_parameters"][k] = {"value": v}
if v is False or v is None or isinstance(v, dict):
job_spec["script_parameters"][k] = {"value": v}
@@
-386,19
+390,21
@@
class RunnerTemplate(object):
}
def __init__(self, runner, tool, job_order, enable_reuse, uuid,
}
def __init__(self, runner, tool, job_order, enable_reuse, uuid,
- submit_runner_ram=0, name=None, merged_map=None):
+ submit_runner_ram=0, name=None, merged_map=None,
+ loadingContext=None):
self.runner = runner
self.runner = runner
- self.tool = tool
+ self.
embedded_
tool = tool
self.job = RunnerJob(
runner=runner,
tool=tool,
self.job = RunnerJob(
runner=runner,
tool=tool,
- job_order=job_order,
enable_reuse=enable_reuse,
output_name=None,
output_tags=None,
submit_runner_ram=submit_runner_ram,
name=name,
enable_reuse=enable_reuse,
output_name=None,
output_tags=None,
submit_runner_ram=submit_runner_ram,
name=name,
- merged_map=merged_map)
+ merged_map=merged_map,
+ loadingContext=loadingContext)
+ self.job.job_order = job_order
self.uuid = uuid
def pipeline_component_spec(self):
self.uuid = uuid
def pipeline_component_spec(self):
@@
-420,7
+426,7
@@
class RunnerTemplate(object):
job_params = spec['script_parameters']
spec['script_parameters'] = {}
job_params = spec['script_parameters']
spec['script_parameters'] = {}
- for param in self.tool.tool['inputs']:
+ for param in self.
embedded_
tool.tool['inputs']:
param = copy.deepcopy(param)
# Data type and "required" flag...
param = copy.deepcopy(param)
# Data type and "required" flag...