15814: Fix "secret store only accepts strings" error
authorPeter Amstutz <peter.amstutz@curii.com>
Mon, 17 Jun 2024 19:27:42 +0000 (15:27 -0400)
committerPeter Amstutz <peter.amstutz@curii.com>
Mon, 24 Jun 2024 18:17:03 +0000 (14:17 -0400)
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <peter.amstutz@curii.com>

sdk/cwl/arvados_cwl/executor.py
sdk/cwl/arvados_cwl/runner.py

index 240e014e5ab70b266e1a332e6685dee5396d2be1..f70d81bc7cd1b38dfabafac3b6e5fd94d213d4fc 100644 (file)
@@ -28,7 +28,7 @@ from arvados.errors import ApiError
 
 import arvados_cwl.util
 from .arvcontainer import RunnerContainer, cleanup_name_for_collection
-from .runner import Runner, upload_docker, upload_job_order, upload_workflow_deps, make_builder, update_from_merged_map, print_keep_deps
+from .runner import Runner, upload_docker, upload_job_order, upload_workflow_deps, make_builder, update_from_merged_map, print_keep_deps, ArvSecretStore
 from .arvtool import ArvadosCommandTool, validate_cluster_target, ArvadosExpressionTool
 from .arvworkflow import ArvadosWorkflow, upload_workflow, make_workflow_record
 from .fsaccess import CollectionFsAccess, CollectionFetcher, collectionResolver, CollectionCache, pdh_size
@@ -206,6 +206,7 @@ The 'jobs' API is no longer supported.
         self.toplevel_runtimeContext = ArvRuntimeContext(vars(arvargs))
         self.toplevel_runtimeContext.make_fs_access = partial(CollectionFsAccess,
                                                      collection_cache=self.collection_cache)
+        self.toplevel_runtimeContext.secret_store = ArvSecretStore()
 
         self.defer_downloads = arvargs.submit and arvargs.defer_downloads
 
@@ -963,3 +964,7 @@ The 'jobs' API is no longer supported.
             self.trash_intermediate_output()
 
         return (self.final_output, self.final_status)
+
+def blank_secrets(job_order_object, process):
+    secrets_req, _ = process.get_requirement("http://commonwl.org/cwltool#Secrets")
+    pass
index c80a4b3f2f3d6210e1da0bbaf069f84c0a42bfa8..bac626593ee1b0e71733d45e0cebadc9f39a5934 100644 (file)
@@ -48,6 +48,7 @@ from cwltool.update import INTERNAL_VERSION
 from cwltool.builder import Builder
 import schema_salad.validate as validate
 import schema_salad.ref_resolver
+from cwltool.secrets import SecretStore
 
 import arvados.collection
 import arvados.util
@@ -975,3 +976,9 @@ def print_keep_deps(arvRunner, runtimeContext, merged_map, tool):
 
     json.dump(sorted(references), arvRunner.stdout)
     print(file=arvRunner.stdout)
+
+class ArvSecretStore(SecretStore):
+    def add(self, value):
+        if value is None:
+            return None
+        return super().add(value)