Fix CWL tests refs #18238
[arvados.git] / sdk / cwl / arvados_cwl / arvcontainer.py
index 1e79566f4055578ce61c0b37cd9c753429e1da51..ae3c6688955301141f0af3405787c9f831fb58b7 100644 (file)
@@ -283,11 +283,13 @@ class ArvadosContainer(JobBase):
         if self.output_ttl < 0:
             raise WorkflowException("Invalid value %d for output_ttl, cannot be less than zero" % container_request["output_ttl"])
 
-        storage_class_req, _ = self.get_requirement("http://arvados.org/cwl#OutputStorageClass")
-        if storage_class_req and storage_class_req.get("intermediateStorageClass"):
-            container_request["output_storage_classes"] = aslist(storage_class_req["intermediateStorageClass"])
-        else:
-            container_request["output_storage_classes"] = runtimeContext.intermediate_storage_classes.strip().split(",")
+
+        if self.arvrunner.api._rootDesc["revision"] >= "20210628":
+            storage_class_req, _ = self.get_requirement("http://arvados.org/cwl#OutputStorageClass")
+            if storage_class_req and storage_class_req.get("intermediateStorageClass"):
+                container_request["output_storage_classes"] = aslist(storage_class_req["intermediateStorageClass"])
+            else:
+                container_request["output_storage_classes"] = runtimeContext.intermediate_storage_classes.strip().split(",")
 
         if self.timelimit is not None and self.timelimit > 0:
             scheduling_parameters["max_run_time"] = self.timelimit
@@ -518,10 +520,10 @@ class RunnerContainer(Runner):
         if runtimeContext.debug:
             command.append("--debug")
 
-        if runtimeContext.storage_classes != "default":
+        if runtimeContext.storage_classes != "default" and runtimeContext.storage_classes:
             command.append("--storage-classes=" + runtimeContext.storage_classes)
 
-        if runtimeContext.intermediate_storage_classes != "default":
+        if runtimeContext.intermediate_storage_classes != "default" and runtimeContext.intermediate_storage_classes:
             command.append("--intermediate-storage-classes=" + runtimeContext.intermediate_storage_classes)
 
         if self.on_error: