Bug 4874 - distributed arp in old l3 for ovsdb is not installing rules when it should
authorFlavio Fernandes <ffernand@redhat.com>
Mon, 4 Jan 2016 18:52:05 +0000 (13:52 -0500)
committerFlavio Fernandes <ffernand@redhat.com>
Mon, 4 Jan 2016 20:52:26 +0000 (15:52 -0500)
Fix TenantNetworkManagerImpl::isTenantNetworkPresentInNode(), so it does not
use stale node to determine the termination points.

Patch set 2: fix UT

Change-Id: I22e1e88ca5b37f6da28b2281f01aaec07c3f751e
Signed-off-by: Flavio Fernandes <ffernand@redhat.com>
openstack/net-virt/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/impl/TenantNetworkManagerImpl.java
openstack/net-virt/src/test/java/org/opendaylight/ovsdb/openstack/netvirt/impl/TenantNetworkManagerImplTest.java

index 6cb1f144fcbc26ed7546735e4f147c5ca77deba6..e9ac3fe0ab2bfe8b10e9b8827d7cb7ea8889a565 100644 (file)
@@ -76,7 +76,9 @@ public class TenantNetworkManagerImpl implements ConfigInterface, TenantNetworkM
         }
 
         try {
-            List<OvsdbTerminationPointAugmentation> ports = southbound.getTerminationPointsOfBridge(node);
+            // Make sure to get fresh list of termination points, and not use the ones provided in node param!
+            List<OvsdbTerminationPointAugmentation> ports = southbound.readTerminationPointAugmentations(node);
+
             for (OvsdbTerminationPointAugmentation port : ports) {
                 String ifaceId = southbound.getInterfaceExternalIdsValue(port, Constants.EXTERNAL_ID_INTERFACE_ID);
                 if (ifaceId != null && isInterfacePresentInTenantNetwork(ifaceId, networkId)) {
index 92e92ea7d45c99c66625c02819e6acf0aede2cd2..6c6df3e47aa6a9e818a4ba377c086ed99e4f3a68 100644 (file)
@@ -117,7 +117,7 @@ public class TenantNetworkManagerImplTest {
 
         List<OvsdbTerminationPointAugmentation> ports = new ArrayList<>();
         ports.add(mock(OvsdbTerminationPointAugmentation.class));
-        when(southbound.getTerminationPointsOfBridge(any(Node.class))).thenReturn(ports);
+        when(southbound.readTerminationPointAugmentations(any(Node.class))).thenReturn(ports);
 
         assertTrue("Error, did not return correct boolean for isTenantNetworkPresentInNode", tenantNetworkManagerImpl.isTenantNetworkPresentInNode(mock(Node.class), SEG_ID));
     }