You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Please describe what you would like to see in this project
With the implementation of foreach loops of sub-workflows with #71 we find a usability limitation that should be addressed. The current implementation expects the complete sub-workflow schema input requirements to be passed in whole via each list item from the parent workflow input. This causes potentially a lot of duplication of input parameters that can be cumbersome and error-prone. Furthermore, a workflow author should be able to use the output of a plugin in the parent workflow as part of the input to the sub-workflow.
Please describe your use case
Global input example
The workflow author should be able to accept inputs for a benchmark workload once at a global (parent workflow) level that can be passed directly to the sub-workflow(s) where the benchmark plugins are called in order to avoid the need to provide unchanging inputs for each loop iteration.
loops:
- param_a: foo
param_b: bar
param_c: 1
param_d: 2
- param_a: foo
param_b: bar
param_c: 10
param_d: 20
Plugin output example
The workflow author should be able to run the kubeconfig plugin once in the parent workflow and pass the connection output to the sub-workflow(s) for orchestrating.
input:
root: RootObject
objects:
RootObject:
id: RootObject
properties:
kubeconfig:
type:
type_id: string
required: true
workloads:
type:
type_id: list
items:
type_id: object
id: workload
properties:
foo:
type:
type_id: string
required: true
steps:
kubeconfig:
plugin: quay.io/arcalot/arcaflow-plugin-kubeconfig:0.2.0
input:
kubeconfig: !expr $.input.kubeconfig
workload_loop:
kind: foreach
items: !expr $.input.workloads
# I should be able to pass '!expr $.steps.kubeconfig.outputs.connection' here somehow
workflow: sub-workflow.yaml
parallelism: 1
The text was updated successfully, but these errors were encountered:
Please describe what you would like to see in this project
With the implementation of foreach loops of sub-workflows with #71 we find a usability limitation that should be addressed. The current implementation expects the complete sub-workflow schema input requirements to be passed in whole via each list item from the parent workflow input. This causes potentially a lot of duplication of input parameters that can be cumbersome and error-prone. Furthermore, a workflow author should be able to use the output of a plugin in the parent workflow as part of the input to the sub-workflow.
Please describe your use case
Global input example
The workflow author should be able to accept inputs for a benchmark workload once at a global (parent workflow) level that can be passed directly to the sub-workflow(s) where the benchmark plugins are called in order to avoid the need to provide unchanging inputs for each loop iteration.
I would like to provide this:
Instead of the current:
Plugin output example
The workflow author should be able to run the kubeconfig plugin once in the parent workflow and pass the connection output to the sub-workflow(s) for orchestrating.
The text was updated successfully, but these errors were encountered: