19847: Fix KeepCacheTypeRequirement
authorPeter Amstutz <peter.amstutz@curii.com>
Tue, 6 Dec 2022 18:41:42 +0000 (13:41 -0500)
committerPeter Amstutz <peter.amstutz@curii.com>
Tue, 6 Dec 2022 18:41:42 +0000 (13:41 -0500)
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <peter.amstutz@curii.com>

sdk/cwl/arvados_cwl/arvcontainer.py

index fde9db384e3b8d67ed76761e721f988c37c1dea4..4be2e2bd749ee7232f1a951dedb4d197859d8df1 100644 (file)
@@ -266,11 +266,14 @@ class ArvadosContainer(JobBase):
 
         use_disk_cache = (self.arvrunner.api.config()["Containers"].get("DefaultKeepCacheDisk", 0) > 0)
 
+        keep_cache_type_req, _ = self.get_requirement("http://arvados.org/cwl#KeepCacheTypeRequirement")
+        if keep_cache_type_req:
+            if "keepCacheType" in keep_cache_type_req:
+                if keep_cache_type_req["keepCacheType"] == "ram_cache":
+                    use_disk_cache = False
+
         runtime_req, _ = self.get_requirement("http://arvados.org/cwl#RuntimeConstraints")
         if runtime_req:
-            if "keepCacheType" in runtime_req:
-                if cache_type == "ram_cache":
-                    use_disk_cache = False
             if "keep_cache" in runtime_req:
                 if use_disk_cache:
                     # If DefaultKeepCacheDisk is non-zero it means we should use disk cache.