Akamas Docs
3.2.2
Search
K

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.
The full list of Operators and related options is provided on the Workflow Operators pages.

Example

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