X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=olm%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Folm%2Fservice%2FOlmPowerServiceImpl.java;h=79e18c6968c4a6f273410cfbf13d02c968340082;hb=9c1c56c8dc12c164601d12f507cf3125eb43780a;hp=3d3889318e79bf2fde6181e93f5fcaeda2fd17fa;hpb=27c71d2147b65e5f174f0be81a25c09e45645df0;p=transportpce.git diff --git a/olm/src/main/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImpl.java b/olm/src/main/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImpl.java index 3d3889318..79e18c696 100644 --- a/olm/src/main/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImpl.java +++ b/olm/src/main/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImpl.java @@ -61,12 +61,11 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev17 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev170418.calculate.spanloss.base.output.Spans; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev170418.calculate.spanloss.base.output.SpansBuilder; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev170418.get.pm.output.Measurements; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev170228.network.nodes.Mapping; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev190702.network.nodes.Mapping; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev190702.network.nodes.NodeInfo.OpenroadmVersion; import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev161014.RatioDB; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.interfaces.grp.Interface; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.interfaces.grp.InterfaceBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.interfaces.grp.InterfaceKey; -import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.org.openroadm.device.container.OrgOpenroadmDevice; import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Link1; import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmLinkType; import org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev161014.Interface1; @@ -125,17 +124,13 @@ public class OlmPowerServiceImpl implements OlmPowerService { @Override public GetPmOutput getPm(GetPmInput pmInput) { - org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping - .rev170228.network.Nodes.OpenroadmVersion openroadmVersion; - //LOG.info("Version returbed by mapping util is "+ mappingUtils.getOpenROADMVersion(pmInput.getNodeId())); + OpenroadmVersion openroadmVersion; if (mappingUtils.getOpenRoadmVersion(pmInput.getNodeId()) .equals(StringConstants.OPENROADM_DEVICE_VERSION_1_2_1)) { LOG.info("Device version is 1.2.1"); - openroadmVersion = org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping - .rev170228.network.Nodes.OpenroadmVersion._121; + openroadmVersion = OpenroadmVersion._121; } else { - openroadmVersion = org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping - .rev170228.network.Nodes.OpenroadmVersion._221; + openroadmVersion = OpenroadmVersion._221; LOG.info("Device version is 2.2.1"); } LOG.info("Now calling get pm data"); @@ -148,7 +143,6 @@ public class OlmPowerServiceImpl implements OlmPowerService { public ServicePowerSetupOutput servicePowerSetup(ServicePowerSetupInput powerSetupInput) { ServicePowerSetupOutputBuilder powerSetupOutput = new ServicePowerSetupOutputBuilder(); boolean successValPowerCalculation = powerMgmt.setPower(powerSetupInput); - if (successValPowerCalculation) { powerSetupOutput.setResult(ResponseCodes.SUCCESS_RESULT); } else { @@ -394,7 +388,6 @@ public class OlmPowerServiceImpl implements OlmPowerService { */ private boolean setSpanLoss(String nodeId, String interfaceName, BigDecimal spanLoss, String direction) { String realNodeId = getRealNodeId(nodeId); - BigDecimal initialSpanloss = new BigDecimal(0); try { LOG.info("Setting Spanloss in device for {}, InterfaceName: {}", realNodeId, interfaceName); if (mappingUtils.getOpenRoadmVersion(realNodeId) @@ -405,8 +398,6 @@ public class OlmPowerServiceImpl implements OlmPowerService { Optional interfaceObject; interfaceObject = openRoadmInterfaces.getInterface(realNodeId, interfaceName); if (interfaceObject.isPresent()) { - InstanceIdentifier interfacesIID = InstanceIdentifier.create(OrgOpenroadmDevice.class) - .child(Interface.class, new InterfaceKey(interfaceName)); InterfaceBuilder interfaceBuilder = new InterfaceBuilder(interfaceObject.get()); OtsBuilder otsBuilder = new OtsBuilder(); Interface intf = interfaceObject.get(); @@ -432,8 +423,7 @@ public class OlmPowerServiceImpl implements OlmPowerService { LOG.info("Spanloss Value update completed successfully"); return true; } else { - LOG.error("Interface not found for nodeId: {} and interfaceName: {}", - nodeId,interfaceName); + LOG.error("Interface not found for nodeId: {} and interfaceName: {}", nodeId, interfaceName); return false; } } else if (mappingUtils.getOpenRoadmVersion(realNodeId) @@ -446,13 +436,6 @@ public class OlmPowerServiceImpl implements OlmPowerService { .interfaces.grp.Interface> interfaceObject = openRoadmInterfaces.getInterface(realNodeId, interfaceName); if (interfaceObject.isPresent()) { - InstanceIdentifier interfacesIID = - InstanceIdentifier.create(org.opendaylight.yang.gen.v1.http.org.openroadm - .device.rev181019.org.openroadm.device.container.OrgOpenroadmDevice.class) - .child(org.opendaylight.yang.gen.v1.http.org.openroadm - .device.rev181019.interfaces.grp.Interface.class, new org.opendaylight.yang.gen - .v1.http.org.openroadm.device.rev181019.interfaces.grp.InterfaceKey(interfaceName)); org.opendaylight.yang.gen.v1.http.org.openroadm.device .rev181019.interfaces.grp.InterfaceBuilder interfaceBuilder = new org.opendaylight.yang.gen.v1.http.org.openroadm.device @@ -501,8 +484,7 @@ public class OlmPowerServiceImpl implements OlmPowerService { LOG.info("Spanloss Value update completed successfully"); return true; } else { - LOG.error("Interface not found for nodeId: {} and interfaceName: {}", - nodeId,interfaceName); + LOG.error("Interface not found for nodeId: {} and interfaceName: {}", nodeId,interfaceName); return false; } } @@ -543,19 +525,20 @@ public class OlmPowerServiceImpl implements OlmPowerService { OtsPmHolder destOtsPmHoler = getPmMeasurements(destNodeId, destTpId, "OpticalPowerInput"); spanLoss = new BigDecimal(srcOtsPmHoler.getOtsParameterVal() - destOtsPmHoler.getOtsParameterVal()) .setScale(0, RoundingMode.HALF_UP); - LOG.info("Spanloss Calculated as :" + spanLoss + "=" + srcOtsPmHoler.getOtsParameterVal() + "-" - + destOtsPmHoler.getOtsParameterVal()); - if ((spanLoss.doubleValue() < 28) && (spanLoss.doubleValue() > 0)) { - if (!setSpanLoss(sourceNodeId, srcOtsPmHoler.getOtsInterfaceName(), spanLoss, "TX")) { - LOG.info("Setting spanLoss failed for " + sourceNodeId); - return null; - } - if (!setSpanLoss(destNodeId, destOtsPmHoler.getOtsInterfaceName(), spanLoss, "RX")) { - LOG.info("Setting spanLoss failed for " + destNodeId); - return null; - } - map.put(link.getLinkId(), spanLoss); + LOG.info("Spanloss Calculated as :{}={}-{}", + spanLoss, srcOtsPmHoler.getOtsParameterVal(), destOtsPmHoler.getOtsParameterVal()); + if (spanLoss.doubleValue() > 28) { + LOG.warn("Span Loss is out of range of OpenROADM specifications"); + } + if (!setSpanLoss(sourceNodeId, srcOtsPmHoler.getOtsInterfaceName(), spanLoss, "TX")) { + LOG.info("Setting spanLoss failed for {}", sourceNodeId); + return null; + } + if (!setSpanLoss(destNodeId, destOtsPmHoler.getOtsInterfaceName(), spanLoss, "RX")) { + LOG.info("Setting spanLoss failed for {}", destNodeId); + return null; } + map.put(link.getLinkId(), spanLoss); } return map; }