From 8ed9f216d4bee43cc214d73377b5d8291bfb9e8c Mon Sep 17 00:00:00 2001 From: Periyasamy Palanisamy Date: Tue, 8 May 2018 17:24:10 +0200 Subject: SDNVPN-99 NAT doesn't seem to work Currently ODL is not able to accomodate both network and router in a BGPVPN instance (https://jira.opendaylight.org/browse/NETVIRT-932 - see the comment section). So until the fix is available, testing NAT functionality using router without bgpvpn instance across subnets. Change-Id: I6bedfc8e818ddd542036a87245caf4949152d66f Signed-off-by: Periyasamy Palanisamy --- sdnvpn/test/functest/testcase_8.py | 77 +++++++++++++++++++++----------------- 1 file changed, 42 insertions(+), 35 deletions(-) (limited to 'sdnvpn/test/functest') diff --git a/sdnvpn/test/functest/testcase_8.py b/sdnvpn/test/functest/testcase_8.py index 10c0653..afdfef5 100644 --- a/sdnvpn/test/functest/testcase_8.py +++ b/sdnvpn/test/functest/testcase_8.py @@ -59,17 +59,16 @@ def main(): TESTCASE_CONFIG.subnet_1_name, TESTCASE_CONFIG.subnet_1_cidr, TESTCASE_CONFIG.router_1_name) - network_2_id = test_utils.create_net( - neutron_client, - TESTCASE_CONFIG.net_2_name) - subnet_2_id = test_utils.create_subnet( + network_2_id, subnet_2_id, router_1_id = test_utils.create_network( neutron_client, + TESTCASE_CONFIG.net_2_name, TESTCASE_CONFIG.subnet_2_name, TESTCASE_CONFIG.subnet_2_cidr, - network_2_id) + TESTCASE_CONFIG.router_1_name) interfaces.append(tuple((router_1_id, subnet_1_id))) + interfaces.append(tuple((router_1_id, subnet_2_id))) network_ids.extend([network_1_id, network_2_id]) router_ids.append(router_1_id) subnet_ids.extend([subnet_1_id, subnet_2_id]) @@ -80,13 +79,19 @@ def main(): test_utils.open_icmp(neutron_client, sg_id) test_utils.open_http_port(neutron_client, sg_id) + compute_nodes = test_utils.assert_and_get_compute_nodes(nova_client) + av_zone_1 = "nova:" + compute_nodes[0] + # spawning the VMs on the same compute because fib flow (21) entries + # are not created properly if vm1 and vm2 are attached to two + # different computes vm_2 = test_utils.create_instance( nova_client, TESTCASE_CONFIG.instance_2_name, image_id, network_2_id, sg_id, - secgroup_name=TESTCASE_CONFIG.secgroup_name) + secgroup_name=TESTCASE_CONFIG.secgroup_name, + compute_node=av_zone_1) vm_2_ip = test_utils.get_instance_ip(vm_2) u1 = test_utils.generate_ping_userdata([vm_2_ip]) @@ -97,37 +102,39 @@ def main(): network_1_id, sg_id, secgroup_name=TESTCASE_CONFIG.secgroup_name, + compute_node=av_zone_1, userdata=u1) instance_ids.extend([vm_1.id, vm_2.id]) - - results.record_action("Create VPN with eRT==iRT") - vpn_name = "sdnvpn-8" - kwargs = { - "import_targets": TESTCASE_CONFIG.targets, - "export_targets": TESTCASE_CONFIG.targets, - "route_distinguishers": TESTCASE_CONFIG.route_distinguishers, - "name": vpn_name - } - bgpvpn = test_utils.create_bgpvpn(neutron_client, **kwargs) - bgpvpn_id = bgpvpn['bgpvpn']['id'] - logger.debug("VPN created details: %s" % bgpvpn) - bgpvpn_ids.append(bgpvpn_id) - - msg = ("Associate router '%s' and net '%s' to the VPN." - % (TESTCASE_CONFIG.router_1_name, - TESTCASE_CONFIG.net_2_name)) - results.record_action(msg) - results.add_to_summary(0, "-") - - test_utils.create_router_association( - neutron_client, bgpvpn_id, router_1_id) - test_utils.create_network_association( - neutron_client, bgpvpn_id, network_2_id) - - test_utils.wait_for_bgp_router_assoc( - neutron_client, bgpvpn_id, router_1_id) - test_utils.wait_for_bgp_net_assoc( - neutron_client, bgpvpn_id, network_2_id) + # TODO: uncomment the lines 107-134 once ODL fixes + # the bug https://jira.opendaylight.org/browse/NETVIRT-932 + # results.record_action("Create VPN with eRT==iRT") + # vpn_name = "sdnvpn-8" + # kwargs = { + # "import_targets": TESTCASE_CONFIG.targets, + # "export_targets": TESTCASE_CONFIG.targets, + # "route_distinguishers": TESTCASE_CONFIG.route_distinguishers, + # "name": vpn_name + # } + # bgpvpn = test_utils.create_bgpvpn(neutron_client, **kwargs) + # bgpvpn_id = bgpvpn['bgpvpn']['id'] + # logger.debug("VPN created details: %s" % bgpvpn) + # bgpvpn_ids.append(bgpvpn_id) + + # msg = ("Associate router '%s' and net '%s' to the VPN." + # % (TESTCASE_CONFIG.router_1_name, + # TESTCASE_CONFIG.net_2_name)) + # results.record_action(msg) + # results.add_to_summary(0, "-") + + # test_utils.create_router_association( + # neutron_client, bgpvpn_id, router_1_id) + # test_utils.create_network_association( + # neutron_client, bgpvpn_id, network_2_id) + + # test_utils.wait_for_bgp_router_assoc( + # neutron_client, bgpvpn_id, router_1_id) + # test_utils.wait_for_bgp_net_assoc( + # neutron_client, bgpvpn_id, network_2_id) # Wait for VMs to get ips. instances_up = test_utils.wait_for_instances_up(vm_2) -- cgit 1.2.3-korg