X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/b5d352d6099b60db5dcdd9183dcab3e8e17d729e..0561bd0c3c07257fd58ded6c7cfa5feeae97af57:/sdk/cwl/arvados_cwl/arvcontainer.py diff --git a/sdk/cwl/arvados_cwl/arvcontainer.py b/sdk/cwl/arvados_cwl/arvcontainer.py index b58a858c8d..4ab65d9d87 100644 --- a/sdk/cwl/arvados_cwl/arvcontainer.py +++ b/sdk/cwl/arvados_cwl/arvcontainer.py @@ -1,3 +1,7 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: Apache-2.0 + import logging import json import os @@ -184,9 +188,15 @@ class ArvadosContainer(object): container_request["output_ttl"] = self.output_ttl container_request["mounts"] = mounts container_request["runtime_constraints"] = runtime_constraints - container_request["use_existing"] = kwargs.get("enable_reuse", True) container_request["scheduling_parameters"] = scheduling_parameters + enable_reuse = kwargs.get("enable_reuse", True) + if enable_reuse: + reuse_req, _ = get_feature(self, "http://arvados.org/cwl#ReuseRequirement") + if reuse_req: + enable_reuse = reuse_req["enableReuse"] + container_request["use_existing"] = enable_reuse + 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)