Prevent Bulk OvsDB Node read during ext-network creation. 78/84278/3
authorChetan Arakere Gowdru <chetan.arakere@altencalsoftlabs.com>
Mon, 9 Sep 2019 11:50:55 +0000 (17:20 +0530)
committerFaseela K <faseela.k@ericsson.com>
Fri, 20 Sep 2019 05:42:30 +0000 (05:42 +0000)
Description:
In KPI environment, The external Provider network of GRE type are
mistakenly configured with physical-network name(public) which is not
valid. The physical-network-name parameter is only valid for flat/vlan
provider type use-cases.

Check added to prevent this bulk read other provider network
type(gre/vxlan)

Change-Id: I6936b0f178681155aa33e03e838c892d269df882
Signed-off-by: Chetan Arakere Gowdru <chetan.arakere@altencalsoftlabs.com>
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanServiceProvider.java

index a2ca1490fc1577fb5c979ae49d24292d0e97cc84..e8af0fdaa9dd48ec7754109b36ff90f3a1b209e7 100644 (file)
@@ -796,6 +796,13 @@ public class ElanServiceProvider extends AbstractLifecycle implements IElanServi
     private void handleExternalElanNetwork(ElanInstance elanInstance, boolean update,
                                            BiFunction<ElanInstance, String, Void> function) {
         String elanInstanceName = elanInstance.getElanInstanceName();
+        boolean isFlatOrVlanNetwork = (ElanUtils.isFlat(elanInstance) || ElanUtils.isVlan(elanInstance));
+        if (!isFlatOrVlanNetwork) {
+            LOG.error("Network is not of type FLAT/VLAN."
+                    + "Ignoring Elan-interface creation for given ProviderInterface {}",
+                elanInstance.getPhysicalNetworkName());
+            return;
+        }
         if (elanInstance.getPhysicalNetworkName() == null) {
             LOG.trace("No physical network attached to {}", elanInstanceName);
             return;