diff options
Diffstat (limited to 'tests')
10 files changed, 111 insertions, 24 deletions
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc019.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc019.yaml index ea36b7b38..9b720e17e 100644 --- a/tests/opnfv/test_cases/opnfv_yardstick_tc019.yaml +++ b/tests/opnfv/test_cases/opnfv_yardstick_tc019.yaml @@ -12,6 +12,8 @@ schema: "yardstick:task:0.1" description: > Sample test case for the HA of controller node Openstack service. +{% set file = file or 'etc/yardstick/nodes/fuel_baremetal/pod.yaml' %} + scenarios: - type: ServiceHA @@ -50,4 +52,4 @@ scenarios: context: type: Node name: LF - file: etc/yardstick/nodes/fuel_virtual/pod.yaml + file: {{file}} diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc025.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc025.yaml index 4a995fd5a..ec3d1c8d1 100644 --- a/tests/opnfv/test_cases/opnfv_yardstick_tc025.yaml +++ b/tests/opnfv/test_cases/opnfv_yardstick_tc025.yaml @@ -12,6 +12,8 @@ schema: "yardstick:task:0.1" description: > Sample test case for the HA of OpenStack Controll Node abnormally shutdown. +{% set file = file or 'etc/yardstick/nodes/fuel_virtual/pod.yaml' %} + scenarios: - type: ServiceHA @@ -49,4 +51,4 @@ scenarios: context: type: Node name: LF - file: etc/yardstick/nodes/fuel_virtual/pod.yaml + file: {{file}} diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc050.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc050.yaml index b1dc31e90..1296c0592 100644 --- a/tests/opnfv/test_cases/opnfv_yardstick_tc050.yaml +++ b/tests/opnfv/test_cases/opnfv_yardstick_tc050.yaml @@ -14,6 +14,10 @@ description: > This test case is written by new scenario-based HA testing framework. {% set file = file or 'etc/yardstick/nodes/fuel_baremetal/pod.yaml' %} +{% set external_net = external_net or 'br-ex' %} +{% set management_net = management_net or 'br-mgmt' %} +{% set storage_net = storage_net or 'br-storage' %} +{% set internal_net = internal_net or 'br-mesh' %} scenarios: - @@ -26,9 +30,9 @@ scenarios: key: "close-br-public" attack_key: "close-interface" action_parameter: - interface: "br-ex" + interface: {{external_net}} rollback_parameter: - interface: "br-ex" + interface: {{external_net}} - fault_type: "general-attacker" @@ -36,9 +40,9 @@ scenarios: key: "close-br-mgmt" attack_key: "close-interface" action_parameter: - interface: "br-mgmt" + interface: {{management_net}} rollback_parameter: - interface: "br-mgmt" + interface: {{management_net}} - fault_type: "general-attacker" @@ -46,9 +50,9 @@ scenarios: key: "close-br-storage" attack_key: "close-interface" action_parameter: - interface: "br-storage" + interface: {{storage_net}} rollback_parameter: - interface: "br-storage" + interface: {{storage_net}} - fault_type: "general-attacker" @@ -56,9 +60,9 @@ scenarios: key: "close-br-private" attack_key: "close-interface" action_parameter: - interface: "br-mesh" + interface: {{internal_net}} rollback_parameter: - interface: "br-mesh" + interface: {{internal_net}} monitors: - diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc052.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc052.yaml index 6e060b15d..4254e79b6 100644 --- a/tests/opnfv/test_cases/opnfv_yardstick_tc052.yaml +++ b/tests/opnfv/test_cases/opnfv_yardstick_tc052.yaml @@ -40,7 +40,6 @@ scenarios: operation_type: "general-operation" key: "create-flavor" operation_key: "nova-create-flavor" - host: node1 action_parameter: flavorconfig: "test-001 test-001 100 1 1" rollback_parameter: @@ -50,7 +49,6 @@ scenarios: - checker_type: "general-result-checker" key: "check-flavor" - host: node1 checker_key: "nova-flavor-checker" expectedValue: "test-001" condition: "in" diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc053.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc053.yaml index b6bbb8966..cc5b5cd3e 100644 --- a/tests/opnfv/test_cases/opnfv_yardstick_tc053.yaml +++ b/tests/opnfv/test_cases/opnfv_yardstick_tc053.yaml @@ -34,7 +34,7 @@ scenarios: host: node1 monitor_time: 20 sla: - max_recover_time: 30 + max_recover_time: 20 - monitor_type: "openstack-cmd" diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc054.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc054.yaml index 2d51a96cc..b9bb889a1 100644 --- a/tests/opnfv/test_cases/opnfv_yardstick_tc054.yaml +++ b/tests/opnfv/test_cases/opnfv_yardstick_tc054.yaml @@ -14,6 +14,10 @@ description: > This test case is written by new scenario-based HA testing framework. {% set file = file or 'etc/yardstick/nodes/fuel_baremetal/pod.yaml' %} +{% set vip_management = vip_management or '192.168.0.2' %} +{% set vip_public = vip_public or '172.16.0.3' %} +{% set vip_router_management = vip_router_management or '192.168.0.1' %} +{% set vip_router_public = vip_router_public or '172.16.0.2' %} scenarios: - @@ -43,7 +47,7 @@ scenarios: sla: max_outage_time: 5 parameter: - ip_address: "192.168.0.2" + ip_address: {{vip_management}} - monitor_type: "general-monitor" @@ -54,7 +58,7 @@ scenarios: sla: max_outage_time: 5 parameter: - ip_address: "172.16.0.2" + ip_address: {{vip_router_public}} - monitor_type: "general-monitor" @@ -65,7 +69,7 @@ scenarios: sla: max_outage_time: 5 parameter: - ip_address: "192.168.0.1" + ip_address: {{vip_router_management}} - monitor_type: "general-monitor" @@ -76,7 +80,7 @@ scenarios: sla: max_outage_time: 5 parameter: - ip_address: "172.16.0.3" + ip_address: {{vip_public}} steps: diff --git a/tests/opnfv/test_suites/opnfv_os-nosdn-nofeature-ha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-nosdn-nofeature-ha_daily.yaml index 97c234e45..d18a4e6d5 100644 --- a/tests/opnfv/test_suites/opnfv_os-nosdn-nofeature-ha_daily.yaml +++ b/tests/opnfv/test_suites/opnfv_os-nosdn-nofeature-ha_daily.yaml @@ -37,9 +37,21 @@ test_cases: huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml", "host": "node4.LF","target": "node5.LF"}' - + file_name: opnfv_yardstick_tc019.yaml + constraint: + installer: compass,fuel + pod: huawei-pod2,ericsson-pod1 + task_args: + huawei-pod2: '{"file": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml"}' + ericsson-pod1: '{"file": "etc/yardstick/nodes/fuel_baremetal/pod.yaml"}' +- file_name: opnfv_yardstick_tc045.yaml constraint: - installer: fuel + installer: compass,fuel + pod: huawei-pod2,ericsson-pod1 + task_args: + huawei-pod2: '{"file": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml"}' + ericsson-pod1: '{"file": "etc/yardstick/nodes/fuel_baremetal/pod.yaml"}' - file_name: opnfv_yardstick_tc046.yaml constraint: @@ -47,11 +59,19 @@ test_cases: - file_name: opnfv_yardstick_tc047.yaml constraint: - installer: fuel + installer: compass,fuel + pod: huawei-pod2,ericsson-pod1 + task_args: + huawei-pod2: '{"file": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml"}' + ericsson-pod1: '{"file": "etc/yardstick/nodes/fuel_baremetal/pod.yaml"}' - file_name: opnfv_yardstick_tc048.yaml constraint: - installer: fuel + installer: compass,fuel + pod: huawei-pod2,ericsson-pod1 + task_args: + huawei-pod2: '{"file": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml"}' + ericsson-pod1: '{"file": "etc/yardstick/nodes/fuel_baremetal/pod.yaml"}' - file_name: opnfv_yardstick_tc049.yaml constraint: @@ -63,7 +83,11 @@ test_cases: - file_name: opnfv_yardstick_tc051.yaml constraint: - installer: fuel + installer: compass,fuel + pod: huawei-pod2,ericsson-pod1 + task_args: + huawei-pod2: '{"file": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml"}' + ericsson-pod1: '{"file": "etc/yardstick/nodes/fuel_baremetal/pod.yaml"}' - file_name: opnfv_yardstick_tc052.yaml constraint: diff --git a/tests/unit/benchmark/contexts/test_model.py b/tests/unit/benchmark/contexts/test_model.py index 4a10761f7..122f100de 100644 --- a/tests/unit/benchmark/contexts/test_model.py +++ b/tests/unit/benchmark/contexts/test_model.py @@ -251,4 +251,25 @@ class ServerTestCase(unittest.TestCase): ports=['some-server-some-network-port'], user=self.mock_context.user, key_name=self.mock_context.keypair_name, + user_data='', + scheduler_hints='hints') + + @mock.patch('yardstick.benchmark.contexts.heat.HeatTemplate') + def test__add_instance_with_user_data(self, mock_template): + user_data = "USER_DATA" + attrs = { + 'image': 'some-image', 'flavor': 'some-flavor', + 'user_data': user_data, + } + test_server = model.Server('foo', self.mock_context, attrs) + + test_server._add_instance(mock_template, 'some-server', + [], 'hints') + + mock_template.add_server.assert_called_with( + 'some-server', 'some-image', 'some-flavor', + ports=[], + user=self.mock_context.user, + key_name=self.mock_context.keypair_name, + user_data=user_data, scheduler_hints='hints') diff --git a/tests/unit/benchmark/scenarios/availability/test_scenario_general.py b/tests/unit/benchmark/scenarios/availability/test_scenario_general.py index 593fc77b3..ea54fbb9b 100644 --- a/tests/unit/benchmark/scenarios/availability/test_scenario_general.py +++ b/tests/unit/benchmark/scenarios/availability/test_scenario_general.py @@ -48,7 +48,7 @@ class ScenarioGeneralTestCase(unittest.TestCase): def test_scenario_general_all_successful(self, mock_director): ins = ScenarioGeneral(self.scenario_cfg, None) ins.setup() - ins.run(None) + ins.run({}) ins.teardown() def test_scenario_general_exception(self, mock_director): @@ -56,7 +56,7 @@ class ScenarioGeneralTestCase(unittest.TestCase): mock_obj = mock.Mock() mock_obj.createActionPlayer.side_effect = KeyError('Wrong') ins.director = mock_obj - ins.run(None) + ins.run({}) ins.teardown() def test_scenario_general_case_fail(self, mock_director): @@ -64,5 +64,5 @@ class ScenarioGeneralTestCase(unittest.TestCase): mock_obj = mock.Mock() mock_obj.verify.return_value = False ins.director = mock_obj - ins.run(None) + ins.run({}) ins.teardown() diff --git a/tests/unit/benchmark/scenarios/availability/test_util.py b/tests/unit/benchmark/scenarios/availability/test_util.py new file mode 100644 index 000000000..bb0e6bc79 --- /dev/null +++ b/tests/unit/benchmark/scenarios/availability/test_util.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python + +############################################################################## +# Copyright (c) 2016 Kanglin Yin and others +# 14_ykl@tongji.edu.cn +# 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 +############################################################################## + +# Unittest for yardstick.benchmark.scenarios.availability.utils + +import mock +import unittest + +from yardstick.benchmark.scenarios.availability import util + +@mock.patch('yardstick.benchmark.scenarios.availability.util.subprocess') +class ExecuteShellTestCase(unittest.TestCase): + + def test__fun_execute_shell_command_successful(self, mock_subprocess): + cmd = "env" + mock_subprocess.check_output.return_value = (0, 'unittest') + exitcode, output = util.execute_shell_command(cmd) + self.assertEqual(exitcode, 0) + + def test__fun_execute_shell_command_fail_cmd_exception(self, mock_subprocess): + cmd = "env" + mock_subprocess.check_output.side_effect = RuntimeError + exitcode, output = util.execute_shell_command(cmd) + self.assertEqual(exitcode, -1) |