diff options
Diffstat (limited to 'sdnvpn/lib/results.py')
-rw-r--r-- | sdnvpn/lib/results.py | 31 |
1 files changed, 20 insertions, 11 deletions
diff --git a/sdnvpn/lib/results.py b/sdnvpn/lib/results.py index 42d1865..924b921 100644 --- a/sdnvpn/lib/results.py +++ b/sdnvpn/lib/results.py @@ -7,17 +7,18 @@ # # http://www.apache.org/licenses/LICENSE-2.0 # +import logging import time import functest.utils.functest_utils as ft_utils -from sdnvpn.lib import logutil -logger = logutil.getLogger('sdnvpn-results') +logger = logging.getLogger('sdnvpn-results') class Results(object): - def __init__(self, line_length): + def __init__(self, line_length, conn=None): + self.conn = conn self.line_length = line_length self.test_result = "PASS" self.summary = "" @@ -29,7 +30,8 @@ class Results(object): vm_source, vm_target, expected="PASS", timeout=30): - ip_target = vm_target.networks.itervalues().next()[0] + ip_target = self.conn.compute.get_server(vm_target).\ + addresses.values()[0][0]['addr'] self.get_ping_status_target_ip(vm_source, vm_target.name, ip_target, expected, timeout) @@ -38,8 +40,10 @@ class Results(object): target_name, ip_target, expected="PASS", timeout=30): - console_log = vm_source.get_console_output() - ip_source = vm_source.networks.itervalues().next()[0] + console_log = self.conn.compute.\ + get_server_console_output(vm_source)['output'] + ip_source = self.conn.compute.get_server(vm_source).\ + addresses.values()[0][0]['addr'] if "request failed" in console_log: # Normally, cirros displays this message when userdata fails logger.debug("It seems userdata is not supported in " @@ -59,7 +63,8 @@ class Results(object): tab, target_name, ip_target, tab, expected_result)) while True: - console_log = vm_source.get_console_output() + console_log = self.conn.compute.\ + get_server_console_output(vm_source)['output'] # the console_log is a long string, we want to take # the last 4 lines (for example) lines = console_log.split('\n') @@ -128,9 +133,12 @@ class Results(object): def check_ssh_output(self, vm_source, vm_target, expected, timeout=30): - console_log = vm_source.get_console_output() - ip_source = vm_source.networks.itervalues().next()[0] - ip_target = vm_target.networks.itervalues().next()[0] + console_log = self.conn.compute.\ + get_server_console_output(vm_source)['output'] + ip_source = self.conn.compute.get_server(vm_source).\ + addresses.values()[0][0]['addr'] + ip_target = self.conn.compute.get_server(vm_target).\ + addresses.values()[0][0]['addr'] if "request failed" in console_log: # Normally, cirros displays this message when userdata fails @@ -148,7 +156,8 @@ class Results(object): tab, vm_target.name, ip_target, tab, expected)) while True: - console_log = vm_source.get_console_output() + console_log = self.conn.compute.\ + get_server_console_output(vm_source)['output'] # the console_log is a long string, we want to take # the last 4 lines (for example) lines = console_log.split('\n') |