LOG.info("SRG Power Range not found");
}
} else {
- LOG.info("Tranponder range not available seting to default "
- + "power for nodeId: {}", nodeId);
+ LOG.info("Tranponder range not available setting to default power for nodeId: {}", nodeId);
String interfaceName = destTpId + "-" + input.getWaveNumber();
if (callSetTransponderPower(nodeId, interfaceName, new BigDecimal(-5),openroadmVersion)) {
LOG.info("Transponder OCH connection: {} power updated ", interfaceName);
return false;
}
if (interfaceOpt.isPresent()) {
- spanLossTx = interfaceOpt.get().augmentation(Interface1.class).getOts()
- .getSpanLossTransmit().getValue();
+ if (interfaceOpt.get().augmentation(Interface1.class).getOts()
+ .getSpanLossTransmit() != null) {
+ spanLossTx = interfaceOpt.get().augmentation(Interface1.class).getOts()
+ .getSpanLossTransmit().getValue();
+ LOG.info("Spanloss TX is {}", spanLossTx);
+ } else {
+ LOG.error("interface {} has no spanloss value", interfaceOpt.get().getName());
+ }
} else {
LOG.error("Interface {} on node {} is not present!", portMapping.getSupportingOts(),
nodeId);
return false;
}
if (interfaceOpt.isPresent()) {
- spanLossTx = interfaceOpt.get().augmentation(org.opendaylight.yang.gen.v1.http.org
- .openroadm.optical.transport.interfaces.rev181019.Interface1.class).getOts()
- .getSpanLossTransmit().getValue();
+ if (interfaceOpt.get().augmentation(org.opendaylight.yang.gen.v1.http.org
+ .openroadm.optical.transport.interfaces.rev181019.Interface1.class).getOts()
+ .getSpanLossTransmit() != null) {
+ spanLossTx = interfaceOpt.get().augmentation(org.opendaylight.yang.gen.v1.http.org
+ .openroadm.optical.transport.interfaces.rev181019.Interface1.class).getOts()
+ .getSpanLossTransmit().getValue();
+ LOG.info("Spanloss TX is {}", spanLossTx);
+ } else {
+ LOG.error("interface {} has no spanloss value", interfaceOpt.get().getName());
+ }
} else {
LOG.error("Interface {} on node {} is not present!", portMapping.getSupportingOts(),
nodeId);
return false;
}
}
- LOG.info("Spanloss TX is {}", spanLossTx);
- BigDecimal powerValue = BigDecimal.valueOf(Math.min(spanLossTx.doubleValue() - 9, 2));
- LOG.info("Power Value is {}", powerValue);
+
+ BigDecimal powerValue = null;
+ if (spanLossTx != null && spanLossTx.intValue() <= 28 && spanLossTx.intValue() > 0) {
+ powerValue = BigDecimal.valueOf(Math.min(spanLossTx.doubleValue() - 9, 2));
+ LOG.info("Power Value is {}", powerValue);
+ } else if (spanLossTx.intValue() > 28) {
+ LOG.error(
+ "Power Value is null - spanLossTx > 28dB not compliant with openROADM specifications");
+ return false;
+ } else if (spanLossTx.intValue() <= 0) {
+ LOG.error(
+ "Power Value is null - spanLossTx <= 0 dB not compliant with openROADM specifications");
+ return false;
+ } else {
+ LOG.error("Power Value is null - spanLossTx is null");
+ return false;
+ }
try {
Boolean setXconnPowerSuccessVal = crossConnect.setPowerLevel(nodeId,
OpticalControlMode.Power, powerValue, connectionNumber);
}
LOG.info("Transponder power range is fine");
if (!txPowerRangeMap.isEmpty()) {
- LOG.info("Transponder power range is not null {}, {}",
- nextNodeId,srgId);
+ LOG.info("Transponder power range is not null {}, {}", nextNodeId,srgId);
//Transponder range is not empty then check SRG Range
Optional<Mapping> mappingObjectSRG = OlmUtils.getNode(nextNodeId, db)
return false;
}
} else {
- LOG.info("Tranponder range not available seting to default "
- + "power for nodeId: {}", nodeId);
+ LOG.info("Tranponder range not available seting to default power for nodeId: {}", nodeId);
String interfaceName = destTpId + "-" + waveLength;
if (callSetTransponderPower(nodeId,interfaceName,new BigDecimal(-5),
openroadmVersion)) {
OpticalControlMode.GainLoss, powerValue,connectionNumber);
return true;
} else {
- LOG.info("Set Power failed for Roadm-connection: {} on Node: {}", connectionNumber,
- nodeId);
+ LOG.info("Set Power failed for Roadm-connection: {} on Node: {}", connectionNumber, nodeId);
return false;
}
} else {
- LOG.error("Interface {} on node {} is not present!", interfaceName,
- nodeId);
+ LOG.error("Interface {} on node {} is not present!", interfaceName, nodeId);
return false;
}
} else if (openroadmVersion.equals(Nodes.OpenroadmVersion._221)) {
OpticalControlMode.GainLoss, powerValue,connectionNumber);
return true;
} else {
- LOG.info("Set Power failed for Roadm-connection: {} on Node: {}", connectionNumber,
- nodeId);
+ LOG.info("Set Power failed for Roadm-connection: {} on Node: {}", connectionNumber, nodeId);
return false;
}
}
}
} catch (OpenRoadmInterfaceException | InterruptedException ex) {
- LOG.error("Error during power setup on Roadm nodeId: {} for connection: {}",
- nodeId, connectionNumber, ex);
+ LOG.error("Error during power setup on Roadm nodeId: {} for connection: {}", nodeId, connectionNumber, ex);
return false;
}
return false;
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()));
if (mappingUtils.getOpenRoadmVersion(pmInput.getNodeId())
.equals(StringConstants.OPENROADM_DEVICE_VERSION_1_2_1)) {
LOG.info("Device version is 1.2.1");
public ServicePowerSetupOutput servicePowerSetup(ServicePowerSetupInput powerSetupInput) {
ServicePowerSetupOutputBuilder powerSetupOutput = new ServicePowerSetupOutputBuilder();
boolean successValPowerCalculation = powerMgmt.setPower(powerSetupInput);
-
if (successValPowerCalculation) {
powerSetupOutput.setResult(ResponseCodes.SUCCESS_RESULT);
} else {
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)
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;
}
}
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;
}