Bug 2991: Handle cases when neutron network has no segmentationId 30/21230/1
authorFlavio Fernandes <ffernand@redhat.com>
Wed, 27 May 2015 16:02:19 +0000 (12:02 -0400)
committerFlavio Fernandes <ffernand@redhat.com>
Wed, 27 May 2015 16:05:05 +0000 (12:05 -0400)
External networks have no tenant segmentation id. Because of that, code
must not assume that field is non-null.

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

index 2e701984f4976ee65c431b71f741b085e3bcdcd6..53f9d06237b8d60b0f52fe9152dcead61a8d1283 100644 (file)
@@ -99,7 +99,10 @@ public class TenantNetworkManagerImpl implements ConfigInterface, TenantNetworkM
         Preconditions.checkNotNull(neutronNetworkCache);
         List <NeutronNetwork> networks = neutronNetworkCache.getAllNetworks();
         for (NeutronNetwork network : networks) {
-            if (network.getProviderSegmentationID().equalsIgnoreCase(segmentationId)) return network.getNetworkUUID();
+            if (network.getProviderSegmentationID() != null &&
+                    network.getProviderSegmentationID().equalsIgnoreCase(segmentationId)) {
+                return network.getNetworkUUID();
+            }
         }
         return null;
     }