abe7102814
Originally, we did not find a good terms for hook entities, so term "hook" had several meanings: the plugin of action and the combination of trigger+action configs. While we are working on task format v2, we can make the things easier. * rename plugin base Hook to HookAction; * unification section "hooks" of task config format v2. Now, it looks similar to other sections. Change-Id: Ic800fd4c9cb1ca19b7f6896e2994ca2e30f5138a
479 lines
12 KiB
YAML
479 lines
12 KiB
YAML
---
|
|
version: 2
|
|
title: Task for rally-tox-self job
|
|
description: >
|
|
This task contains various scenarios for testing rally features
|
|
subtasks:
|
|
-
|
|
title: Test SLA plugins
|
|
workloads:
|
|
-
|
|
description: "Check SLA"
|
|
scenario:
|
|
Dummy.dummy:
|
|
sleep: 0.25
|
|
runner:
|
|
constant:
|
|
times: 20
|
|
concurrency: 5
|
|
sla:
|
|
failure_rate:
|
|
max: 0
|
|
max_seconds_per_iteration: 1.0
|
|
max_avg_duration: 0.5
|
|
outliers:
|
|
max: 1
|
|
min_iterations: 10
|
|
sigmas: 10
|
|
performance_degradation:
|
|
max_degradation: 50
|
|
-
|
|
description: Check failure_rate SLA plugin
|
|
scenario:
|
|
Dummy.failure:
|
|
sleep: 0.2
|
|
from_iteration: 5
|
|
to_iteration: 15
|
|
each: 2
|
|
runner:
|
|
constant:
|
|
times: 20
|
|
concurrency: 5
|
|
sla:
|
|
failure_rate:
|
|
min: 25
|
|
max: 25
|
|
-
|
|
description: Check max_avg_duration_per_atomic SLA plugin
|
|
scenario:
|
|
Dummy.dummy_timed_atomic_actions:
|
|
number_of_actions: 5
|
|
sleep_factor: 1
|
|
runner:
|
|
constant:
|
|
times: 3
|
|
concurrency: 3
|
|
sla:
|
|
max_avg_duration_per_atomic:
|
|
action_0: 1.0
|
|
action_1: 2.0
|
|
action_2: 3.0
|
|
action_3: 4.0
|
|
action_4: 5.0
|
|
|
|
-
|
|
title: Test constant runner
|
|
workloads:
|
|
-
|
|
description: "Check 'constant' runner."
|
|
scenario:
|
|
Dummy.dummy:
|
|
sleep: 0.25
|
|
runner:
|
|
constant:
|
|
times: 8
|
|
concurrency: 4
|
|
max_cpu_count: 2
|
|
sla:
|
|
failure_rate:
|
|
max: 0
|
|
-
|
|
scenario:
|
|
Dummy.dummy:
|
|
sleep: 0
|
|
runner:
|
|
constant:
|
|
times: 4500
|
|
concurrency: 20
|
|
sla:
|
|
failure_rate:
|
|
max: 0
|
|
-
|
|
description: >
|
|
Check the ability of constant runner to terminate scenario by timeout.
|
|
scenario:
|
|
Dummy.dummy:
|
|
sleep: 30
|
|
runner:
|
|
constant:
|
|
times: 2
|
|
concurrency: 2
|
|
timeout: 1
|
|
sla:
|
|
failure_rate:
|
|
min: 100
|
|
|
|
-
|
|
title: Test constant_for_duration runner
|
|
workloads:
|
|
-
|
|
description: "Check 'constant_for_duration' runner."
|
|
scenario:
|
|
Dummy.dummy:
|
|
sleep: 0.1
|
|
runner:
|
|
constant_for_duration:
|
|
duration: 5
|
|
concurrency: 5
|
|
sla:
|
|
failure_rate:
|
|
max: 0
|
|
|
|
-
|
|
title: Test rps runner
|
|
workloads:
|
|
-
|
|
description: "Check 'rps' runner."
|
|
scenario:
|
|
Dummy.dummy:
|
|
sleep: 0.001
|
|
runner:
|
|
rps:
|
|
times: 2000
|
|
rps: 200
|
|
sla:
|
|
failure_rate:
|
|
max: 0
|
|
-
|
|
description: >
|
|
Check 'rps' runner with float value of requests per second.
|
|
scenario:
|
|
Dummy.dummy:
|
|
sleep: 0.1
|
|
runner:
|
|
rps:
|
|
times: 5
|
|
rps: 0.5
|
|
sla:
|
|
failure_rate:
|
|
max: 0
|
|
-
|
|
description: >
|
|
Check 'rps' runner with float value of requests per second.
|
|
scenario:
|
|
Dummy.dummy:
|
|
sleep: 0.1
|
|
runner:
|
|
rps:
|
|
times: 5
|
|
rps: 0.2
|
|
sla:
|
|
failure_rate:
|
|
max: 0
|
|
-
|
|
description: >
|
|
Check 'max_concurrency' and 'max_cpu_count' properties of 'rps' runner.
|
|
scenario:
|
|
Dummy.dummy:
|
|
sleep: 0.001
|
|
runner:
|
|
rps:
|
|
times: 200
|
|
rps: 20
|
|
max_concurrency: 10
|
|
max_cpu_count: 3
|
|
sla:
|
|
failure_rate:
|
|
max: 0
|
|
-
|
|
description: "Check 'rps' with start, end, step arguments"
|
|
scenario:
|
|
Dummy.dummy:
|
|
sleep: 0.25
|
|
runner:
|
|
rps:
|
|
times: 55
|
|
rps:
|
|
start: 1
|
|
end: 10
|
|
step: 1
|
|
max_concurrency: 10
|
|
max_cpu_count: 3
|
|
sla:
|
|
failure_rate:
|
|
max: 0
|
|
-
|
|
description: "Check 'rps' with start, end, step arguments"
|
|
scenario:
|
|
Dummy.dummy:
|
|
sleep: 0.5
|
|
runner:
|
|
rps:
|
|
times: 55
|
|
rps:
|
|
start: 1
|
|
end: 10
|
|
step: 1
|
|
duration: 2
|
|
max_concurrency: 10
|
|
max_cpu_count: 3
|
|
sla:
|
|
failure_rate:
|
|
max: 0
|
|
-
|
|
description: >
|
|
Check the ability of rps runner to terminate scenario by timeout.
|
|
scenario:
|
|
Dummy.dummy:
|
|
sleep: 30
|
|
runner:
|
|
rps:
|
|
times: 1
|
|
rps: 1
|
|
timeout: 1
|
|
sla:
|
|
failure_rate:
|
|
min: 100
|
|
|
|
-
|
|
title: Test serial runner
|
|
workloads:
|
|
-
|
|
description: "Check 'serial' runner."
|
|
scenario:
|
|
Dummy.dummy:
|
|
sleep: 0.1
|
|
runner:
|
|
serial:
|
|
times: 20
|
|
sla:
|
|
failure_rate:
|
|
max: 0
|
|
|
|
-
|
|
title: Test Hook and Trigger plugins
|
|
workloads:
|
|
-
|
|
description: "Check sys_call hook."
|
|
scenario:
|
|
Dummy.dummy:
|
|
sleep: 0.75
|
|
runner:
|
|
constant:
|
|
times: 20
|
|
concurrency: 2
|
|
hooks:
|
|
- description: Run script
|
|
action:
|
|
sys_call: sh rally-jobs/extra/hook_example_script.sh
|
|
trigger:
|
|
event:
|
|
unit: iteration
|
|
at: [2, 5, 8, 13, 17]
|
|
- description: Show time
|
|
action:
|
|
sys_call: date +%Y-%m-%dT%H:%M:%S
|
|
trigger:
|
|
event:
|
|
unit: time
|
|
at: [0, 2, 5, 6, 9]
|
|
- description: Show system name
|
|
action:
|
|
sys_call: uname -a
|
|
trigger:
|
|
event:
|
|
unit: iteration
|
|
at: [2, 3, 4, 5, 6, 8, 10, 12, 13, 15, 17, 18]
|
|
sla:
|
|
failure_rate:
|
|
max: 0
|
|
-
|
|
description: "Check periodic trigger with iteration unit."
|
|
scenario:
|
|
Dummy.dummy:
|
|
sleep: 0.25
|
|
runner:
|
|
constant:
|
|
times: 10
|
|
concurrency: 2
|
|
hooks:
|
|
- description: test hook
|
|
action:
|
|
sys_call: /bin/true
|
|
trigger:
|
|
periodic:
|
|
unit: iteration
|
|
step: 2
|
|
start: 4
|
|
end: 8
|
|
sla:
|
|
failure_rate:
|
|
max: 0
|
|
-
|
|
description: "Check event trigger args."
|
|
scenario:
|
|
Dummy.dummy:
|
|
sleep: 1
|
|
runner:
|
|
serial:
|
|
times: 10
|
|
hooks:
|
|
- description: Show system name
|
|
action:
|
|
sys_call: uname -a
|
|
trigger:
|
|
event:
|
|
unit: time
|
|
at: [0, 2, 4, 6, 8, 10]
|
|
sla:
|
|
failure_rate:
|
|
max: 0
|
|
-
|
|
description: "Check periodic trigger with time unit."
|
|
scenario:
|
|
Dummy.dummy:
|
|
sleep: 1
|
|
runner:
|
|
serial:
|
|
times: 10
|
|
hooks:
|
|
- description: test hook
|
|
action:
|
|
sys_call: /bin/true
|
|
trigger:
|
|
periodic:
|
|
unit: time
|
|
step: 2
|
|
start: 0
|
|
end: 6
|
|
|
|
-
|
|
title: Test Dummy scenarios
|
|
workloads:
|
|
-
|
|
scenario:
|
|
Dummy.dummy_exception:
|
|
size_of_message: 5
|
|
sla:
|
|
failure_rate:
|
|
max: 100
|
|
runner:
|
|
constant:
|
|
times: 20
|
|
concurrency: 5
|
|
-
|
|
scenario:
|
|
Dummy.dummy_exception_probability:
|
|
exception_probability: 0.5
|
|
runner:
|
|
serial:
|
|
times: 2042
|
|
sla:
|
|
failure_rate:
|
|
min: 5
|
|
max: 95
|
|
-
|
|
scenario:
|
|
Dummy.dummy_output: {}
|
|
runner:
|
|
constant:
|
|
times: 20
|
|
concurrency: 10
|
|
sla:
|
|
failure_rate:
|
|
max: 0
|
|
-
|
|
scenario:
|
|
Dummy.dummy_random_fail_in_atomic:
|
|
exception_probability: 0.5
|
|
sla:
|
|
failure_rate:
|
|
min: 5
|
|
max: 95
|
|
runner:
|
|
constant:
|
|
times: 50
|
|
concurrency: 10
|
|
-
|
|
scenario:
|
|
Dummy.dummy_random_action: {}
|
|
runner:
|
|
constant:
|
|
times: 10
|
|
concurrency: 5
|
|
|
|
-
|
|
title: Test a subtask with only one workload
|
|
scenario:
|
|
FakePlugin.testplugin: {}
|
|
runner:
|
|
constant:
|
|
times: 4
|
|
concurrency: 4
|
|
sla:
|
|
failure_rate:
|
|
max: 0
|
|
|
|
-
|
|
title: Profile generate_random_name method
|
|
workloads:
|
|
-
|
|
scenario:
|
|
RallyProfile.generate_names_in_atomic:
|
|
number_of_names: 100
|
|
runner:
|
|
constant:
|
|
times: 1000
|
|
concurrency: 10
|
|
sla:
|
|
max_avg_duration_per_atomic:
|
|
generate_100_names: 0.015
|
|
failure_rate:
|
|
max: 0
|
|
-
|
|
scenario:
|
|
RallyProfile.generate_names_in_atomic:
|
|
number_of_names: 1000
|
|
runner:
|
|
constant:
|
|
times: 500
|
|
concurrency: 10
|
|
sla:
|
|
max_avg_duration_per_atomic:
|
|
generate_1000_names: 0.1
|
|
failure_rate:
|
|
max: 0
|
|
-
|
|
scenario:
|
|
RallyProfile.generate_names_in_atomic:
|
|
number_of_names: 10000
|
|
runner:
|
|
constant:
|
|
times: 200
|
|
concurrency: 10
|
|
sla:
|
|
max_avg_duration_per_atomic:
|
|
generate_10000_names: 1
|
|
failure_rate:
|
|
max: 0
|
|
|
|
-
|
|
title: Profile atomic actions
|
|
workloads:
|
|
-
|
|
scenario:
|
|
RallyProfile.calculate_atomic:
|
|
number_of_atomics: 100
|
|
runner:
|
|
constant:
|
|
times: 300
|
|
concurrency: 10
|
|
sla:
|
|
max_avg_duration_per_atomic:
|
|
calculate_100_atomics: 0.04
|
|
failure_rate:
|
|
max: 0
|
|
-
|
|
scenario:
|
|
RallyProfile.calculate_atomic:
|
|
number_of_atomics: 500
|
|
runner:
|
|
constant:
|
|
times: 100
|
|
concurrency: 10
|
|
sla:
|
|
max_avg_duration_per_atomic:
|
|
calculate_500_atomics: 0.5
|
|
failure_rate:
|
|
max: 0
|