Merge "Implement Virtual Switch resilience test case"
authorRoss Brattain <ross.b.brattain@intel.com>
Tue, 8 May 2018 08:57:56 +0000 (08:57 +0000)
committerGerrit Code Review <gerrit@opnfv.org>
Tue, 8 May 2018 08:57:56 +0000 (08:57 +0000)
tests/opnfv/test_cases/opnfv_yardstick_tc093.yaml [new file with mode: 0644]
tests/opnfv/test_suites/opnfv_os-odl-nofeature-ha_daily.yaml
tests/opnfv/test_suites/opnfv_os-odl-nofeature-noha_daily.yaml

diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc093.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc093.yaml
new file mode 100644 (file)
index 0000000..a034471
--- /dev/null
@@ -0,0 +1,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: monitor
+
+
+-
+      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: monitor
+
+-
+      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: monitor
+
+
+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'
+
index 1ebf9c2..f174a90 100644 (file)
@@ -69,3 +69,11 @@ test_cases:
   task_args:
       default: '{"file": "etc/yardstick/nodes/apex_baremetal/pod.yaml",
       "attack_host": "node6"}'
+-
+  file_name: opnfv_yardstick_tc093.yaml
+  constraint:
+      installer: apex
+  task_args:
+      default: '{"file": "etc/yardstick/nodes/apex_baremetal/pod.yaml",
+      "attack_host_cmp_one": "node4","attack_host_cmp_two": "node5",
+      "systemd_service_name": "openvswitch"}'
index 42a170a..feb8a66 100644 (file)
@@ -61,3 +61,11 @@ test_cases:
   task_args:
       default: '{"file": "etc/yardstick/nodes/fuel_baremetal/pod.yaml",
       "attack_host": "node6"}'
+-
+  file_name: opnfv_yardstick_tc093.yaml
+  constraint:
+      installer: apex
+  task_args:
+      default: '{"file": "etc/yardstick/nodes/apex_baremetal/pod.yaml",
+      "attack_host_cmp_one": "node4","attack_host_cmp_two": "node5",
+      "systemd_service_name": "openvswitch"}'