diff options
Diffstat (limited to 'sfc/tests/functest/sfc_one_chain_two_service_functions.py')
-rw-r--r-- | sfc/tests/functest/sfc_one_chain_two_service_functions.py | 94 |
1 files changed, 41 insertions, 53 deletions
diff --git a/sfc/tests/functest/sfc_one_chain_two_service_functions.py b/sfc/tests/functest/sfc_one_chain_two_service_functions.py index 86fab534..043b5a6a 100644 --- a/sfc/tests/functest/sfc_one_chain_two_service_functions.py +++ b/sfc/tests/functest/sfc_one_chain_two_service_functions.py @@ -14,7 +14,6 @@ import logging import sfc.lib.openstack_utils as os_sfc_utils import sfc.lib.odl_utils as odl_utils -import functest.utils.openstack_utils as os_utils import opnfv.utils.ovs_logger as ovs_log import sfc.lib.config as sfc_config @@ -80,21 +79,17 @@ def main(): results.add_to_summary(2, "STATUS", "SUBTEST") results.add_to_summary(0, "=") - test_utils.download_image(COMMON_CONFIG.url, - COMMON_CONFIG.image_path) - _, custom_flv_id = os_utils.get_or_create_flavor( + openstack_sfc = os_sfc_utils.OpenStackSFC() + + custom_flv = openstack_sfc.create_flavor( COMMON_CONFIG.flavor, COMMON_CONFIG.ram_size_in_mb, COMMON_CONFIG.disk_size_in_gb, - COMMON_CONFIG.vcpu_count, - public=True) - if not custom_flv_id: + COMMON_CONFIG.vcpu_count) + if not custom_flv: logger.error("Failed to create custom flavor") sys.exit(1) - glance_client = os_utils.get_glance_client() - neutron_client = os_utils.get_neutron_client() - nova_client = os_utils.get_nova_client() tacker_client = os_sfc_utils.get_tacker_client() controller_clients = test_utils.get_ssh_clients(controller_nodes) @@ -104,43 +99,39 @@ def main(): os.path.join(COMMON_CONFIG.sfc_test_dir, 'ovs-logs'), COMMON_CONFIG.functest_results_dir) - image_id = os_utils.create_glance_image(glance_client, - COMMON_CONFIG.image_name, - COMMON_CONFIG.image_path, - COMMON_CONFIG.image_format, - public='public') + image_creator = openstack_sfc.register_glance_image( + COMMON_CONFIG.image_name, + COMMON_CONFIG.image_url, + COMMON_CONFIG.image_format, + 'public') - network_id = os_sfc_utils.setup_neutron(neutron_client, - TESTCASE_CONFIG.net_name, - TESTCASE_CONFIG.subnet_name, - TESTCASE_CONFIG.router_name, - TESTCASE_CONFIG.subnet_cidr) + network, router = openstack_sfc.create_network_infrastructure( + TESTCASE_CONFIG.net_name, + TESTCASE_CONFIG.subnet_name, + TESTCASE_CONFIG.subnet_cidr, + TESTCASE_CONFIG.router_name) - sg_id = os_sfc_utils.create_security_groups(neutron_client, - TESTCASE_CONFIG.secgroup_name, - TESTCASE_CONFIG.secgroup_descr) + sg = openstack_sfc.create_security_group(TESTCASE_CONFIG.secgroup_name) vnfs = ['testVNF1', 'testVNF2'] topo_seed = topo_shuffler.get_seed() - testTopology = topo_shuffler.topology(vnfs, seed=topo_seed) + testTopology = topo_shuffler.topology(vnfs, openstack_sfc, seed=topo_seed) logger.info('This test is run with the topology {0}' .format(testTopology['id'])) logger.info('Topology description: {0}' .format(testTopology['description'])) - client_instance = os_sfc_utils.create_instance( - nova_client, CLIENT, COMMON_CONFIG.flavor, image_id, - network_id, sg_id, av_zone=testTopology['client']) + client_instance, client_creator = openstack_sfc.create_instance( + CLIENT, COMMON_CONFIG.flavor, image_creator, network, sg, + av_zone=testTopology['client']) - server_instance = os_sfc_utils.create_instance( - nova_client, SERVER, COMMON_CONFIG.flavor, image_id, - network_id, sg_id, av_zone=testTopology['server']) + server_instance, server_creator = openstack_sfc.create_instance( + SERVER, COMMON_CONFIG.flavor, image_creator, network, sg, + av_zone=testTopology['server']) - client_ip = client_instance.networks.get(TESTCASE_CONFIG.net_name)[0] - logger.info("Client instance received private ip [{}]".format(client_ip)) - server_ip = server_instance.networks.get(TESTCASE_CONFIG.net_name)[0] + server_ip = server_instance.ports[0].ips[0]['ip_address'] logger.info("Server instance received private ip [{}]".format(server_ip)) os_sfc_utils.register_vim(tacker_client, vim_file=COMMON_CONFIG.vim_file) @@ -178,10 +169,6 @@ def main(): logger.error('ERROR while booting vnfs') sys.exit(1) - vnf1_instance_id = os_sfc_utils.get_nova_id(tacker_client, 'VDU1', vnf1_id) - - vnf2_instance_id = os_sfc_utils.get_nova_id(tacker_client, 'VDU1', vnf2_id) - tosca_file = os.path.join(COMMON_CONFIG.sfc_test_dir, COMMON_CONFIG.vnffgd_dir, TESTCASE_CONFIG.test_vnffgd_red) @@ -190,11 +177,11 @@ def main(): tosca_file=tosca_file, vnffgd_name='red') - neutron_port = os_sfc_utils.get_client_port_id(client_instance) + neutron_port = openstack_sfc.get_client_port_id(client_instance) os_sfc_utils.create_vnffg_with_param_file(tacker_client, 'red', 'red_http', default_param_file, - neutron_port) + neutron_port.id) # Start measuring the time it takes to implement the classification rules t1 = threading.Thread(target=odl_utils.wait_for_classification_rules, @@ -205,19 +192,20 @@ def main(): logger.error("Unable to start the thread that counts time %s" % e) logger.info("Assigning floating IPs to instances") - server_floating_ip = os_sfc_utils.assign_floating_ip( - nova_client, neutron_client, server_instance.id) - client_floating_ip = os_sfc_utils.assign_floating_ip( - nova_client, neutron_client, client_instance.id) - sf1_floating_ip = os_sfc_utils.assign_floating_ip( - nova_client, neutron_client, vnf1_instance_id) - sf2_floating_ip = os_sfc_utils.assign_floating_ip( - nova_client, neutron_client, vnf2_instance_id) - - for ip in (server_floating_ip, - client_floating_ip, - sf1_floating_ip, - sf2_floating_ip): + client_floating_ip = openstack_sfc.assign_floating_ip(router, + client_instance, + client_creator) + server_floating_ip = openstack_sfc.assign_floating_ip(router, + server_instance, + server_creator) + fips_sfs = openstack_sfc.assign_floating_ip_vnfs(router) + sf1_floating_ip = fips_sfs[0] + sf2_floating_ip = fips_sfs[1] + + fips = [client_floating_ip, server_floating_ip, sf1_floating_ip, + sf2_floating_ip] + + for ip in fips: logger.info("Checking connectivity towards floating IP [%s]" % ip) if not test_utils.ping(ip, retries=50, retry_timeout=3): logger.error("Cannot ping floating IP [%s]" % ip) @@ -287,7 +275,7 @@ def main(): ovs_logger, controller_clients, compute_clients, error) results.add_to_summary(2, "FAIL", "HTTP not blocked") - return results.compile_summary() + return results.compile_summary(), openstack_sfc.creators if __name__ == '__main__': |