From 4f4edd840823ff6a0151e3f5220241183e27e560 Mon Sep 17 00:00:00 2001 From: wym_libra Date: Thu, 31 Dec 2015 20:02:09 +0800 Subject: The secondi HA test case-shutdown controller 1) add "attacker_baremetal.py" for fault injection 2) modify the monitor to excute on remote node after ssh connection 3) move all shell scripts together JIRA: YARDSTICK-182 Change-Id: Ibb9dc908224ddb8b99a0140b75c1a046503f6dfb Signed-off-by: wym_libra --- .../scenarios/availability/test_monitor_command.py | 39 +++++++++++++++------- 1 file changed, 27 insertions(+), 12 deletions(-) (limited to 'tests/unit/benchmark/scenarios/availability/test_monitor_command.py') diff --git a/tests/unit/benchmark/scenarios/availability/test_monitor_command.py b/tests/unit/benchmark/scenarios/availability/test_monitor_command.py index 31e309714..c8cda7dc7 100644 --- a/tests/unit/benchmark/scenarios/availability/test_monitor_command.py +++ b/tests/unit/benchmark/scenarios/availability/test_monitor_command.py @@ -17,7 +17,7 @@ import unittest from yardstick.benchmark.scenarios.availability.monitor import monitor_command @mock.patch('yardstick.benchmark.scenarios.availability.monitor.monitor_command.subprocess') -class MonitorOpenstackCmdTestCase(unittest.TestCase): +class ExecuteShellTestCase(unittest.TestCase): def test__fun_execute_shell_command_successful(self, mock_subprocess): cmd = "env" @@ -31,16 +31,28 @@ class MonitorOpenstackCmdTestCase(unittest.TestCase): exitcode, output = monitor_command._execute_shell_command(cmd) self.assertEqual(exitcode, -1) - def test__monitor_command_monitor_func_successful(self, mock_subprocess): - config = { +@mock.patch('yardstick.benchmark.scenarios.availability.monitor.monitor_command.subprocess') +class MonitorOpenstackCmdTestCase(unittest.TestCase): + + def setUp(self): + host = { + "ip": "10.20.0.5", + "user": "root", + "key_filename": "/root/.ssh/id_rsa" + } + self.context = {"node1": host} + self.config = { 'monitor_type': 'openstack-api', 'command_name': 'nova image-list', 'monitor_time': 1, 'sla': {'max_outage_time': 5} } - instance = monitor_command.MonitorOpenstackCmd(config, None) + def test__monitor_command_monitor_func_successful(self, mock_subprocess): + + instance = monitor_command.MonitorOpenstackCmd(self.config, None) + instance.setup() mock_subprocess.check_output.return_value = (0, 'unittest') ret = instance.monitor_func() self.assertEqual(ret, True) @@ -49,16 +61,19 @@ class MonitorOpenstackCmdTestCase(unittest.TestCase): def test__monitor_command_monitor_func_failure(self, mock_subprocess): mock_subprocess.check_output.return_value = (1, 'unittest') - config = { - 'monitor_type': 'openstack-api', - 'command_name': 'nova image-list', - 'monitor_time': 1, - 'sla': {'max_outage_time': 5} - } - instance = monitor_command.MonitorOpenstackCmd(config, None) - + instance = monitor_command.MonitorOpenstackCmd(self.config, None) + instance.setup() mock_subprocess.check_output.side_effect = RuntimeError ret = instance.monitor_func() self.assertEqual(ret, False) instance._result = {"outage_time": 10} instance.verify_SLA() + + @mock.patch('yardstick.benchmark.scenarios.availability.monitor.monitor_command.ssh') + def test__monitor_command_ssh_monitor_successful(self, mock_ssh, mock_subprocess): + + self.config["host"] = "node1" + instance = monitor_command.MonitorOpenstackCmd(self.config, self.context) + instance.setup() + mock_ssh.SSH().execute.return_value = (0, "0", '') + ret = instance.monitor_func() -- cgit 1.2.3-korg