X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/b7b9ea44ada30b1251fb10c872cb1da1d7c29bd0..d4a9835195f1c87d6d3436050d55bc60ba031259:/sdk/cwl/arvados_cwl/arvjob.py diff --git a/sdk/cwl/arvados_cwl/arvjob.py b/sdk/cwl/arvados_cwl/arvjob.py index 6fb0fb96cf..9f11058b9e 100644 --- a/sdk/cwl/arvados_cwl/arvjob.py +++ b/sdk/cwl/arvados_cwl/arvjob.py @@ -7,12 +7,12 @@ from cwltool.errors import WorkflowException from cwltool.draft2tool import revmap_file, CommandLineTool from cwltool.load_tool import fetch_document from cwltool.builder import Builder -from cwltool.pathmapper import PathMapper import arvados.collection from .arvdocker import arv_docker_get_image from .runner import Runner +from .pathmapper import InitialWorkDirPathMapper from . import done logger = logging.getLogger('arvados.cwl-runner') @@ -38,8 +38,8 @@ class ArvadosJob(object): if self.generatefiles["listing"]: vwd = arvados.collection.Collection() script_parameters["task.vwd"] = {} - generatemapper = PathMapper([self.generatefiles], self.outdir, - ".", separateDirs=False) + generatemapper = InitialWorkDirPathMapper([self.generatefiles], "", "", + separateDirs=False) for f, p in generatemapper.items(): if p.type == "CreateFile": with vwd.open(p.target, "w") as n: @@ -47,7 +47,7 @@ class ArvadosJob(object): vwd.save_new() for f, p in generatemapper.items(): if p.type == "File": - script_parameters["task.vwd"][p.target] = self.pathmapper.mapper(f).target + script_parameters["task.vwd"][p.target] = p.resolved if p.type == "CreateFile": script_parameters["task.vwd"][p.target] = "$(task.keep)/%s/%s" % (vwd.portable_data_hash(), p.target) @@ -95,7 +95,7 @@ class ArvadosJob(object): "owner_uuid": self.arvrunner.project_uuid, "script": "crunchrunner", "repository": "arvados", - "script_version": "9570-cwl-v1.0", + "script_version": "master", "minimum_script_version": "9e5b98e8f5f4727856b53447191f9c06e3da2ba6", "script_parameters": {"tasks": [script_parameters]}, "runtime_constraints": runtime_constraints @@ -227,7 +227,7 @@ class RunnerJob(Runner): logger.info("Submitted job %s", response["uuid"]) if kwargs.get("submit"): - self.pipeline = self.arvrunner.api.pipeline_instances().create( + self.arvrunner.pipeline = self.arvrunner.api.pipeline_instances().create( body={ "owner_uuid": self.arvrunner.project_uuid, "name": shortname(self.tool.tool["id"]), @@ -297,7 +297,7 @@ class RunnerTemplate(object): # Title and description... title = param.pop('label', '') - descr = param.pop('description', '').rstrip('\n') + descr = param.pop('doc', '').rstrip('\n') if title: param['title'] = title if descr: @@ -310,8 +310,8 @@ class RunnerTemplate(object): pass elif not isinstance(value, dict): param['value'] = value - elif param.get('dataclass') == 'File' and value.get('path'): - param['value'] = value['path'] + elif param.get('dataclass') == 'File' and value.get('location'): + param['value'] = value['location'] spec['script_parameters'][param_id] = param spec['script_parameters']['cwl:tool'] = job_params['cwl:tool']