X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=neutronvpn%2Fimpl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fnetvirt%2Fneutronvpn%2Fevpn%2Fmanager%2FNeutronEvpnManager.java;h=749a6dc264584d8e6b63b8ee1e8e1ef8d046282c;hb=2f0569ed75ef8a1fb60f992d19c8bbdf92ff45bf;hp=f00594e1184455c3fef9e9c0ff1f91c018da6d74;hpb=4454218ea31281061f1c71294de9ecdb9b211e8a;p=netvirt.git diff --git a/neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/evpn/manager/NeutronEvpnManager.java b/neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/evpn/manager/NeutronEvpnManager.java index f00594e118..749a6dc264 100644 --- a/neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/evpn/manager/NeutronEvpnManager.java +++ b/neutronvpn/impl/src/main/java/org/opendaylight/netvirt/neutronvpn/evpn/manager/NeutronEvpnManager.java @@ -7,22 +7,22 @@ */ package org.opendaylight.netvirt.neutronvpn.evpn.manager; -import com.google.common.base.Optional; import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.SettableFuture; import java.util.ArrayList; import java.util.List; +import java.util.Optional; +import java.util.concurrent.ExecutionException; import java.util.function.Consumer; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException; import org.opendaylight.genius.datastoreutils.SingleTransactionDataBroker; +import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.netvirt.neutronvpn.NeutronvpnManager; import org.opendaylight.netvirt.neutronvpn.NeutronvpnUtils; import org.opendaylight.netvirt.vpnmanager.api.VpnHelper; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid; -import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.l3vpn.rev200204.vpn.af.config.vpntargets.VpnTarget; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.l3vpn.rev200204.vpn.instances.VpnInstance; +import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.l3vpn.rev200204.vpn.instances.vpn.instance.vpntargets.VpnTarget; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.CreateEVPNInput; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.CreateEVPNOutput; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.neutronvpn.rev150602.CreateEVPNOutputBuilder; @@ -76,7 +76,6 @@ public class NeutronEvpnManager { vpn.getId().getValue()))); continue; } - VpnInstance.Type vpnInstanceType = VpnInstance.Type.L2; if (vpn.getRouteDistinguisher().size() > 1) { errorList.add(RpcResultBuilder.newWarning(RpcError.ErrorType.PROTOCOL, "invalid-input", formatAndLog(LOG::warn, "Creation of EVPN failed for VPN {} due to multiple RD input {}", @@ -100,7 +99,7 @@ public class NeutronEvpnManager { ? new ArrayList<>(vpn.getExportRT()) : new ArrayList<>(); neutronvpnManager.createVpn(vpn.getId(), vpn.getName(), vpn.getTenantId(), rdList, importRdList, exportRdList, null /*router-id*/, null /*network-id*/, - vpnInstanceType, 0 /*l2vni*/); + true /*isL2Vpn*/, 0 /*l2vni*/); } catch (Exception ex) { errorList.add(RpcResultBuilder.newError(RpcError.ErrorType.APPLICATION, formatAndLog(LOG::error, "Creation of EVPN failed for VPN {}", vpn.getId().getValue(), ex), @@ -135,8 +134,8 @@ public class NeutronEvpnManager { vpns = VpnHelper.getAllVpnInstances(dataBroker); if (!vpns.isEmpty()) { for (VpnInstance vpn : vpns) { - if (vpn.getIpv4Family().getRouteDistinguisher() != null - && vpn.getType() == VpnInstance.Type.L2) { + if (vpn.getRouteDistinguisher() != null + && vpn.isL2vpn()) { vpns.add(vpn); } } @@ -148,8 +147,8 @@ public class NeutronEvpnManager { } else { String name = inputVpnId.getValue(); VpnInstance vpnInstance = VpnHelper.getVpnInstance(dataBroker, name); - if (vpnInstance != null && vpnInstance.getIpv4Family().getRouteDistinguisher() != null - && vpnInstance.getType() == VpnInstance.Type.L2) { + if (vpnInstance != null && vpnInstance.getRouteDistinguisher() != null + && vpnInstance.isL2vpn()) { vpns.add(vpnInstance); } else { result.set(RpcResultBuilder.failed().withWarning(RpcError.ErrorType.PROTOCOL, @@ -163,10 +162,10 @@ public class NeutronEvpnManager { InstanceIdentifier vpnMapIdentifier = InstanceIdentifier.builder(VpnMaps.class).child(VpnMap .class, new VpnMapKey(vpnId)).build(); EvpnInstancesBuilder evpn = new EvpnInstancesBuilder(); - List rd = vpnInstance.getIpv4Family().getRouteDistinguisher(); + List rd = vpnInstance.getRouteDistinguisher(); List ertList = new ArrayList<>(); List irtList = new ArrayList<>(); - for (VpnTarget vpnTarget : vpnInstance.getIpv4Family().getVpnTargets().nonnullVpnTarget()) { + for (VpnTarget vpnTarget : vpnInstance.getVpnTargets().nonnullVpnTarget()) { if (vpnTarget.getVrfRTType() == VpnTarget.VrfRTType.ExportExtcommunity) { ertList.add(vpnTarget.getVrfRTValue()); } @@ -187,7 +186,7 @@ public class NeutronEvpnManager { VpnMap vpnMap = optionalVpnMap.get(); evpn.setTenantId(vpnMap.getTenantId()).setName(vpnMap.getName()); } - } catch (ReadFailedException e) { + } catch (ExecutionException | InterruptedException e) { LOG.error("Error reading the VPN map for {}", vpnMapIdentifier, e); result.set(RpcResultBuilder.failed().withError(RpcError.ErrorType.APPLICATION, "Error reading the VPN map for " + vpnMapIdentifier, e).build());