NETVIRT-1278: Don't write mac-in-use to config DS 51/72151/7
authorJosh <jhershbe@redhat.com>
Tue, 22 May 2018 09:12:45 +0000 (12:12 +0300)
committerSam Hague <shague@redhat.com>
Tue, 5 Jun 2018 22:02:53 +0000 (22:02 +0000)
When a node is discovered for which there is no entry
in the config datastore we copy it over so that we can
than make modifications to it. A new field, mac-in-use,
was added and it is operational only so when attempting
to write the bridge to config the whole thing fails.

Fix is simple, just don't write the termination points
to the config datastore at all.

Change-Id: I0592d34fb0500e2e8001be617af8b11a5eb9d6c9
Signed-off-by: Josh <jhershbe@redhat.com>
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanBridgeManager.java

index 8e7d530ccd7dad62c67b9cbbd99d07d0da98376b..a298366140647d007fe797d1754160bf1aa34fda 100644 (file)
@@ -11,7 +11,6 @@ import com.google.common.base.Splitter;
 import com.google.common.base.Strings;
 import com.google.common.collect.Lists;
 import java.math.BigInteger;
-import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
@@ -35,8 +34,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.re
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.DatapathTypeNetdev;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbBridgeAugmentation;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbNodeAugmentation;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbTerminationPointAugmentation;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbTerminationPointAugmentationBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.bridge.attributes.BridgeOtherConfigs;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.bridge.attributes.BridgeOtherConfigsBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.node.attributes.ManagedNodeEntry;
@@ -47,8 +44,6 @@ import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeBuilder;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeKey;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPoint;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPointBuilder;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -263,27 +258,7 @@ public class ElanBridgeManager implements IElanBridgeManager {
 
     private void copyBridgeToConfig(Node brIntNode) {
         NodeBuilder bridgeNodeBuilder = new NodeBuilder(brIntNode);
-
-        //termination points need to be masssaged to remove the ifindex field
-        //which are not allowed in the config data store
-        List<TerminationPoint> terminationPoints = brIntNode.getTerminationPoint();
-        if (terminationPoints != null) {
-            List<TerminationPoint> newTerminationPoints = new ArrayList<>();
-            for (TerminationPoint tp : terminationPoints) {
-                OvsdbTerminationPointAugmentation ovsdbTerminationPointAugmentation =
-                                                        tp.augmentation(OvsdbTerminationPointAugmentation.class);
-                TerminationPointBuilder tpBuilder = new TerminationPointBuilder(tp);
-                if (ovsdbTerminationPointAugmentation != null) {
-                    OvsdbTerminationPointAugmentationBuilder tpAugmentationBuilder =
-                                new OvsdbTerminationPointAugmentationBuilder(ovsdbTerminationPointAugmentation);
-                    tpAugmentationBuilder.setIfindex(null);
-                    tpBuilder.addAugmentation(OvsdbTerminationPointAugmentation.class, tpAugmentationBuilder.build());
-                }
-                newTerminationPoints.add(tpBuilder.build());
-            }
-            bridgeNodeBuilder.setTerminationPoint(newTerminationPoints);
-        }
-
+        bridgeNodeBuilder.setTerminationPoint(null);
         InstanceIdentifier<Node> brNodeIid = SouthboundUtils.createInstanceIdentifier(brIntNode.getNodeId());
         this.mdsalUtils.put(LogicalDatastoreType.CONFIGURATION, brNodeIid, bridgeNodeBuilder.build());
     }