TSC-181 : ITM Yang Models Cleanup 01/81901/8
authorApurba Mukherjee <apurba.mukherjee@ericsson.com>
Mon, 6 May 2019 05:20:50 +0000 (10:50 +0530)
committerFaseela K <faseela.k@ericsson.com>
Tue, 23 Jul 2019 05:58:31 +0000 (05:58 +0000)
Change-Id: Ic6330cb9b5521c4df04713b01e89f13e906c9d9f
Signed-off-by: Apurba Mukherjee <apurba.mukherjee@ericsson.com>
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/ElanL2GatewayUtils.java
elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/utils/TransportZoneNotificationUtil.java
vpnmanager/impl/src/test/java/org/opendaylight/netvirt/vpnmanager/test/VpnSubnetRouteHandlerTest.java

index a315c4449c140b527a0ca5b588dae6204f5d0f2d..3bf0d79e302e7b8a789f97c55b3c3fd501367f7a 100644 (file)
@@ -76,7 +76,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpc
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.GetDpidFromInterfaceOutput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.TransportZones;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.subnets.DeviceVteps;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.DeviceVteps;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.AddL2GwDeviceInputBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.AddL2GwDeviceOutput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService;
@@ -971,10 +971,8 @@ public class ElanL2GatewayUtils {
             }
             String psNodeId = globalNodeId + HwvtepHAUtil.PHYSICALSWITCH + psName;
             tzonesoptional.get().nonnullTransportZone().stream()
-                .filter(transportZone -> transportZone.getSubnets() != null)
-                .flatMap(transportZone -> transportZone.getSubnets().stream())
-                .filter(subnet -> subnet.getDeviceVteps() != null)
-                .flatMap(subnet -> subnet.getDeviceVteps().stream())
+                .filter(zone -> zone.getDeviceVteps() != null)
+                .flatMap(zone -> zone.getDeviceVteps().stream())
                 .filter(deviceVteps -> Objects.equals(getPsName(deviceVteps), psName)) //get device with same ps name
                 .filter(deviceVteps -> !Objects.equals(psNodeId, deviceVteps.getNodeId())
                         || !Objects.equals(tunnelIp, deviceVteps.getIpAddress()))//node id or tunnel ip is changed
index f41f42fc5d43fa2c8b9f0400150f529f1607df70..5f26e458f6cdcf0b257deb6c5f135eba9f3c6e25 100644 (file)
@@ -14,7 +14,6 @@ import com.google.common.collect.MapDifference;
 import com.google.common.collect.MapDifference.ValueDifference;
 import com.google.common.collect.Maps;
 import java.math.BigInteger;
-import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
@@ -46,8 +45,6 @@ import org.opendaylight.ovsdb.utils.mdsal.utils.ControllerMdsalUtils;
 import org.opendaylight.ovsdb.utils.southbound.utils.SouthboundUtils;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefixBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.meta.rev160406.BridgeRefInfo;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.meta.rev160406.bridge.ref.info.BridgeRefEntry;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.meta.rev160406.bridge.ref.info.BridgeRefEntryKey;
@@ -61,12 +58,9 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.Transp
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TransportZone;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TransportZoneBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TransportZoneKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.Subnets;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.SubnetsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.SubnetsKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.subnets.Vteps;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.subnets.VtepsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.subnets.VtepsKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.Vteps;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.VtepsBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.VtepsKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.config.rev150710.ElanConfig;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.interfaces.ElanInterface;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.vpn.instance.op.data.vpn.instance.op.data.entry.vpn.to.dpn.list.VpnInterfaces;
@@ -130,10 +124,8 @@ public class TransportZoneNotificationUtil {
     }
 
     private static TransportZone createZone(String subnetIp, String zoneName) {
-        List<Subnets> subnets = new ArrayList<>();
-        subnets.add(buildSubnets(subnetIp));
         TransportZoneBuilder tzb = new TransportZoneBuilder().withKey(new TransportZoneKey(zoneName))
-                .setTunnelType(TunnelTypeVxlan.class).setZoneName(zoneName).setSubnets(subnets);
+                .setTunnelType(TunnelTypeVxlan.class).setZoneName(zoneName);
         return tzb.build();
     }
 
@@ -390,13 +382,7 @@ public class TransportZoneNotificationUtil {
      * @return Whether a vtep was added or not.
      */
     private boolean addVtep(TransportZone zone, String subnetIp, BigInteger dpnId, @Nullable String localIp) {
-        List<Subnets> zoneSubnets = zone.getSubnets();
-        if (zoneSubnets == null) {
-            return false;
-        }
-
-        Subnets subnets = getOrAddSubnet(zoneSubnets, subnetIp);
-        for (Vteps existingVtep : subnets.nonnullVteps()) {
+        for (Vteps existingVtep : zone.nonnullVteps()) {
             if (Objects.equals(existingVtep.getDpnId(), dpnId)) {
                 return false;
             }
@@ -405,8 +391,8 @@ public class TransportZoneNotificationUtil {
         if (localIp != null) {
             IpAddress nodeIp = IpAddressBuilder.getDefaultInstance(localIp);
             VtepsBuilder vtepsBuilder = new VtepsBuilder().setDpnId(dpnId).setIpAddress(nodeIp)
-                    .setPortname(TUNNEL_PORT).setOptionOfTunnel(elanConfig.isUseOfTunnels());
-            subnets.getVteps().add(vtepsBuilder.build());
+                    .setOptionOfTunnel(elanConfig.isUseOfTunnels());
+            zone.getVteps().add(vtepsBuilder.build());
             return true;
         }
 
@@ -416,36 +402,10 @@ public class TransportZoneNotificationUtil {
     private static void removeVtep(String zoneName, BigInteger dpId, @NonNull TypedWriteTransaction<Configuration> tx) {
         InstanceIdentifier<Vteps> path = InstanceIdentifier.builder(TransportZones.class)
                 .child(TransportZone.class, new TransportZoneKey(zoneName))
-                .child(Subnets.class, new SubnetsKey(IpPrefixBuilder.getDefaultInstance(ALL_SUBNETS)))
-                .child(Vteps.class, new VtepsKey(dpId, TUNNEL_PORT)).build();
+                .child(Vteps.class, new VtepsKey(dpId)).build();
         tx.delete(path);
     }
 
-    // search for relevant subnets for the given subnetIP, add one if it is
-    // necessary
-    private static Subnets getOrAddSubnet(@NonNull List<Subnets> subnets, @NonNull String subnetIp) {
-        IpPrefix subnetPrefix = IpPrefixBuilder.getDefaultInstance(subnetIp);
-
-        for (Subnets subnet : subnets) {
-            if (Objects.equals(subnet.getPrefix(), subnetPrefix)) {
-                return subnet;
-            }
-        }
-
-        Subnets retSubnet = buildSubnets(subnetIp);
-        subnets.add(retSubnet);
-
-        return retSubnet;
-    }
-
-    private static Subnets buildSubnets(String subnetIp) {
-        SubnetsBuilder subnetsBuilder = new SubnetsBuilder().setDeviceVteps(new ArrayList<>())
-                .setGatewayIp(IpAddressBuilder.getDefaultInstance(ALL_SUBNETS_GW))
-                .withKey(new SubnetsKey(IpPrefixBuilder.getDefaultInstance(subnetIp))).setVlanId(0)
-                .setVteps(new ArrayList<>());
-        return subnetsBuilder.build();
-    }
-
     @Nullable
     private String getDpnLocalIp(BigInteger dpId) throws ReadFailedException {
         Optional<Node> node = getPortsNode(dpId);
index b8c562fb9d95503687511cdadf4b36fcdacef2dd..e2072aac1410c9f94614d1880745fcd0ab6a012c 100644 (file)
@@ -302,7 +302,7 @@ public class VpnSubnetRouteHandlerTest {
         dpntePsInfo = new DPNTEPsInfoBuilder().setDPNID(dpId).setUp(true).withKey(new DPNTEPsInfoKey(dpId))
             .setTunnelEndPoints(tunnelEndPoints).build();
         tunlEndPts =
-            new TunnelEndPointsBuilder().setInterfaceName(interfaceName).setVLANID(10).setIpAddress(ipAddress).build();
+            new TunnelEndPointsBuilder().setInterfaceName(interfaceName).setIpAddress(ipAddress).build();
         tunnelEndPoints.add(tunlEndPts);
         ipv4Family = new Ipv4FamilyBuilder().setRouteDistinguisher(routeDistinguishers).build();
         vpnInstnce = new org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.l3vpn.rev140815.vpn.instances