From 5e49e33552c581610b1abaa2628cdf90a4ba14ac Mon Sep 17 00:00:00 2001 From: rexlee8776 Date: Tue, 8 Nov 2016 07:09:55 +0000 Subject: bugfix: ipv6 should log in controller node to setup JIRA: YARDSTICK-363 Change-Id: Ic1f2ab98425512014d746a997b7356d3490c6b33 Signed-off-by: rexlee8776 --- yardstick/benchmark/scenarios/networking/ping6.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'yardstick/benchmark/scenarios/networking/ping6.py') diff --git a/yardstick/benchmark/scenarios/networking/ping6.py b/yardstick/benchmark/scenarios/networking/ping6.py index 91183be25..38eade335 100644 --- a/yardstick/benchmark/scenarios/networking/ping6.py +++ b/yardstick/benchmark/scenarios/networking/ping6.py @@ -54,7 +54,6 @@ class Ping6(base.Scenario): # pragma: no cover 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) @@ -73,6 +72,14 @@ class Ping6(base.Scenario): # pragma: no cover status, stdout, stderr = self.client.execute( "sudo bash pre_setup.sh") + def _get_controller_node(self, host_list): + for host_name in host_list: + node = self.nodes.get(host_name, None) + node_role = node.get('role', None) + if node_role == 'Controller': + return host_name + return None + def setup(self): '''scenario setup''' self.setup_script = pkg_resources.resource_filename( @@ -102,9 +109,12 @@ class Ping6(base.Scenario): # pragma: no cover if pre_setup: self._pre_setup() - # ssh host1 - self._ssh_host(self.host_list[0]) - + # log in a contronller node to setup + controller_node_name = self._get_controller_node(self.host_list) + LOG.debug("The Controller Node is: %s", controller_node_name) + if controller_node_name is None: + LOG.exception("Can't find controller node in the context!!!") + self._ssh_host(controller_node_name) self.client.run("cat > ~/metadata.txt", stdin=open(self.ping6_metadata_script, "rb")) -- cgit 1.2.3-korg