From: Peter Amstutz Date: Mon, 21 Mar 2016 16:37:38 +0000 (-0400) Subject: Merge branch 'master' into 8654-arv-jobs-cwl-runner X-Git-Tag: 1.1.0~1022^2~36 X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/f04cfcce18c6e4bd1faf3140ccbc835328580024 Merge branch 'master' into 8654-arv-jobs-cwl-runner --- f04cfcce18c6e4bd1faf3140ccbc835328580024 diff --cc sdk/cwl/arvados_cwl/__init__.py index 480d18ef81,5ed83abb92..c0adb33550 --- a/sdk/cwl/arvados_cwl/__init__.py +++ b/sdk/cwl/arvados_cwl/__init__.py @@@ -348,47 -360,11 +364,49 @@@ class ArvCwlRunner(object) def add_uploaded(self, src, pair): self.uploaded[src] = pair + def upload_docker(self, tool): + pass + + def submit(self, tool, job_order, input_basedir, args, **kwargs): + files = set() + def visitFiles(self, path): + files.add(path) + + adjustFiles(process.scandeps("", tool.tool, + set(("run")), + set(("$schemas", "path"))), + visitFiles) + adjustFiles(job_order, visitFiles) + + mapper = ArvPathMapper(self, files, "", + "$(task.keep)/%s", + "$(task.keep)/%s/%s", + **kwargs) + + job_order = adjustFiles(job_order, lambda p: mapper.mapper(p)) + + response = self.api.jobs().create(body={ + "script": "cwl-runner", + "script_version": "8654-arv-jobs-cwl-runner", + "repository": "arvados", + "script_parameters": job_order, + "runtime_constraints": { + "docker_image": "arvados/jobs" + } + }, find_or_create=args.enable_reuse).execute(num_retries=self.num_retries) + print response["uuid"] + return None + + def arvExecutor(self, tool, job_order, input_basedir, args, **kwargs): + if args.submit: + self.submit(tool, job_order, input_basedir, args, **kwargs) + return + events = arvados.events.subscribe(arvados.api('v1'), [["object_uuid", "is_a", "arvados#job"]], self.on_message) + self.debug = args.debug + try: self.api.collections().get(uuid=crunchrunner_pdh).execute() except arvados.errors.ApiError as e: