linkTerminations.add(atermination);
linkTerminations.add(ztermination);
- List<Link> supportedOdu4Links = getSupportingOdu4Links(linkTerminations);
+ List<Link> supportedOdu4Links = getSupportingOdu4Links(linkTerminations, serviceRate);
List<TerminationPoint> tps = getOtnNodeTps(linkTerminations);
TopologyShard otnTopologyShard;
otnTopologyShard = OpenRoadmOtnTopology.updateOtnLinks(supportedOdu4Links, tps, serviceRate, tribPortNb,
}
}
- private List<Link> getSupportingOdu4Links(List<LinkTp> nodesTopoTps) {
+ private List<Link> getSupportingOdu4Links(List<LinkTp> nodesTopoTps, Uint32 serviceRate) {
InstanceIdentifier<Network1> iiOtnTopologyLinks = InstanceIdentifier.builder(Networks.class)
.child(Network.class, new NetworkKey(new NetworkId(NetworkUtils.OTN_NETWORK_ID)))
.augmentation(Network1.class)
odu4links = netw1Opt
.get()
.nonnullLink().values()
- .stream().filter(lk -> lk.getLinkId().getValue().startsWith("ODTU4"))
+ .stream().filter(lk -> lk.getLinkId().getValue()
+ .startsWith(Uint32.valueOf(100).equals(serviceRate) ? "ODUC4" : "ODTU4"))
.collect(Collectors.toList());
}
if (odu4links == null) {
links.add(dlink);
}
}
- LOG.debug("odu4links = {}", links.toString());
+ LOG.debug("odu4oduC4links = {}", links);
return links;
}
import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.FrequencyGHz;
import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.FrequencyTHz;
import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.ModulationFormat;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev181130.OpucnTribSlotDef;
import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceDeleteInput;
import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.PathDescription;
import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.path.description.AToZDirection;
.setTribPortNumber(tribPort)
.setTribSlot(minTribSlot);
}
+ if (serviceRate.intValue() == 100) {
+ List<OpucnTribSlotDef> opucnTribSlotDefList = new ArrayList<>();
+ opucnTribSlotDefList.add(pathDescription.getAToZDirection().getMinTribSlot());
+ opucnTribSlotDefList.add(pathDescription.getAToZDirection().getMaxTribSlot());
+ otnServicePathInputBuilder.setOpucnTribSlots(opucnTribSlotDefList);
+ }
return otnServicePathInputBuilder.build();
}
}
PathDescription pathDescription = pathDescriptionOpt.get();
String serviceType = ServiceTypes.getServiceType(service.getServiceAEnd().getServiceFormat().getName(),
- service.getServiceAEnd().getServiceRate(), null);
+ service.getServiceAEnd().getServiceRate(), portMapping.getMapping(service.getServiceAEnd()
+ .getNodeId().getValue(), service.getServiceAEnd().getTxDirection().getPort().getPortName()));
switch (serviceType) {
case StringConstants.SERVICE_TYPE_100GE_T:
case StringConstants.SERVICE_TYPE_400GE:
RENDERING_DEVICES_A_Z_MSG);
ListenableFuture<OtnDeviceRenderingResult> atozrenderingFuture =
this.executor.submit(new OtnDeviceRenderingTask(this.otnDeviceRenderer, otnServicePathAtoZ));
- LOG.info("Rendering devices Z-A");
+ LOG.info(RENDERING_DEVICES_Z_A_MSG);
sendNotifications(ServicePathNotificationTypes.ServiceImplementationRequest,
otnServicePathZtoA.getServiceName(), RpcStatusEx.Pending,
RENDERING_DEVICES_Z_A_MSG);