14198: Tests prefer setting ClusterTarget hint on the workflow step.
authorPeter Amstutz <pamstutz@veritasgenetics.com>
Fri, 16 Nov 2018 21:39:09 +0000 (16:39 -0500)
committerPeter Amstutz <pamstutz@veritasgenetics.com>
Wed, 21 Nov 2018 18:05:27 +0000 (13:05 -0500)
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <pamstutz@veritasgenetics.com>

12 files changed:
sdk/cwl/tests/federation/cases/remote-case-tool-hint.cwl [deleted file]
sdk/cwl/tests/federation/cases/remote-case-wf-hint.cwl [deleted file]
sdk/cwl/tests/federation/cases/remote-case.cwl [moved from sdk/cwl/tests/federation/cases/remote-case-step-hint.cwl with 100% similarity]
sdk/cwl/tests/federation/cases/runner-home-step-remote.cwl
sdk/cwl/tests/federation/cases/runner-remote-step-home.cwl
sdk/cwl/tests/federation/cases/scatter-gather.cwl
sdk/cwl/tests/federation/cases/threestep-remote.cwl
sdk/cwl/tests/federation/cases/twostep-both-remote.cwl
sdk/cwl/tests/federation/cases/twostep-home-to-remote.cwl
sdk/cwl/tests/federation/cases/twostep-remote-copy-to-home.cwl
sdk/cwl/tests/federation/cases/twostep-remote-to-home.cwl
sdk/cwl/tests/federation/main.cwl

diff --git a/sdk/cwl/tests/federation/cases/remote-case-tool-hint.cwl b/sdk/cwl/tests/federation/cases/remote-case-tool-hint.cwl
deleted file mode 100644 (file)
index a52b400..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright (C) The Arvados Authors. All rights reserved.
-#
-# SPDX-License-Identifier: Apache-2.0
-
-cwlVersion: v1.0
-class: Workflow
-$namespaces:
-  arv: "http://arvados.org/cwl#"
-requirements:
-  InlineJavascriptRequirement: {}
-  DockerRequirement:
-    dockerPull: arvados/fed-test:remote-case
-inputs:
-  inp:
-    type: File
-    inputBinding: {}
-  runOnCluster: string
-outputs:
-  hash:
-    type: File
-    outputSource: md5sum/hash
-steps:
-  md5sum:
-    in:
-      inp: inp
-      runOnCluster: runOnCluster
-    out: [hash]
-    run: md5sum-tool-hint.cwl
diff --git a/sdk/cwl/tests/federation/cases/remote-case-wf-hint.cwl b/sdk/cwl/tests/federation/cases/remote-case-wf-hint.cwl
deleted file mode 100644 (file)
index f380de7..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright (C) The Arvados Authors. All rights reserved.
-#
-# SPDX-License-Identifier: Apache-2.0
-
-cwlVersion: v1.0
-class: Workflow
-$namespaces:
-  arv: "http://arvados.org/cwl#"
-requirements:
-  InlineJavascriptRequirement: {}
-  DockerRequirement:
-    dockerPull: arvados/fed-test:remote-case
-hints:
-  arv:ClusterTarget:
-    cluster_id: $(inputs.runOnCluster)
-inputs:
-  inp:
-    type: File
-    inputBinding: {}
-  runOnCluster: string
-outputs:
-  hash:
-    type: File
-    outputSource: md5sum/hash
-steps:
-  md5sum:
-    in:
-      inp: inp
-      runOnCluster: runOnCluster
-    out: [hash]
-    run: md5sum.cwl
index 0621dd736f4f15a147fed48a07b15cd1b3583f5d..67779f9aa085fbddd909e234b7c78d224981e39d 100644 (file)
@@ -24,5 +24,8 @@ steps:
     in:
       inp: inp
       runOnCluster: runOnCluster
+    hints:
+      arv:ClusterTarget:
+        cluster_id: $(inputs.runOnCluster)
     out: [hash]
     run: md5sum.cwl
\ No newline at end of file
index 6ce3cce41980aa0003b84c0e3a387db658d290d0..a74d2f5507afc18092558cdcc456a5e04ef3a5ad 100644 (file)
@@ -14,7 +14,6 @@ inputs:
   inp:
     type: File
     inputBinding: {}
-  runOnCluster: string
 outputs:
   hash:
     type: File
@@ -23,6 +22,8 @@ steps:
   md5sum:
     in:
       inp: inp
-      runOnCluster: runOnCluster
     out: [hash]
+    hints:
+      arv:ClusterTarget:
+        cluster_id: $(inputs.runOnCluster)
     run: md5sum.cwl
\ No newline at end of file
index a0519b29df6514e1f45348b53a2515a553c47ede..07403ed92eb02ea7e5a375c62335a00f92800c8a 100644 (file)
@@ -26,6 +26,9 @@ steps:
     scatter: [inp, runOnCluster]
     scatterMethod: dotproduct
     out: [hash]
+    hints:
+      arv:ClusterTarget:
+        cluster_id: $(inputs.runOnCluster)
     run: md5sum.cwl
   cat:
     in:
index f5a1b3e4ac8bdd3a9d7e026cfbadd0ad492c1080..8dffc18dd6fd3c557d3c11a726bf4d2e1a88069a 100644 (file)
@@ -26,16 +26,25 @@ steps:
       inp: inp
       runOnCluster: clusterA
     out: [hash]
+    hints:
+      arv:ClusterTarget:
+        cluster_id: $(inputs.runOnCluster)
     run: md5sum.cwl
   revB:
     in:
       inp: md5sum/hash
       runOnCluster: clusterB
     out: [revhash]
+    hints:
+      arv:ClusterTarget:
+        cluster_id: $(inputs.runOnCluster)
     run: rev-input-to-output.cwl
   revC:
     in:
       inp: revB/revhash
       runOnCluster: clusterC
     out: [revhash]
+    hints:
+      arv:ClusterTarget:
+        cluster_id: $(inputs.runOnCluster)
     run: rev-input-to-output.cwl
\ No newline at end of file
index c6cc811cb9a12ff818b89e03b078b1f8499548d6..b924c54ec33617c69f2fa1fea6b2aac7a4049188 100644 (file)
@@ -26,10 +26,16 @@ steps:
       inp: inp
       runOnCluster: md5sumCluster
     out: [hash]
+    hints:
+      arv:ClusterTarget:
+        cluster_id: $(inputs.runOnCluster)
     run: md5sum.cwl
   rev:
     in:
       inp: md5sum/hash
       runOnCluster: revCluster
     out: [revhash]
+    hints:
+      arv:ClusterTarget:
+        cluster_id: $(inputs.runOnCluster)
     run: rev.cwl
index 6e8521b2b0465d6234310afada9e624f7ad4a2c9..c74c24778c11078e083520914edd1853fb289c6e 100644 (file)
@@ -26,10 +26,16 @@ steps:
       inp: inp
       runOnCluster: md5sumCluster
     out: [hash]
+    hints:
+      arv:ClusterTarget:
+        cluster_id: $(inputs.runOnCluster)
     run: md5sum.cwl
   rev:
     in:
       inp: md5sum/hash
       runOnCluster: revCluster
     out: [revhash]
+    hints:
+      arv:ClusterTarget:
+        cluster_id: $(inputs.runOnCluster)
     run: rev.cwl
index d1f5896f3f0cb874cf4d3a710da8ea123052f064..3722c99e3a7e65f966c3f450cc97186b7ce212a8 100644 (file)
@@ -26,10 +26,16 @@ steps:
       inp: inp
       runOnCluster: md5sumCluster
     out: [hash]
+    hints:
+      arv:ClusterTarget:
+        cluster_id: $(inputs.runOnCluster)
     run: md5sum.cwl
   rev:
     in:
       inp: md5sum/hash
       runOnCluster: revCluster
     out: [revhash]
+    hints:
+      arv:ClusterTarget:
+        cluster_id: $(inputs.runOnCluster)
     run: rev-input-to-output.cwl
index 7804b20244b779261635c3a893da2599651fe1ae..e528914c5c36aad5c636e7395d6d2eb8f857f0b4 100644 (file)
@@ -26,10 +26,16 @@ steps:
       inp: inp
       runOnCluster: md5sumCluster
     out: [hash]
+    hints:
+      arv:ClusterTarget:
+        cluster_id: $(inputs.runOnCluster)
     run: md5sum.cwl
   rev:
     in:
       inp: md5sum/hash
       runOnCluster: revCluster
     out: [revhash]
+    hints:
+      arv:ClusterTarget:
+        cluster_id: $(inputs.runOnCluster)
     run: rev.cwl
index 40236ce376357d7b060de666010f50a4ba5e209a..d07cdfd18e32eab8ace76caa6f784f25353b5436 100755 (executable)
@@ -101,7 +101,7 @@ steps:
   runner-home-step-remote:
     doc: |
       Single step workflow with the runner on the home cluster and the
-      step on the remote cluster.
+      step on the remote cluster.  ClusterTarget hint is on the workflow step.
     in:
       arvados_api_token: arvados_api_token
       arvado_api_host_insecure: arvado_api_host_insecure
@@ -463,3 +463,77 @@ steps:
           - 8c86dbec7de7948871b5e168ede417e1+120  # runner output json
     out: [out, success]
     run: framework/testcase.cwl
+
+  hint-on-wf:
+    doc: |
+      Single step workflow with the runner on the home cluster and the
+      step on the remote cluster.  ClusterTarget hint is at the workflow level.
+    in:
+      arvados_api_token: arvados_api_token
+      arvado_api_host_insecure: arvado_api_host_insecure
+      arvados_api_hosts: arvados_api_hosts
+      arvados_cluster_ids: arvados_cluster_ids
+      acr: acr
+      wf:
+        default:
+          class: File
+          location: cases/hint-on-wf.cwl
+          secondaryFiles:
+            - class: File
+              location: cases/md5sum.cwl
+      obj:
+        default:
+          inp:
+            class: File
+            location: data/hint-on-wf.txt
+        valueFrom: |-
+          ${
+          self["runOnCluster"] = inputs.arvados_cluster_ids[1];
+          return self;
+          }
+      runner_cluster: { valueFrom: "$(inputs.arvados_cluster_ids[0])" }
+      scrub_image: {default: "arvados/fed-test:hint-on-wf"}
+      scrub_collections:
+        default:
+          - 3bc373e38751fe13dcbd62778d583242+81   # input collection
+          - 428e6d91e41a3af3ae287b453949e7fd+51   # md5sum output collection
+          - a4b0ddd866525655e8480f83a1ca83c6+112  # runner output json
+    out: [out, success]
+    run: framework/testcase.cwl
+
+  hint-on-tool:
+    doc: |
+      Single step workflow with the runner on the home cluster and the
+      step on the remote cluster.  ClusterTarget hint is at the tool level.
+    in:
+      arvados_api_token: arvados_api_token
+      arvado_api_host_insecure: arvado_api_host_insecure
+      arvados_api_hosts: arvados_api_hosts
+      arvados_cluster_ids: arvados_cluster_ids
+      acr: acr
+      wf:
+        default:
+          class: File
+          location: cases/hint-on-tool.cwl
+          secondaryFiles:
+            - class: File
+              location: cases/md5sum-tool-hint.cwl
+      obj:
+        default:
+          inp:
+            class: File
+            location: data/hint-on-tool.txt
+        valueFrom: |-
+          ${
+          self["runOnCluster"] = inputs.arvados_cluster_ids[1];
+          return self;
+          }
+      runner_cluster: { valueFrom: "$(inputs.arvados_cluster_ids[0])" }
+      scrub_image: {default: "arvados/fed-test:hint-on-tool"}
+      scrub_collections:
+        default:
+          - 3bc373e38751fe13dcbd62778d583242+81   # input collection
+          - 428e6d91e41a3af3ae287b453949e7fd+51   # md5sum output collection
+          - a4b0ddd866525655e8480f83a1ca83c6+112  # runner output json
+    out: [out, success]
+    run: framework/testcase.cwl