X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/495a7df016f63ae348000b1c046f8e1c5f1c5903..c40389e0f064d4ea379d5f5471116936239a467a:/sdk/cwl/arvados_cwl/runner.py?ds=sidebyside diff --git a/sdk/cwl/arvados_cwl/runner.py b/sdk/cwl/arvados_cwl/runner.py index 1c3625e26b..09ca63b1a1 100644 --- a/sdk/cwl/arvados_cwl/runner.py +++ b/sdk/cwl/arvados_cwl/runner.py @@ -156,8 +156,9 @@ def upload_instance(arvrunner, name, tool, job_order): return workflowmapper -def arvados_jobs_image(arvrunner): - img = "arvados/jobs:"+__version__ +def arvados_jobs_image(arvrunner, img): + """Determine if the right arvados/jobs image version is available. If not, try to pull and upload it.""" + try: arv_docker_get_image(arvrunner.api, {"dockerPull": img}, True, arvrunner.project_uuid) except Exception as e: @@ -167,7 +168,7 @@ def arvados_jobs_image(arvrunner): class Runner(object): def __init__(self, runner, tool, job_order, enable_reuse, output_name, output_tags, submit_runner_ram=0, - name=None, on_error=None): + name=None, on_error=None, submit_runner_image=None): self.arvrunner = runner self.tool = tool self.job_order = job_order @@ -179,6 +180,7 @@ class Runner(object): self.output_tags = output_tags self.name = name self.on_error = on_error + self.jobs_image = submit_runner_image or "arvados/jobs:"+__version__ if submit_runner_ram: self.submit_runner_ram = submit_runner_ram