aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--api/resources/write_hosts.py14
-rw-r--r--requirements.txt1
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc025.yaml28
-rw-r--r--tests/opnfv/test_cases/opnfv_yardstick_tc054.yaml30
-rw-r--r--yardstick/benchmark/core/task.py5
-rw-r--r--yardstick/benchmark/scenarios/availability/monitor/monitor_command.py1
6 files changed, 52 insertions, 27 deletions
diff --git a/api/resources/write_hosts.py b/api/resources/write_hosts.py
index e4b69846b..a3025d3b0 100644
--- a/api/resources/write_hosts.py
+++ b/api/resources/write_hosts.py
@@ -13,11 +13,19 @@ import json
def write_hosts(hosts_ip):
- hosts_list = ('\n{} {}'.format(ip, host_name)
+
+ yardstick_flag = "# SUT hosts info for Yardstick"
+ hosts_list = ('\n{} {} {}'.format(ip, host_name, yardstick_flag)
for host_name, ip in hosts_ip.items())
- with open("/etc/hosts", 'a') as f:
+
+ with open("/etc/hosts", 'r') as f:
+ origin_lines = [line for line in f if yardstick_flag not in line]
+
+ with open("/etc/hosts", 'w') as f:
+ f.writelines(origin_lines)
+ f.write(yardstick_flag)
f.writelines(hosts_list)
- f.write("\n")
+
if __name__ == "__main__":
write_hosts(json.load(sys.stdin))
diff --git a/requirements.txt b/requirements.txt
index d03c4377f..d90a9e5e4 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -60,7 +60,6 @@ oslo.utils==3.22.0
paramiko==2.1.1
pbr==1.10.0
pep8==1.7.0
-ping==0.2; python_version <= '2.7'
pika==0.10.0
positional==1.1.1
prettytable==0.7.2
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc025.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc025.yaml
index a8312876f..a37f83b83 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc025.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc025.yaml
@@ -17,7 +17,9 @@ description: >
"etc/yardstick/nodes/pod.yaml.ipmi.sample").
{% set file = file or '/etc/yardstick/pod.yaml' %}
-{% set jumphost = jumphost or 'node0' %}
+{% set jump_host = jump_host or 'node0' %}
+{% set attack_host = attack_host or 'node1' %}
+{% set monitor_time = monitor_time or 180 %}
scenarios:
-
@@ -25,30 +27,38 @@ scenarios:
options:
attackers:
- fault_type: "bare-metal-down"
- host: node1
- jump_host: {{jumphost}}
+ host: {{attack_host}}
+ jump_host: {{jump_host}}
monitors:
- monitor_type: "openstack-cmd"
command_name: "openstack image list"
- monitor_time: 10
+ monitor_time: {{monitor_time}}
monitor_number: 3
+ sla:
+ max_outage_time: 5
- monitor_type: "openstack-cmd"
command_name: "openstack router list"
- monitor_time: 10
+ monitor_time: {{monitor_time}}
monitor_number: 3
+ sla:
+ max_outage_time: 5
- monitor_type: "openstack-cmd"
command_name: "openstack stack list"
- monitor_time: 10
+ monitor_time: {{monitor_time}}
monitor_number: 3
+ sla:
+ max_outage_time: 5
- monitor_type: "openstack-cmd"
command_name: "openstack volume list"
- monitor_time: 10
+ monitor_time: {{monitor_time}}
monitor_number: 3
+ sla:
+ max_outage_time: 5
nodes:
- node1: node1.LF
- node0: node0.LF
+ {{attack_host}}: {{attack_host}}.LF
+ {{jump_host}}: {{jump_host}}.LF
runner:
type: Iteration
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc054.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc054.yaml
index c229277f4..417327cb6 100644
--- a/tests/opnfv/test_cases/opnfv_yardstick_tc054.yaml
+++ b/tests/opnfv/test_cases/opnfv_yardstick_tc054.yaml
@@ -13,11 +13,15 @@ description: >
Test case for TC054 :OpenStack VIP Master Node abnormally shutdown High Availability;
This test case is written by new scenario-based HA testing framework.
+{% set attack_host = attack_host or 'node1' %}
+{% set check_host = check_host or 'node2' %}
+{% set jump_host = jump_host or 'node0' %}
{% set file = file or '/etc/yardstick/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' %}
+{% set monitor_time = monitor_time or 180 %}
scenarios:
-
@@ -26,15 +30,16 @@ scenarios:
attackers:
-
fault_type: "bare-metal-down"
- host: node1
+ host: {{attack_host}}
key: "bare-metal-down"
+ jump_host: {{jump_host}}
monitors:
-
monitor_type: "openstack-cmd"
key: "list-images"
command_name: "openstack image list"
- monitor_time: 10
+ monitor_time: {{monitor_time}}
monitor_number: 3
sla:
max_outage_time: 5
@@ -43,8 +48,8 @@ scenarios:
monitor_type: "general-monitor"
monitor_key: "ip-status"
key: "vip-mgmt-status"
- host: node2
- monitor_time: 10
+ host: {{check_host}}
+ monitor_time: {{monitor_time}}
monitor_number: 3
sla:
max_outage_time: 5
@@ -55,8 +60,8 @@ scenarios:
monitor_type: "general-monitor"
monitor_key: "ip-status"
key: "vip-routerp-status"
- host: node2
- monitor_time: 10
+ host: {{check_host}}
+ monitor_time: {{monitor_time}}
monitor_number: 3
sla:
max_outage_time: 5
@@ -67,8 +72,8 @@ scenarios:
monitor_type: "general-monitor"
monitor_key: "ip-status"
key: "vip-router-status"
- host: node2
- monitor_time: 10
+ host: {{check_host}}
+ monitor_time: {{monitor_time}}
monitor_number: 3
sla:
max_outage_time: 5
@@ -79,8 +84,8 @@ scenarios:
monitor_type: "general-monitor"
monitor_key: "ip-status"
key: "vip-pub"
- host: node2
- monitor_time: 10
+ host: {{check_host}}
+ monitor_time: {{monitor_time}}
monitor_number: 3
sla:
max_outage_time: 5
@@ -119,8 +124,9 @@ scenarios:
index: 6
nodes:
- node1: node1.LF
- node2: node2.LF
+ {{jump_host}}: {{jump_host}}.LF
+ {{attack_host}}: {{attack_host}}.LF
+ {{check_host}}: {{check_host}}.LF
runner:
type: Duration
duration: 1
diff --git a/yardstick/benchmark/core/task.py b/yardstick/benchmark/core/task.py
index 2b10c61b3..703bb6d95 100644
--- a/yardstick/benchmark/core/task.py
+++ b/yardstick/benchmark/core/task.py
@@ -123,7 +123,7 @@ class Task(object): # pragma: no cover
except KeyboardInterrupt:
raise
except Exception:
- LOG.exception('')
+ LOG.exception("Running test case %s failed!", case_name)
testcases[case_name] = {'criteria': 'FAIL', 'tc_data': []}
else:
testcases[case_name] = {'criteria': 'PASS', 'tc_data': data}
@@ -605,7 +605,8 @@ def get_networks_from_nodes(nodes):
for node in nodes.values():
if not node:
continue
- for interface in node['interfaces'].values():
+ interfaces = node.get('interfaces', {})
+ for interface in interfaces.values():
vld_id = interface.get('vld_id')
# mgmt network doesn't have vld_id
if not vld_id:
diff --git a/yardstick/benchmark/scenarios/availability/monitor/monitor_command.py b/yardstick/benchmark/scenarios/availability/monitor/monitor_command.py
index a9488cc30..d0551bf03 100644
--- a/yardstick/benchmark/scenarios/availability/monitor/monitor_command.py
+++ b/yardstick/benchmark/scenarios/availability/monitor/monitor_command.py
@@ -63,6 +63,7 @@ class MonitorOpenstackCmd(basemonitor.BaseMonitor):
def monitor_func(self):
exit_status = 0
exit_status, stdout = _execute_shell_command(self.cmd)
+ LOG.debug("Execute command '%s' and the stdout is:\n%s", self.cmd, stdout)
if exit_status:
return False
return True