1 #!/usr/bin/env cwl-runner
2 # Copyright (C) The Arvados Authors. All rights reserved.
4 # SPDX-License-Identifier: Apache-2.0
9 arv: "http://arvados.org/cwl#"
10 cwltool: "http://commonwl.org/cwltool#"
13 secrets: [arvados_api_token]
15 StepInputExpressionRequirement: {}
16 InlineJavascriptRequirement: {}
17 SubworkflowFeatureRequirement: {}
19 arvados_api_token: string
20 arvado_api_host_insecure:
23 arvados_api_hosts: string[]
24 arvados_cluster_ids: string[]
30 - runner-home-step-remote
31 - runner-remote-step-home
35 outputSource: base-case/success
36 runner-home-step-remote-success:
38 outputSource: runner-home-step-remote/success
39 runner-remote-step-home-success:
41 outputSource: runner-remote-step-home/success
44 outputSource: remote-case/success
45 twostep-home-to-remote-success:
47 outputSource: twostep-home-to-remote/success
48 twostep-remote-to-home-success:
50 outputSource: twostep-remote-to-home/success
51 twostep-both-remote-success:
53 outputSource: twostep-both-remote/success
54 twostep-remote-copy-to-home-success:
56 outputSource: twostep-remote-copy-to-home/success
57 scatter-gather-success:
59 outputSource: scatter-gather/success
60 threestep-remote-success:
62 outputSource: threestep-remote/success
65 outputSource: hint-on-wf/success
68 outputSource: hint-on-tool/success
73 Base case (no federation), single step workflow with both the
74 runner and step on the same cluster.
76 arvados_api_token: arvados_api_token
77 arvado_api_host_insecure: arvado_api_host_insecure
78 arvados_api_hosts: arvados_api_hosts
79 arvados_cluster_ids: arvados_cluster_ids
84 location: cases/base-case.cwl
87 location: cases/md5sum.cwl
92 location: data/base-case-input.txt
95 self["runOnCluster"] = inputs.arvados_cluster_ids[0];
98 scrub_image: {default: "arvados/fed-test:base-case"}
101 - 031a4ced0aa99de90fb630568afc6e9b+67 # input collection
102 - eb93a6718eb1a1a8ee9f66ee7d683472+51 # md5sum output collection
103 - f654d4048612135f4a5e7707ec0fcf3e+112 # final output json
105 run: framework/testcase.cwl
107 runner-home-step-remote:
109 Single step workflow with the runner on the home cluster and the
110 step on the remote cluster. ClusterTarget hint is on the workflow step.
112 arvados_api_token: arvados_api_token
113 arvado_api_host_insecure: arvado_api_host_insecure
114 arvados_api_hosts: arvados_api_hosts
115 arvados_cluster_ids: arvados_cluster_ids
120 location: cases/runner-home-step-remote.cwl
123 location: cases/md5sum.cwl
128 location: data/runner-home-step-remote-input.txt
131 self["runOnCluster"] = inputs.arvados_cluster_ids[1];
134 runner_cluster: { valueFrom: "$(inputs.arvados_cluster_ids[0])" }
135 scrub_image: {default: "arvados/fed-test:runner-home-step-remote"}
138 - 3bc373e38751fe13dcbd62778d583242+81 # input collection
139 - 428e6d91e41a3af3ae287b453949e7fd+51 # md5sum output collection
140 - a4b0ddd866525655e8480f83a1ca83c6+112 # runner output json
142 run: framework/testcase.cwl
144 runner-remote-step-home:
146 Single step workflow with the runner on the remote cluster and the
147 step on the home cluster.
149 arvados_api_token: arvados_api_token
150 arvado_api_host_insecure: arvado_api_host_insecure
151 arvados_api_hosts: arvados_api_hosts
152 arvados_cluster_ids: arvados_cluster_ids
157 location: cases/runner-remote-step-home.cwl
160 location: cases/md5sum.cwl
165 location: data/runner-remote-step-home-input.txt
168 self["runOnCluster"] = inputs.arvados_cluster_ids[0];
171 runner_cluster: { valueFrom: "$(inputs.arvados_cluster_ids[1])" }
172 scrub_image: {default: "arvados/fed-test:runner-remote-step-home"}
175 - 25fe10d8e8530329a738de69d9bc8ab5+81 # input collection
176 - 7f052d1a04b851b6f73fba77c7802e1d+51 # md5sum output collection
177 - ecb639201f454b6493757f5117f540df+112 # runner output json
179 run: framework/testcase.cwl
183 Single step workflow with both the runner and the step on the
186 arvados_api_token: arvados_api_token
187 arvado_api_host_insecure: arvado_api_host_insecure
188 arvados_api_hosts: arvados_api_hosts
189 arvados_cluster_ids: arvados_cluster_ids
194 location: cases/remote-case.cwl
197 location: cases/md5sum.cwl
202 location: data/remote-case-input.txt
205 self["runOnCluster"] = inputs.arvados_cluster_ids[1];
208 runner_cluster: { valueFrom: "$(inputs.arvados_cluster_ids[1])" }
209 scrub_image: {default: "arvados/fed-test:remote-case"}
212 - fccd49fdef8e452295f718208abafd88+69 # input collection
213 - 58c0e8ea6b148134ef8577ee11307eec+51 # md5sum output collection
214 - 1fd679c5ab64c123b9764024dbf560f0+112 # final output json
216 run: framework/testcase.cwl
218 twostep-home-to-remote:
220 Two step workflow. The runner is on the home cluster, the first
221 step is on the home cluster, the second step is on the remote
224 arvados_api_token: arvados_api_token
225 arvado_api_host_insecure: arvado_api_host_insecure
226 arvados_api_hosts: arvados_api_hosts
227 arvados_cluster_ids: arvados_cluster_ids
232 location: cases/twostep-home-to-remote.cwl
235 location: cases/md5sum.cwl
237 location: cases/rev.cwl
242 location: data/twostep-home-to-remote.txt
245 self["md5sumCluster"] = inputs.arvados_cluster_ids[0];
246 self["revCluster"] = inputs.arvados_cluster_ids[1];
249 runner_cluster: { valueFrom: "$(inputs.arvados_cluster_ids[0])" }
250 scrub_image: {default: "arvados/fed-test:twostep-home-to-remote"}
253 - 268a54947fb75115cfe05bb54cc62c30+74 # input collection
254 - 400f03b8c5d2dc3dcb513a21b626ef88+51 # md5sum output collection
255 - 3738166916ca5f6f6ad12bf7e06b4a21+51 # rev output collection
256 - bc37c17a37aa25229e5de1339b27fbcc+112 # runner output json
258 run: framework/testcase.cwl
260 twostep-remote-to-home:
262 Two step workflow. The runner is on the home cluster, the first
263 step is on the remote cluster, the second step is on the home
266 arvados_api_token: arvados_api_token
267 arvado_api_host_insecure: arvado_api_host_insecure
268 arvados_api_hosts: arvados_api_hosts
269 arvados_cluster_ids: arvados_cluster_ids
274 location: cases/twostep-remote-to-home.cwl
277 location: cases/md5sum.cwl
279 location: cases/rev.cwl
284 location: data/twostep-remote-to-home.txt
287 self["md5sumCluster"] = inputs.arvados_cluster_ids[1];
288 self["revCluster"] = inputs.arvados_cluster_ids[0];
291 runner_cluster: { valueFrom: "$(inputs.arvados_cluster_ids[0])" }
292 scrub_image: {default: "arvados/fed-test:twostep-remote-to-home"}
295 - cce89b9f7b6e163978144051ce5f071a+74 # input collection
296 - 0c358c3af63644c6343766feff1b7238+51 # md5sum output collection
297 - 33fb7d512bf21f04847eca58cea46e74+51 # rev output collection
298 - 912e04aa3db04aba008cf5cd46c277b2+112 # runner output json
300 run: framework/testcase.cwl
304 Two step workflow. The runner is on the home cluster, both steps are
305 on the remote cluster.
307 arvados_api_token: arvados_api_token
308 arvado_api_host_insecure: arvado_api_host_insecure
309 arvados_api_hosts: arvados_api_hosts
310 arvados_cluster_ids: arvados_cluster_ids
315 location: cases/twostep-both-remote.cwl
318 location: cases/md5sum.cwl
320 location: cases/rev.cwl
325 location: data/twostep-both-remote.txt
328 self["md5sumCluster"] = inputs.arvados_cluster_ids[1];
329 self["revCluster"] = inputs.arvados_cluster_ids[1];
332 runner_cluster: { valueFrom: "$(inputs.arvados_cluster_ids[0])" }
333 scrub_image: {default: "arvados/fed-test:twostep-both-remote"}
336 - 3c5e39939cf197d304ac1eac20841238+71 # input collection
337 - 3edb99aa607731593969cdab663d65b4+51 # md5sum output collection
338 - a91625b7139e60fe61a88cae42fbee13+51 # rev output collection
339 - ddfa58a81953dad08436d571615dd584+112 # runner output json
341 run: framework/testcase.cwl
343 twostep-remote-copy-to-home:
345 Two step workflow. The runner is on the home cluster, the first
346 step is on the remote cluster, the second step is on the home
347 cluster, and propagates its input file directly from input to
348 output by symlinking the input file in the output directory.
349 Tests that crunch-run will copy blocks from remote to local
350 when preparing output collection.
352 arvados_api_token: arvados_api_token
353 arvado_api_host_insecure: arvado_api_host_insecure
354 arvados_api_hosts: arvados_api_hosts
355 arvados_cluster_ids: arvados_cluster_ids
360 location: cases/twostep-remote-copy-to-home.cwl
363 location: cases/md5sum.cwl
365 location: cases/rev-input-to-output.cwl
370 location: data/twostep-remote-copy-to-home.txt
373 self["md5sumCluster"] = inputs.arvados_cluster_ids[1];
374 self["revCluster"] = inputs.arvados_cluster_ids[0];
377 runner_cluster: { valueFrom: "$(inputs.arvados_cluster_ids[0])" }
378 scrub_image: {default: "arvados/fed-test:twostep-remote-copy-to-home"}
381 - 538887bc29a3098bf79abdb8536d17bd+79 # input collection
382 - 14da0e0d52d7ab2945427074b275e9ee+51 # md5sum output collection
383 - 2d3a4a840077390a0d7788f169eaba89+112 # rev output collection
384 - 2d3a4a840077390a0d7788f169eaba89+112 # runner output json
386 run: framework/testcase.cwl
391 arvados_api_token: arvados_api_token
392 arvado_api_host_insecure: arvado_api_host_insecure
393 arvados_api_hosts: arvados_api_hosts
394 arvados_cluster_ids: arvados_cluster_ids
399 location: cases/scatter-gather.cwl
402 location: cases/md5sum.cwl
404 location: cases/cat.cwl
409 location: data/scatter-gather-s1.txt
411 location: data/scatter-gather-s2.txt
413 location: data/scatter-gather-s3.txt
416 self["clusters"] = inputs.arvados_cluster_ids;
419 runner_cluster: { valueFrom: "$(inputs.arvados_cluster_ids[0])" }
420 scrub_image: {default: "arvados/fed-test:scatter-gather"}
423 - 99cc18329bce1b4a5fe6c4cf60477668+209 # input collection
424 - 2e570e844e03c7027baad148642d726f+51 # s1 md5sum output collection
425 - 61c88ee7811d0b849b5c06376eb065a6+51 # s2 md5sum output collection
426 - 85aaf18d638045fe609e025d3a319b2a+51 # s3 md5sum output collection
427 - ec44bcba77e65128f1a8f843d881ede4+56 # cat output collection
428 - 89de265942800ae36549109969940363+117 # runner output json
430 run: framework/testcase.cwl
435 arvados_api_token: arvados_api_token
436 arvado_api_host_insecure: arvado_api_host_insecure
437 arvados_api_hosts: arvados_api_hosts
438 arvados_cluster_ids: arvados_cluster_ids
443 location: cases/threestep-remote.cwl
446 location: cases/md5sum.cwl
448 location: cases/rev-input-to-output.cwl
453 location: data/threestep-remote.txt
456 self["clusterA"] = inputs.arvados_cluster_ids[0];
457 self["clusterB"] = inputs.arvados_cluster_ids[1];
458 self["clusterC"] = inputs.arvados_cluster_ids[2];
461 runner_cluster: { valueFrom: "$(inputs.arvados_cluster_ids[0])" }
462 scrub_image: {default: "arvados/fed-test:threestep-remote"}
465 - 9fbf33e62876357fe134f619865cc5a5+68 # input collection
466 - 210c5f2a716f6689b04316acd4928c10+51 # md5sum output collection
467 - 3abea7506269d5ebf61fb17c78bbd2af+105 # revB output
468 - 9e1b3acb28949759ad07e4c9740bbaa5+113 # revC output
469 - 8c86dbec7de7948871b5e168ede417e1+120 # runner output json
471 run: framework/testcase.cwl
475 Single step workflow with the runner on the home cluster and the
476 step on the remote cluster. ClusterTarget hint is at the workflow level.
478 arvados_api_token: arvados_api_token
479 arvado_api_host_insecure: arvado_api_host_insecure
480 arvados_api_hosts: arvados_api_hosts
481 arvados_cluster_ids: arvados_cluster_ids
486 location: cases/hint-on-wf.cwl
489 location: cases/md5sum.cwl
494 location: data/hint-on-wf.txt
497 self["runOnCluster"] = inputs.arvados_cluster_ids[1];
500 runner_cluster: { valueFrom: "$(inputs.arvados_cluster_ids[0])" }
501 scrub_image: {default: "arvados/fed-test:hint-on-wf"}
504 - 862433f328041b2525c90b1dc3c462fd+62 # input collection
505 - 9a68b0b9720977faba8a28e75a4398b7+51 # md5sum output collection
506 - 6a601cddb36ee2f766783b1aa9ff8d66+112 # runner output json
508 run: framework/testcase.cwl
512 Single step workflow with the runner on the home cluster and the
513 step on the remote cluster. ClusterTarget hint is at the tool level.
515 arvados_api_token: arvados_api_token
516 arvado_api_host_insecure: arvado_api_host_insecure
517 arvados_api_hosts: arvados_api_hosts
518 arvados_cluster_ids: arvados_cluster_ids
523 location: cases/hint-on-tool.cwl
526 location: cases/md5sum-tool-hint.cwl
531 location: data/hint-on-tool.txt
534 self["runOnCluster"] = inputs.arvados_cluster_ids[1];
537 runner_cluster: { valueFrom: "$(inputs.arvados_cluster_ids[0])" }
538 scrub_image: {default: "arvados/fed-test:hint-on-tool"}
541 - 6803004a4f8db9f8d1d54f6229851599+64 # input collection
542 - cacb0d56235564b5ff485c5b31215ab5+51 # md5sum output collection
543 - 2b50af43fdd84a9e906be2d54b92cddf+112 # runner output json
545 run: framework/testcase.cwl