aboutsummaryrefslogtreecommitdiffstats
path: root/yardstick/benchmark/scenarios/networking/ping6.py
diff options
context:
space:
mode:
Diffstat (limited to 'yardstick/benchmark/scenarios/networking/ping6.py')
-rw-r--r--yardstick/benchmark/scenarios/networking/ping6.py84
1 files changed, 43 insertions, 41 deletions
diff --git a/yardstick/benchmark/scenarios/networking/ping6.py b/yardstick/benchmark/scenarios/networking/ping6.py
index 817f3e278..91183be25 100644
--- a/yardstick/benchmark/scenarios/networking/ping6.py
+++ b/yardstick/benchmark/scenarios/networking/ping6.py
@@ -37,9 +37,33 @@ class Ping6(base.Scenario): # pragma: no cover
def __init__(self, scenario_cfg, context_cfg):
self.scenario_cfg = scenario_cfg
self.context_cfg = context_cfg
+ self.nodes = context_cfg['nodes']
+ self.options = scenario_cfg['options']
self.setup_done = False
self.run_done = False
- self.ping_options = ''
+ self.external_network = self.options.get("external_network", "ext-net")
+ self.ping_options = "-s %s -c %s" % \
+ (self.options.get("packetsize", '56'),
+ self.options.get("ping_count", '5'))
+ self.openrc = self.options.get("openrc", "/opt/admin-openrc.sh")
+
+ def _ssh_host(self, node_name):
+ # ssh host
+ node = self.nodes.get(node_name, None)
+ user = node.get('user', 'ubuntu')
+ ip = node.get('ip', None)
+ pwd = node.get('password', None)
+ key_fname = node.get('key_filename', '/root/.ssh/id_rsa')
+
+ if pwd is not None:
+ LOG.debug("Log in via pw, user:%s, host:%s, password:%s",
+ user, ip, pwd)
+ self.client = ssh.SSH(user, ip, password=pwd)
+ else:
+ LOG.debug("Log in via key, user:%s, host:%s, key_filename:%s",
+ user, ip, key_fname)
+ self.client = ssh.SSH(user, ip, key_filename=key_fname)
+ self.client.wait(timeout=60)
def _pre_setup(self):
for node_name in self.host_list:
@@ -49,18 +73,6 @@ class Ping6(base.Scenario): # pragma: no cover
status, stdout, stderr = self.client.execute(
"sudo bash pre_setup.sh")
- def _ssh_host(self, node_name):
- # ssh host
- print node_name
- nodes = self.context_cfg['nodes']
- node = nodes.get(node_name, None)
- host_user = node.get('user', 'ubuntu')
- host_ip = node.get('ip', None)
- host_pwd = node.get('password', 'root')
- LOG.debug("user:%s, host:%s", host_user, host_ip)
- self.client = ssh.SSH(host_user, host_ip, password=host_pwd)
- self.client.wait(timeout=600)
-
def setup(self):
'''scenario setup'''
self.setup_script = pkg_resources.resource_filename(
@@ -83,15 +95,10 @@ class Ping6(base.Scenario): # pragma: no cover
'yardstick.benchmark.scenarios.networking',
Ping6.RADVD_SCRIPT)
- options = self.scenario_cfg['options']
- self.ping_options = "-s %s" % \
- options.get("packetsize", '56') + \
- " -c %s" % \
- options.get("ping_count", '5')
- host_str = options.get("host", 'host1')
+ host_str = self.options.get("host", 'host1')
self.host_list = host_str.split(',')
self.host_list.sort()
- pre_setup = options.get("pre_setup", True)
+ pre_setup = self.options.get("pre_setup", True)
if pre_setup:
self._pre_setup()
@@ -102,18 +109,20 @@ class Ping6(base.Scenario): # pragma: no cover
stdin=open(self.ping6_metadata_script, "rb"))
# run script to setup ipv6 with nosdn or odl
- sdn = options.get("sdn", 'nosdn')
+ sdn = self.options.get("sdn", 'nosdn')
if 'odl' in sdn:
self.client.run("cat > ~/br-ex.radvd.conf",
stdin=open(self.ping6_radvd_script, "rb"))
self.client.run("cat > ~/setup_odl.sh",
stdin=open(self.setup_odl_script, "rb"))
- cmd = "sudo bash setup_odl.sh"
+ setup_bash_file = "setup_odl.sh"
else:
self.client.run("cat > ~/setup.sh",
stdin=open(self.setup_script, "rb"))
- cmd = "sudo bash setup.sh"
-
+ setup_bash_file = "setup.sh"
+ cmd = "sudo bash %s %s %s" % \
+ (setup_bash_file, self.openrc, self.external_network)
+ LOG.debug("Executing setup command: %s", cmd)
status, stdout, stderr = self.client.execute(cmd)
self.setup_done = True
@@ -128,14 +137,8 @@ class Ping6(base.Scenario): # pragma: no cover
self.ping6_find_host_script = pkg_resources.resource_filename(
'yardstick.benchmark.scenarios.networking',
Ping6.FIND_HOST_SCRIPT)
-
if not self.setup_done:
- options = self.scenario_cfg['options']
- self.ping_options = "-s %s" % \
- options.get("packetsize", '56') + \
- " -c %s" % \
- options.get("ping_count", '5')
- host_str = options.get("host", 'host1')
+ host_str = self.options.get("host", 'host1')
self.host_list = host_str.split(',')
self.host_list.sort()
self._ssh_host(self.host_list[0])
@@ -143,8 +146,8 @@ class Ping6(base.Scenario): # pragma: no cover
# find ipv4-int-network1 to ssh VM
self.client.run("cat > ~/find_host.sh",
stdin=open(self.ping6_find_host_script, "rb"))
- cmd = "sudo bash find_host.sh"
- LOG.debug("Executing command: %s", cmd)
+ cmd = "sudo bash find_host.sh %s" % self.openrc
+ LOG.debug("Executing find_host command: %s", cmd)
status, stdout, stderr = self.client.execute(cmd)
host_name = stdout.strip()
@@ -158,9 +161,8 @@ class Ping6(base.Scenario): # pragma: no cover
# run ping6 benchmark
self.client.run("cat > ~/ping6.sh",
stdin=open(self.ping6_script, "rb"))
- cmd_args = "%s" % (self.ping_options)
- cmd = "sudo bash ping6.sh %s" % (cmd_args)
- LOG.debug("Executing command: %s", cmd)
+ cmd = "sudo bash ping6.sh %s %s" % (self.openrc, self.ping_options)
+ LOG.debug("Executing ping6 command: %s", cmd)
status, stdout, stderr = self.client.execute(cmd)
if status:
@@ -174,7 +176,7 @@ class Ping6(base.Scenario): # pragma: no cover
assert result["rtt"] <= sla_max_rtt, \
"rtt %f > sla:max_rtt(%f); " % (result["rtt"], sla_max_rtt)
else:
- LOG.error("ping6 timeout")
+ LOG.error("ping6 timeout!!!")
self.run_done = True
def teardown(self):
@@ -184,8 +186,7 @@ class Ping6(base.Scenario): # pragma: no cover
'yardstick.benchmark.scenarios.networking',
Ping6.POST_TEARDOWN_SCRIPT)
- options = self.scenario_cfg['options']
- host_str = options.get("host", 'node1')
+ host_str = self.options.get("host", 'node1')
self.host_list = host_str.split(',')
self.host_list.sort()
@@ -197,10 +198,11 @@ class Ping6(base.Scenario): # pragma: no cover
Ping6.TEARDOWN_SCRIPT)
self.client.run("cat > ~/teardown.sh",
stdin=open(self.teardown_script, "rb"))
- cmd = "sudo bash teardown.sh"
+ cmd = "sudo bash teardown.sh %s %s" % \
+ (self.openrc, self.external_network)
status, stdout, stderr = self.client.execute(cmd)
- post_teardown = options.get("post_teardown", True)
+ post_teardown = self.options.get("post_teardown", True)
if post_teardown:
self._post_teardown()