/** * Gets the job key. * * @return the job key */ public String getJobKey() { return "L2GW" + this.transportZone.getZoneName(); }
public TransportZone build() { return new TransportZoneImpl(this); }
private TransportZone createZone(String subnetIp, String zoneName) { TransportZoneBuilder tzb = new TransportZoneBuilder(); tzb.setKey(new TransportZoneKey(zoneName)); tzb.setTunnelType(TunnelTypeVxlan.class); tzb.setZoneName(zoneName); List<Subnets> subnets = new ArrayList<>(); subnets.add(newSubnets(subnetIp)); tzb.setSubnets(subnets); return tzb.build(); }
private int addVtep(TransportZone zone, String subnetIp, BigInteger dpnId) throws Exception { Subnets subnets = findSubnets(zone.getSubnets(), subnetIp); for(Vteps existingVtep : subnets.getVteps()){ if (existingVtep.getDpnId().equals(dpnId)) { return 0; } } IpAddress nodeIp = getNodeIP(dpnId); VtepsBuilder vtepsBuilder = new VtepsBuilder(); vtepsBuilder.setDpnId(dpnId); vtepsBuilder.setIpAddress(nodeIp); vtepsBuilder.setPortname(TUNNEL_PORT); subnets.getVteps().add(vtepsBuilder.build()); return 1; }
public TransportZoneBuilder(TransportZone base) { if (base.getKey() == null) { this._key = new TransportZoneKey( base.getZoneName() ); this._zoneName = base.getZoneName(); } else { this._key = base.getKey(); this._zoneName = _key.getZoneName(); } this._subnets = base.getSubnets(); this._tunnelType = base.getTunnelType(); if (base instanceof TransportZoneImpl) { TransportZoneImpl impl = (TransportZoneImpl) base; if (!impl.augmentation.isEmpty()) { this.augmentation = new HashMap<>(impl.augmentation); } } else if (base instanceof AugmentationHolder) { @SuppressWarnings("unchecked") AugmentationHolder<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TransportZone> casted =(AugmentationHolder<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TransportZone>) base; if (!casted.augmentations().isEmpty()) { this.augmentation = new HashMap<>(casted.augmentations()); } } }
List<Vteps> vtepList = subVtepMapTemp.get(subOb); for (Vteps vtep : vtepList) if (vtep.getDpnId().equals(dpnId)) return true; .child(TransportZone.class, new TransportZoneKey(tzone)).build(); Optional<TransportZone> tZoneOptional = ItmUtils.read(LogicalDatastoreType.CONFIGURATION, tzonePath, dataBroker); if (tZoneOptional.isPresent()) { TransportZone tz = tZoneOptional.get(); if (tz.getSubnets() == null || tz.getSubnets().isEmpty()) return false; for (Subnets sub : tz.getSubnets()) { if (sub.getVteps() == null || sub.getVteps().isEmpty()) continue; for (Vteps vtep : sub.getVteps()) { if (vtep.getDpnId().equals(dpnId)) { return true;
if (tZ.getTunnelType().equals(TunnelTypeGre.class)) { isGreType = true; for (Subnets sub : ItmUtils.emptyIfNull(tZ.getSubnets())) { List<Vteps> vtepList = sub.getVteps(); validateForDuplicateAndSingleGreTep(inputVtep, isConfiguredTepGreType, isGreType, vtepList);
private TransportZoneImpl(TransportZoneBuilder base) { if (base.getKey() == null) { this._key = new TransportZoneKey( base.getZoneName() ); this._zoneName = base.getZoneName(); } else { this._key = base.getKey(); this._zoneName = _key.getZoneName(); } this._subnets = base.getSubnets(); this._tunnelType = base.getTunnelType(); switch (base.augmentation.size()) { case 0: this.augmentation = Collections.emptyMap(); break; case 1: final Map.Entry<java.lang.Class<? extends Augmentation<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TransportZone>>, Augmentation<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TransportZone>> e = base.augmentation.entrySet().iterator().next(); this.augmentation = Collections.<java.lang.Class<? extends Augmentation<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TransportZone>>, Augmentation<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TransportZone>>singletonMap(e.getKey(), e.getValue()); break; default : this.augmentation = new HashMap<>(base.augmentation); } }
/** * Checks if is gre tunnel type. * * @param tZoneName * the zone name * @param tZoneMap * the zone map * @return true, if is gre tunnel type */ private boolean isGreTunnelType(String tZoneName, Map<String, TransportZone> tZoneMap) { TransportZone tzone = tZoneMap.get(tZoneName); /* if (tzone != null && StringUtils.equalsIgnoreCase(ITMConstants.TUNNEL_TYPE_GRE, tzone.getTunnelType())) { return true; } */ if( (tzone != null) && (tzone.getTunnelType()).equals(TunnelTypeGre.class) ) { return true; } return false; }
/** * Gets the transport zone. * * @param tzone * the tzone * @return the transport zone */ public TransportZone getTransportZone(String tzone) { InstanceIdentifier<TransportZone> tzonePath = InstanceIdentifier.builder(TransportZones.class) .child(TransportZone.class, new TransportZoneKey(tzone)).build(); Optional<TransportZone> tZoneOptional = ItmUtils.read(LogicalDatastoreType.CONFIGURATION, tzonePath, dataBroker); if (tZoneOptional.isPresent()) { return tZoneOptional.get(); } return null; }
public TransportZoneBuilder addAugmentation(java.lang.Class<? extends Augmentation<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TransportZone>> augmentationType, Augmentation<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.TransportZone> augmentation) { if (augmentation == null) { return removeAugmentation(augmentationType); } if (!(this.augmentation instanceof HashMap)) { this.augmentation = new HashMap<>(); } this.augmentation.put(augmentationType, augmentation); return this; }
@Override public String toString() { return "AddL2GwDevicesToTransportZoneJob [transportZone=" + transportZone.getZoneName() + "]"; } }
@Override protected void add(InstanceIdentifier<TransportZone> key, TransportZone tzNew) { if (LOG.isTraceEnabled()) { LOG.trace("Received Transport Zone Add Event: {}", tzNew); } if (tzNew.getTunnelType().equals(TunnelTypeVxlan.class)) { DataStoreJobCoordinator coordinator = DataStoreJobCoordinator.getInstance(); AddL2GwDevicesToTransportZoneJob job = new AddL2GwDevicesToTransportZoneJob(dataBroker, itmRpcService, tzNew); coordinator.enqueueJob(job.getJobKey(), job); } }
/** * Gets the transport zone from config ds. * * @param tzone * the tzone * @return the transport zone */ public TransportZone getTransportZoneFromConfigDS(String tzone) { InstanceIdentifier<TransportZone> tzonePath = InstanceIdentifier.builder(TransportZones.class) .child(TransportZone.class, new TransportZoneKey(tzone)).build(); Optional<TransportZone> tZoneOptional = ItmUtils.read(LogicalDatastoreType.CONFIGURATION, tzonePath, dataBroker); if (tZoneOptional.isPresent()) { return tZoneOptional.get(); } return null; }
/** * Instantiates a new adds the l2 gw devices to transport zone job. * * @param dataBroker the data broker * @param itmRpcService the itm rpc service * @param transportZone the transport zone */ public AddL2GwDevicesToTransportZoneJob(DataBroker dataBroker, ItmRpcService itmRpcService, TransportZone transportZone) { this.dataBroker = dataBroker; this.itmRpcService = itmRpcService; this.transportZone = transportZone; LOG.debug("created AddL2GwDevicesToTransportZone Job for tZone {}", transportZone.getZoneName()); }
@Override protected void add(InstanceIdentifier<TransportZone> key, TransportZone tzNew) { LOG.debug("Received Transport Zone Add Event: {}, {}", key, tzNew); List<DPNTEPsInfo> opDpnList = createDPNTepInfo(tzNew); List<HwVtep> hwVtepList = createhWVteps(tzNew); LOG.trace("Add: Operational dpnTepInfo - Before invoking ItmManager {}", opDpnList); if(opDpnList.size()>0 || hwVtepList.size()>0) { LOG.trace("Add: Invoking ItmManager with DPN List {} " , opDpnList); LOG.trace("Add: Invoking ItmManager with hwVtep List {} " , hwVtepList); //itmManager.build_all_tunnels(opDpnList); DataStoreJobCoordinator coordinator = DataStoreJobCoordinator.getInstance(); ItmTepAddWorker addWorker = new ItmTepAddWorker(opDpnList, hwVtepList, dataBroker, idManagerService, mdsalManager); coordinator.enqueueJob(tzNew.getZoneName(), addWorker); } }
/** * Gets all transport zones as map. * * @return all transport zones as map */ private Map<String, TransportZone> getAllTransportZonesAsMap() { TransportZones tZones = getAllTransportZones(); Map<String, TransportZone> tZoneMap = new HashMap<>(); if( null != tZones) { for (TransportZone tzone : ItmUtils.emptyIfNull(tZones.getTransportZone())) { tZoneMap.put(tzone.getZoneName(), tzone); } } return tZoneMap; }
@Override protected void remove(InstanceIdentifier<TransportZone> key, TransportZone tzOld) { LOG.debug("Received Transport Zone Remove Event: {}, {}", key, tzOld); List<DPNTEPsInfo> opDpnList = createDPNTepInfo(tzOld); List<HwVtep> hwVtepList = createhWVteps(tzOld); LOG.trace("Delete: Invoking deleteTunnels in ItmManager with DpnList {}", opDpnList); if(opDpnList.size()>0 || hwVtepList.size()>0) { LOG.trace("Delete: Invoking ItmManager"); LOG.trace("Delete: Invoking ItmManager with hwVtep List {} " , hwVtepList); // itmManager.deleteTunnels(opDpnList); DataStoreJobCoordinator coordinator = DataStoreJobCoordinator.getInstance(); ItmTepRemoveWorker removeWorker = new ItmTepRemoveWorker(opDpnList, hwVtepList, tzOld, dataBroker, idManagerService, mdsalManager); coordinator.enqueueJob(tzOld.getZoneName(), removeWorker); } }
private void addTransportZone(TransportZone zone, String interName) { InstanceIdentifier<TransportZones> path = InstanceIdentifier.builder(TransportZones.class).build(); TransportZones zones = mdsalUtils.read(LogicalDatastoreType.CONFIGURATION, path); if (zones == null) { List<TransportZone> zoneList = new ArrayList<>(); zoneList.add(zone); zones = new TransportZonesBuilder().setTransportZone(zoneList).build(); } else { zones.getTransportZone().add(zone); } MDSALUtil.syncWrite(dataBroker, LogicalDatastoreType.CONFIGURATION, path, zones); LOG.info("updating transport zone {} due to {} handling", zone.getZoneName(), interName); }
public static HwVtep createHwVtepObject(String topo_id, String node_id, IpAddress ipAddress, IpPrefix ipPrefix, IpAddress gatewayIP, int vlanID, Class<? extends TunnelTypeBase> tunnel_type, TransportZone transportZone) { HwVtep hwVtep = new HwVtep(); hwVtep.setGatewayIP(gatewayIP); hwVtep.setHwIp(ipAddress); hwVtep.setIpPrefix(ipPrefix); hwVtep.setNode_id(node_id); hwVtep.setTopo_id(topo_id); hwVtep.setTransportZone(transportZone.getZoneName()); hwVtep.setTunnel_type(tunnel_type); hwVtep.setVlanID(vlanID); return hwVtep; }