From 80ad3feb6f6f8e8e7d86ddf1f96dd160f05e5059 Mon Sep 17 00:00:00 2001 From: Romanos Skiadas Date: Tue, 18 Oct 2016 16:34:24 +0300 Subject: Fix network assoc tests in Boron Network assoc in Boron with netvirt does not work for subnets that have a router due to an inherent limitation in the implementation. See the mailing list and related bug: https://bugs.opendaylight.org/show_bug.cgi?id=6962 https://lists.opendaylight.org/pipermail/netvirt-dev/2016-October/001815.html Also, if a subnet does not have a route distinguisher, it is not added to the FIB, so association does not make traffic move between subnets. This is intentional and an error is logged when a subnet is associated to a bvpvpn without a route distinguisher. This commit fixes the net assoc case and works around these issues by: - Removing the routers from the subnets in testcase_1 - Adding a route distinguisher to the bgpvpn JIRA: SDNVPN-74 Change-Id: I6b57eab89839d9e9122cd24b0f05737467439dd9 Signed-off-by: Romanos Skiadas (cherry picked from commit b9eb7024b014cba0d299b1cf3b01e179c7d0482e) --- test/functest/utils.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'test/functest/utils.py') diff --git a/test/functest/utils.py b/test/functest/utils.py index 4d921c8..97f58c7 100644 --- a/test/functest/utils.py +++ b/test/functest/utils.py @@ -16,8 +16,36 @@ import functest.utils.openstack_utils as os_utils logger = ft_logger.Logger("sndvpn_test_utils").getLogger() +def create_net(neutron_client, name): + logger.debug("Creating network %s", name) + net_id = os_utils.create_neutron_net(neutron_client, name) + if not net_id: + logger.error( + "There has been a problem when creating the neutron network") + sys.exit(-1) + return net_id + + +def create_subnet(neutron_client, name, cidr, net_id): + logger.debug("Creating subnet %s in network %s with cidr %s", + name, net_id, cidr) + subnet_id = os_utils.create_neutron_subnet(neutron_client, + name, + cidr, + net_id) + if not subnet_id: + logger.error( + "There has been a problem when creating the neutron subnet") + sys.exit(-1) + return subnet_id + + def create_network(neutron_client, net, subnet1, cidr1, router, subnet2=None, cidr2=None): + """Network assoc will not work for networks/subnets created by this function. + + It is an ODL limitation due to it handling routers as vpns. + See https://bugs.opendaylight.org/show_bug.cgi?id=6962""" network_dic = os_utils.create_network_full(neutron_client, net, subnet1, -- cgit 1.2.3-korg