Workflows template

Workflow are defined using a YAML manifest with the following structure:

name: "insert_workflow_name_here"
tasks:
# these are the tasks that will be executed sequentially to complete a trial (configure the system under tests with the parameters optimized by Akamas )
- name: "insert_here_name_of_task"
  # an operator specifies which type of task should be used
  operator: "insert_here_which_operator_to_use_for_the_task"
  # each operator accepts different arguments necessary to specify how it should behave
  arguments:
	...

with the following properties:

NameTypeValue RestrictionsRequiredDefaultDescription

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

Last updated