Bug 5342: Fix for SF appearing as Endpoint 74/34574/2
authorKeith Burns (alagalah) <alagalah@gmail.com>
Fri, 12 Feb 2016 17:31:12 +0000 (18:31 +0100)
committerKeith Burns <alagalah@gmail.com>
Fri, 12 Feb 2016 19:27:38 +0000 (19:27 +0000)
Still not sure what is Root Cause but don't want to hold up release. This will unblock

Change-Id: Ia18b94144b1f55495086991d9e7fe7c58f69ee18
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
renderers/ofoverlay/src/main/java/org/opendaylight/groupbasedpolicy/renderer/ofoverlay/endpoint/EndpointManager.java
renderers/ofoverlay/src/test/java/org/opendaylight/groupbasedpolicy/renderer/ofoverlay/endpoint/EndpointManagerTest.java

index 1d025c691ca29b87b9bcb70b5af371d83d76a77b..14c70d667def65cf0f8253fec589edb85f8067c3 100755 (executable)
@@ -312,6 +312,11 @@ public class EndpointManager implements AutoCloseable {
         EpKey newEpKey = getEpKey(newEp);
         TenantId tenantId = (newEp == null) ? null : newEp.getTenant();
 
+        if (newEp != null && !isValidEp(newEp)) {
+            LOG.info("Endpoint is not valid: {}", newEp);
+            return;
+        }
+
         Set<EndpointGroupId> oldEpgIds = getEndpointGroupsFromEndpoint(oldEp);
         Set<EndpointGroupId> newEpgIds = getEndpointGroupsFromEndpoint(newEp);
 
@@ -782,7 +787,7 @@ public class EndpointManager implements AutoCloseable {
 
     private boolean isValidEp(Endpoint endpoint) {
         return (endpoint != null && endpoint.getTenant() != null
-                && (endpoint.getEndpointGroup() != null || endpoint.getEndpointGroups() != null)
+                && (endpoint.getEndpointGroup() != null || (endpoint.getEndpointGroups() != null && !endpoint.getEndpointGroups().isEmpty()))
                 && endpoint.getL2Context() != null && endpoint.getMacAddress() != null);
     }
 
index cc267d2c9b8959accc7583364d86a51aed0cede6..2b59de46991216dc2bef107c0c4a0252d0836fd0 100644 (file)
@@ -613,7 +613,7 @@ public class EndpointManagerTest {
 
         when(endpoint1.getTenant()).thenReturn(tenantId);
         when(endpoint1.getEndpointGroup()).thenReturn(null);
-        Assert.assertNotNull(manager.getEgKey(endpoint1));
+        Assert.assertNull(manager.getEgKey(endpoint1));
 
         when(endpoint1.getEndpointGroup()).thenReturn(endpointGroupId);
         when(endpoint1.getEndpointGroups()).thenReturn(null);