X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=sdnvpn%2Ftest%2Ffunctest%2Ftestcase_10.py;h=aebc14625e9a36dea1d0c90b39fac8b48c4a4c83;hb=e08e7c43c85fa04dc78a1fcf8a11ab877a78dfb9;hp=5a88603f7bd4ce3eea4d4a2c525afae4055646f2;hpb=a6e207c16430055eba8bcc8586b09a7081db3d04;p=sdnvpn.git diff --git a/sdnvpn/test/functest/testcase_10.py b/sdnvpn/test/functest/testcase_10.py index 5a88603..aebc146 100644 --- a/sdnvpn/test/functest/testcase_10.py +++ b/sdnvpn/test/functest/testcase_10.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python # # Copyright (c) 2017 All rights reserved # This program and the accompanying materials @@ -13,13 +13,12 @@ import re import sys import time -from functest.utils import openstack_utils as os_utils from multiprocessing import Process, Manager, Lock from sdnvpn.lib import config as sdnvpn_config +from sdnvpn.lib import openstack_utils as os_utils from sdnvpn.lib import utils as test_utils from sdnvpn.lib.results import Results - logger = logging.getLogger('__name__') std_out_lock = Lock() @@ -32,7 +31,7 @@ TESTCASE_CONFIG = sdnvpn_config.TestcaseConfig( def monitor(in_data, out_data, vm): # At the beginning of ping we might have some # failures, so we ignore the first 10 pings - lines_offset = 10 + lines_offset = 20 while in_data["stop_thread"] is False: try: time.sleep(1) @@ -46,20 +45,20 @@ def monitor(in_data, out_data, vm): format(vm.name)) # Atomic write to std out with std_out_lock: - logging.error("Failure during ping from " - "instance {}: {}". - format(vm.name, console_line)) + logger.error("Failure during ping from " + "instance {}: {}". + format(vm.name, console_line)) elif re.match(r'ping.*OK', console_line): # Atomic write to std out with std_out_lock: - logging.info("Ping from instance {}: {}". - format(vm.name, console_line)) + logger.info("Ping from instance {}: {}". + format(vm.name, console_line)) lines_offset = len(vm_console_out_lines) except: # Atomic write to std out with std_out_lock: - logging.error("Failure in monitor_thread of instance {}". - format(vm.name)) + logger.error("Failure in monitor_thread of instance {}". + format(vm.name)) # Return to main process return @@ -114,7 +113,7 @@ def main(): compute_node=av_zone_1) vm2_ip = test_utils.get_instance_ip(vm_2) - u1 = test_utils.generate_ping_userdata([vm2_ip], 1) + u1 = test_utils.generate_ping_userdata([vm2_ip]) vm_1 = test_utils.create_instance( nova_client, TESTCASE_CONFIG.instance_1_name, @@ -126,7 +125,7 @@ def main(): userdata=u1) vm1_ip = test_utils.get_instance_ip(vm_1) - u3 = test_utils.generate_ping_userdata([vm1_ip, vm2_ip], 1) + u3 = test_utils.generate_ping_userdata([vm1_ip, vm2_ip]) vm_3 = test_utils.create_instance( nova_client, TESTCASE_CONFIG.instance_3_name, @@ -173,11 +172,11 @@ def main(): thread_inputs = [monitor_input1, monitor_input2, monitor_input3] thread_outputs = [monitor_output1, monitor_output2, monitor_output3] try: - logging.info("Starting all monitor threads") + logger.info("Starting all monitor threads") # Start all monitor threads for thread in threads: thread.start() - logging.info("Wait before subtest") + logger.info("Wait before subtest") test_utils.wait_before_subtest() monitor_err_msg = "" for thread_output in thread_outputs: @@ -193,11 +192,18 @@ def main(): # Stop monitor thread 2 and delete instance vm_2 thread_inputs[1]["stop_thread"] = True if not os_utils.delete_instance(nova_client, vm_2.id): - logging.error("Fail to delete vm_2 instance during " - "testing process") + logger.error("Fail to delete vm_2 instance during " + "testing process") raise Exception("Fail to delete instance vm_2.") + for thread_input in thread_inputs: + thread_input["stop_thread"] = True + for thread in threads: + thread.join() + threads = [] + thread_inputs = [] + thread_outputs = [] # Create a new vm (vm_4) on compute 1 node - u4 = test_utils.generate_ping_userdata([vm1_ip, vm3_ip], 1) + u4 = test_utils.generate_ping_userdata([vm1_ip, vm3_ip]) vm_4 = test_utils.create_instance( nova_client, TESTCASE_CONFIG.instance_4_name, @@ -225,8 +231,8 @@ def main(): threads.append(monitor_thread4) thread_inputs.append(monitor_input4) thread_outputs.append(monitor_output4) - logging.info("Starting monitor thread of vm_4") - threads[3].start() + logger.info("Starting monitor thread of vm_4") + threads[0].start() test_utils.wait_before_subtest() monitor_err_msg = "" for thread_output in thread_outputs: @@ -246,14 +252,15 @@ def main(): raise finally: # Give a stop signal to all threads - logging.info("Sending stop signal to monitor thread") + logger.info("Sending stop signal to monitor thread") for thread_input in thread_inputs: thread_input["stop_thread"] = True # Wait for all threads to stop and return to the main process for thread in threads: thread.join() - test_utils.cleanup_nova(nova_client, instance_ids, image_ids) + test_utils.cleanup_nova(nova_client, instance_ids) + test_utils.cleanup_glance(glance_client, image_ids) test_utils.cleanup_neutron(neutron_client, floatingip_ids, bgpvpn_ids, interfaces, subnet_ids, router_ids, network_ids) @@ -262,5 +269,4 @@ def main(): if __name__ == '__main__': - logging.basicConfig(level=logging.INFO) sys.exit(main())