blob: 27e78a4512b342db6d00da5885b37d18b7c62567 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
|
##############################################################################
## Copyright (c) 2018 Intracom Telecom and others.
##
## All rights reserved. This program and the accompanying materials
## are made available under the terms of the Apache License, Version 2.0
## which accompanies this distribution, and is available at
## http://www.apache.org/licenses/LICENSE-2.0
###############################################################################
---
schema: "yardstick:task:0.1"
description: >
Yardstick TC093 config file;
SDN Vswitch resilience in non-HA or HA configuration
{% set file = file or '/etc/yardstick/pod.yaml' %}
{% set attack_host_cmp_one = attack_host_cmp_one or 'node4' %}
{% set attack_host_cmp_two = attack_host_cmp_two or 'node5' %}
{% set systemd_service_name = systemd_service_name or 'openvswitch-switch'%}
scenarios:
-
type: "GeneralHA"
options:
monitors:
- monitor_type: "general-monitor"
monitor_key: "ip-status"
key: "snat"
monitor_time: 50
host: athena
sla:
max_outage_time: 0
parameter:
destination_ip: "8.8.8.8"
- monitor_type: "general-monitor"
monitor_key: "ip-status"
key: "l2"
monitor_time: 50
host: athena
sla:
max_outage_time: 0
parameter:
destination_ip: "@private_ip"
operations:
- operation_type: "general-operation"
key: "get-privateip"
operation_key: "get-privateip"
action_parameter:
server_name: "ares"
return_parameter:
all: "@private_ip"
steps:
- actionKey: "get-privateip"
actionType: "operation"
index: 1
- actionKey: "l2"
actionType: "monitor"
index: 2
- actionKey: "snat"
actionType: "monitor"
index: 3
nodes:
athena: athena.ODLnoHA1
runner:
type: Duration
duration: 1
sla:
action: assert
-
type: "GeneralHA"
options:
attackers:
-
fault_type: "kill-process"
process_name: "openvswitch"
key: "kill-process-cmp-one"
host: {{attack_host_cmp_one}}
-
fault_type: "kill-process"
process_name: "openvswitch"
key: "kill-process-cmp-two"
host: {{attack_host_cmp_two}}
monitors:
- monitor_type: "process"
process_name: "openvswitch"
host: {{attack_host_cmp_one}}
key: "monitor-recovery-cmp-one"
monitor_time: 50
sla:
max_recover_time: 30
- monitor_type: "process"
process_name: "openvswitch"
host: {{attack_host_cmp_two}}
key: "monitor-recovery-cmp-two"
monitor_time: 50
sla:
max_recover_time: 30
- monitor_type: "general-monitor"
monitor_key: "ip-status"
key: "snat"
monitor_time: 70
host: athena
sla:
max_outage_time: 20
parameter:
destination_ip: "8.8.8.8"
- monitor_type: "general-monitor"
monitor_key: "ip-status"
key: "l2"
monitor_time: 70
host: athena
sla:
max_outage_time: 20
parameter:
destination_ip: "@private_ip"
operations:
- operation_type: "general-operation"
key: "restart-service-cmp-one"
host: {{attack_host_cmp_one}}
operation_key: "start-service"
action_parameter:
service: {{systemd_service_name ~ " restart"}}
rollback_parameter:
service: "openvswitch"
- operation_type: "general-operation"
key: "restart-service-cmp-two"
host: {{attack_host_cmp_two}}
operation_key: "start-service"
action_parameter:
service: {{systemd_service_name ~ " restart"}}
rollback_parameter:
service: "openvswitch"
- operation_type: "general-operation"
key: "get-privateip"
operation_key: "get-privateip"
action_parameter:
server_name: "ares"
return_parameter:
all: "@private_ip"
steps:
- actionKey: "get-privateip"
actionType: "operation"
index: 1
- actionKey: "l2"
actionType: "monitor"
index: 2
- actionKey: "snat"
actionType: "monitor"
index: 3
- actionKey: "kill-process-cmp-one"
actionType: "attacker"
index: 4
- actionKey: "kill-process-cmp-two"
actionType: "attacker"
index: 5
- actionKey: "monitor-recovery-cmp-one"
actionType: "monitor"
index: 6
- actionKey: "monitor-recovery-cmp-two"
actionType: "monitor"
index: 7
- actionKey: "restart-service-cmp-one"
actionType: "operation"
index: 8
- actionKey: "restart-service-cmp-two"
actionType: "operation"
index: 9
nodes:
{{attack_host_cmp_one}}: {{attack_host_cmp_one}}.LF
{{attack_host_cmp_two}}: {{attack_host_cmp_two}}.LF
athena: athena.ODLnoHA1
runner:
type: Duration
duration: 1
sla:
action: assert
-
type: "GeneralHA"
options:
monitors:
- monitor_type: "general-monitor"
monitor_key: "ip-status"
key: "l2"
monitor_time: 80
host: athena
sla:
max_outage_time: 40
parameter:
destination_ip: "@private_ip"
operations:
- operation_type: "general-operation"
key: "get-privateip"
operation_key: "get-privateip"
action_parameter:
server_name: "hermes"
return_parameter:
all: "@private_ip"
- operation_type: "general-operation"
key: "nova-create-instance"
operation_key: "nova-create-instance"
action_parameter:
serverconfig: "hermes yardstick-image yardstick-flavor test_one"
rollback_parameter:
serverconfig: "hermes"
- operation_type: "general-operation"
key: "add-server-to-secgroup"
operation_key: "add-server-to-secgroup"
action_parameter:
serverconfig: "hermes ODLnoHA1"
rollback_parameter:
serverconfig: "hermes ODLnoHA1"
steps:
- actionKey: "nova-create-instance"
actionType: "operation"
index: 1
- actionKey: "add-server-to-secgroup"
actionType: "operation"
index: 2
- actionKey: "get-privateip"
actionType: "operation"
index: 3
- actionKey: "l2"
actionType: "monitor"
index: 4
nodes:
athena: athena.ODLnoHA1
runner:
type: Duration
duration: 1
sla:
action: assert
contexts:
-
type: Node
name: LF
file: {{file}}
-
name: ODLnoHA1
image: yardstick-image
flavor: yardstick-flavor
user: ubuntu
host: athena
placement_groups:
pgrp1:
policy: "availability"
servers:
athena:
floating_ip: true
placement: "pgrp1"
network_ports:
test_one:
- ens0
ares:
floating_ip: true
placement: "pgrp1"
network_ports:
test_one:
- ens0
networks:
test_one:
cidr: '10.0.1.0/24'
router: 'test_router'
|