DHCP relay update to DVR
[groupbasedpolicy.git] / neutron-mapper / src / main / java / org / opendaylight / groupbasedpolicy / neutron / mapper / mapping / NeutronSubnetAware.java
index 4c9708e766f29dae449588a63b8eeda4cf418923..db22e962f923a6fc956c5c76c2fac8454ac1a7bc 100644 (file)
@@ -9,12 +9,10 @@ package org.opendaylight.groupbasedpolicy.neutron.mapper.mapping;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
-import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.function.Function;
 import java.util.stream.Collectors;
-import java.util.stream.Stream;
 
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction;
@@ -38,16 +36,12 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.forwarding
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.forwarding.l2_l3.rev170511.has.subnet.SubnetBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.forwarding.l2_l3.rev170511.has.subnet.subnet.AllocationPool;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.forwarding.l2_l3.rev170511.has.subnet.subnet.AllocationPoolBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.forwarding.l2_l3.rev170511.has.subnet.subnet.DhcpServers;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.forwarding.l2_l3.rev170511.has.subnet.subnet.DhcpServersBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.forwarding.l2_l3.rev170511.has.subnet.subnet.GatewaysBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.forwarding.l2_l3.rev170511.has.subnet.subnet.gateways.PrefixesBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.forwarding.rev160427.forwarding.forwarding.by.tenant.NetworkDomain;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.forwarding.rev160427.forwarding.forwarding.by.tenant.NetworkDomainBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.policy.rev140421.tenants.tenant.forwarding.context.Subnet;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.binding.rev150712.PortBindingExtension;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.networks.Network;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.FixedIps;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.provider.ext.rev150712.NetworkProviderExtension;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.rev150712.Neutron;
@@ -129,7 +123,6 @@ public class NeutronSubnetAware implements
             Neutron neutron, IpAddress gwIpAddress) {
         SubnetBuilder sb = new SubnetBuilder();
         sb.setIpPrefix(subnet.getCidr());
-        sb.setDhcpServers(resolveDhcpServerIp(neutron, subnet));
         sb.setDefaultSubnetGatewayIp(subnet.getGatewayIp());
         if (gwIpAddress != null) {
             sb.setGateways(Collections.singletonList(new GatewaysBuilder().setGateway(gwIpAddress)
@@ -204,33 +197,6 @@ public class NeutronSubnetAware implements
         return ndb.build();
     }
 
-    private static List<DhcpServers> resolveDhcpServerIp(Neutron neutron,
-        org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.subnets.rev150712.subnets.attributes.subnets.Subnet subnet) {
-        if (neutron == null || neutron.getPorts() == null || neutron.getPorts().getPort() == null) {
-            return new ArrayList<>();
-        }
-        final List<DhcpServers> dhcpServers = new ArrayList<>();
-
-        Stream<Port> ports = neutron.getPorts().getPort().stream()
-            .filter(port -> subnet.getNetworkId().equals(port.getNetworkId()))
-            .filter(port -> port.getDeviceId().contains(subnet.getNetworkId().getValue()));
-
-        ports.forEach(port -> {
-            java.util.Optional<FixedIps> optionalDhcpServerIp = port.getFixedIps().stream().findFirst();
-            PortBindingExtension portBindingExtension = port.getAugmentation(PortBindingExtension.class);
-            if (optionalDhcpServerIp.isPresent() && portBindingExtension != null && subnet.getUuid()
-                .equals(optionalDhcpServerIp.get().getSubnetId())) {
-                dhcpServers.add(new DhcpServersBuilder()
-                    .setDhcpServerIp(optionalDhcpServerIp.get().getIpAddress())
-                    .setNode(portBindingExtension.getHostId())
-                    .build());
-                LOG.trace("Found DHCP server IP address: {} for node: {} in subnet: {}",
-                    optionalDhcpServerIp.get().getIpAddress(), portBindingExtension.getHostId(), subnet);
-            }
-        });
-        return dhcpServers;
-    }
-
     @Deprecated
     private void processTenantSubnet(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.subnets.rev150712.subnets.attributes.subnets.Subnet neutronSubnet, Network networkOfSubnet, TenantId tenantId, ReadWriteTransaction rwTx) {
         Subnet subnet;