Workflows template
Workflow are defined using a YAML manifest with the following structure:
1
name: "insert_workflow_name_here"
2
tasks:
3
# these are the tasks that will be executed sequentially to complete a trial (configure the system under tests with the parameters optimized by Akamas )
4
- name: "insert_here_name_of_task"
5
# an operator specifies which type of task should be used
6
operator: "insert_here_which_operator_to_use_for_the_task"
7
# each operator accepts different arguments necessary to specify how it should behave
8
arguments:
9
...
with the following properties:
Name | Type | Value Restrictions | Required | Default | Description |
---|---|---|---|---|---|
name | string | - | yes | - | The name of the task. |
operator | string | - | yes | - | The operator the task implements: the chosen operator affects available arguments. |
critical | boolean | - | no | true | When set to true, task failure will determine workflow failure. |
alwaysRun | boolean | - | no | false | When set to true, task will be executed regardless of workflow failure. |
collectMetricsOnFailure | boolean | - | no | false | When set to true, failure of the task will not prevent metrics collection. |
arguments | list | Determined by operator choice | yes | - | Arguments list required by operators to run. |
A workflow for the java-based renaissance benchmark application
name: renaissance-optimize
tasks:
- name: Configure Benchmark
operator: FileConfigurator
arguments:
source:
hostname: benchmark
username: akamas
password: akamas
path: launch_benchmark.sh.templ
target:
hostname: benchmark
username: akamas
password: akamas
path: launch_benchmark.sh
- name: Launch Benchmark
operator: Executor
arguments:
command: "bash launch_benchmark.sh"
host:
hostname: benchmark
username: akamas
password: akamas
- name: Parse Output
operator: Executor
arguments:
command: "bash parse_output.sh"
host:
hostname: benchmark
username: akamas
password: akamas
Last modified 1mo ago