aboutsummaryrefslogtreecommitdiffstats
path: root/sfc/tests/functest/sfc_two_chains_SSH_and_HTTP.py
diff options
context:
space:
mode:
Diffstat (limited to 'sfc/tests/functest/sfc_two_chains_SSH_and_HTTP.py')
-rw-r--r--sfc/tests/functest/sfc_two_chains_SSH_and_HTTP.py92
1 files changed, 42 insertions, 50 deletions
diff --git a/sfc/tests/functest/sfc_two_chains_SSH_and_HTTP.py b/sfc/tests/functest/sfc_two_chains_SSH_and_HTTP.py
index 5a5645df..d7eb2994 100644
--- a/sfc/tests/functest/sfc_two_chains_SSH_and_HTTP.py
+++ b/sfc/tests/functest/sfc_two_chains_SSH_and_HTTP.py
@@ -15,7 +15,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
@@ -78,20 +77,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)
@@ -101,41 +97,40 @@ 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)
vnf_names = ['testVNF1', 'testVNF2']
topo_seed = topo_shuffler.get_seed() # change to None for nova av zone
- testTopology = topo_shuffler.topology(vnf_names, seed=topo_seed)
+ testTopology = topo_shuffler.topology(vnf_names, 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'])
- server_ip = server_instance.networks.get(TESTCASE_CONFIG.net_name)[0]
+ server_ip = server_instance.ports[0].ips[0]['ip_address']
os_sfc_utils.register_vim(tacker_client, vim_file=COMMON_CONFIG.vim_file)
@@ -172,10 +167,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)
@@ -184,11 +175,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,
@@ -200,19 +191,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)
@@ -309,7 +301,7 @@ def main():
ovs_logger, controller_clients, compute_clients, error)
results.add_to_summary(2, "FAIL", "SSH works")
- return results.compile_summary()
+ return results.compile_summary(), openstack_sfc.creators
if __name__ == '__main__':