Fixes some issues in PCE when an OTN switch is used as an intermediate
switch.
JIRA: TRNSPRTPCE-499
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: Ica1468195c0e193d80dc38bd8f5dadebae0d8769
case StringConstants.SERVICE_TYPE_1GE:
case StringConstants.SERVICE_TYPE_ODU4:
case StringConstants.SERVICE_TYPE_ODUC4:
case StringConstants.SERVICE_TYPE_1GE:
case StringConstants.SERVICE_TYPE_ODU4:
case StringConstants.SERVICE_TYPE_ODUC4:
- if (rc.getResultTribPortTribSlot().get(0) != null && rc.getResultTribPortTribSlot().get(1) != null) {
+ if (rc.getResultTribPortTribSlot() != null && rc.getResultTribPortTribSlot().get(0) != null
+ && rc.getResultTribPortTribSlot().get(1) != null) {
atoZDirectionBldr.setAToZWavelengthNumber(Uint32.valueOf(0))
.setMinTribSlot(rc.getResultTribPortTribSlot().get(0))
.setMaxTribSlot(rc.getResultTribPortTribSlot().get(1));
} else {
atoZDirectionBldr.setAToZWavelengthNumber(Uint32.valueOf(0))
.setMinTribSlot(rc.getResultTribPortTribSlot().get(0))
.setMaxTribSlot(rc.getResultTribPortTribSlot().get(1));
} else {
- LOG.error("Trib port and trib slot number should be present");
+ LOG.warn("Trib port and trib slot number should be present");
atoZDirectionBldr.setMinTribSlot(new OpucnTribSlotDef("0.0"))
.setMaxTribSlot(new OpucnTribSlotDef("0.0"));
}
break;
default:
atoZDirectionBldr.setMinTribSlot(new OpucnTribSlotDef("0.0"))
.setMaxTribSlot(new OpucnTribSlotDef("0.0"));
}
break;
default:
- LOG.warn("unknown service type : unable to set Min/Max frequencies");
+ LOG.warn("unknown service type : unable to set Min/Max frequencies or trib-port/trib-slot");
break;
}
return atoZDirectionBldr;
break;
}
return atoZDirectionBldr;
case StringConstants.SERVICE_TYPE_10GE:
case StringConstants.SERVICE_TYPE_1GE:
case StringConstants.SERVICE_TYPE_ODU4:
case StringConstants.SERVICE_TYPE_10GE:
case StringConstants.SERVICE_TYPE_1GE:
case StringConstants.SERVICE_TYPE_ODU4:
- if (rc.getResultTribPortTribSlot().get(0) != null && rc.getResultTribPortTribSlot().get(1) != null) {
+ if (rc.getResultTribPortTribSlot() != null && rc.getResultTribPortTribSlot().get(0) != null
+ && rc.getResultTribPortTribSlot().get(1) != null) {
ztoADirectionBldr.setZToAWavelengthNumber(Uint32.valueOf(0))
.setMinTribSlot(rc.getResultTribPortTribSlot().get(0))
.setMaxTribSlot(rc.getResultTribPortTribSlot().get(1));
} else {
ztoADirectionBldr.setZToAWavelengthNumber(Uint32.valueOf(0))
.setMinTribSlot(rc.getResultTribPortTribSlot().get(0))
.setMaxTribSlot(rc.getResultTribPortTribSlot().get(1));
} else {
- LOG.error("Trib port and trib slot number should be present");
+ LOG.warn("Trib port and trib slot number should be present");
ztoADirectionBldr.setMinTribSlot(new OpucnTribSlotDef("0.0"))
.setMaxTribSlot(new OpucnTribSlotDef("0.0"));
}
ztoADirectionBldr.setMinTribSlot(new OpucnTribSlotDef("0.0"))
.setMaxTribSlot(new OpucnTribSlotDef("0.0"));
}
case StringConstants.SERVICE_TYPE_ODUC4:
case StringConstants.SERVICE_TYPE_100GE_S:
pceResult.setRC(ResponseCodes.RESPONSE_OK);
case StringConstants.SERVICE_TYPE_ODUC4:
case StringConstants.SERVICE_TYPE_100GE_S:
pceResult.setRC(ResponseCodes.RESPONSE_OK);
+ pceResult.setServiceType(serviceType);
LOG.info("In PostAlgoPathValidator: ODU4/ODUC4 path found {}", path);
break;
default:
LOG.info("In PostAlgoPathValidator: ODU4/ODUC4 path found {}", path);
break;
default:
switch (pceOtnLink.getlinkType()) {
case OTNLINK:
switch (pceOtnLink.getlinkType()) {
case OTNLINK:
+ if (source.getXpdrClient(pceOtnLink.getSourceTP().getValue()) != null) {
+ pceOtnLink.setClient(source.getXpdrClient(pceOtnLink.getSourceTP().getValue()));
+ }
if (dest.getXpdrClient(pceOtnLink.getDestTP().getValue()) != null) {
pceOtnLink.setClient(dest.getXpdrClient(pceOtnLink.getDestTP().getValue()));
}
if (dest.getXpdrClient(pceOtnLink.getDestTP().getValue()) != null) {
pceOtnLink.setClient(dest.getXpdrClient(pceOtnLink.getDestTP().getValue()));
}
allPceLinks.put(linkId, pceOtnLink);
source.addOutgoingLink(pceOtnLink);
LOG.info("validateLink: OTN-LINK added to allPceLinks {}", pceOtnLink);
allPceLinks.put(linkId, pceOtnLink);
source.addOutgoingLink(pceOtnLink);
LOG.info("validateLink: OTN-LINK added to allPceLinks {}", pceOtnLink);
)
|| (StringConstants.SERVICE_TYPE_100GE_S.equals(this.otnServiceType)
&& (mode.equals("AZ") && checkSwPool(availableXpdrClientTps, availableXpdrNWTps, 1, 1)))
)
|| (StringConstants.SERVICE_TYPE_100GE_S.equals(this.otnServiceType)
&& (mode.equals("AZ") && checkSwPool(availableXpdrClientTps, availableXpdrNWTps, 1, 1)))
+ || (StringConstants.SERVICE_TYPE_100GE_S.equals(this.otnServiceType)
+ && (mode.equals("intermediate") && checkSwPool(availableXpdrClientTps, availableXpdrNWTps, 0, 2)))
) {
this.valid = true;
} else {
) {
this.valid = true;
} else {
- if (clientTps == null && netwTps != null && nbClient == 0 && nbNetw == 2) {
+ if (netwTps != null && nbClient == 0 && nbNetw == 2) {
netwTps.sort(Comparator.comparing(TpId::getValue));
@Nullable
List<NonBlockingList> nblList = new ArrayList<>(node.augmentation(Node1.class).getSwitchingPools()
netwTps.sort(Comparator.comparing(TpId::getValue));
@Nullable
List<NonBlockingList> nblList = new ArrayList<>(node.augmentation(Node1.class).getSwitchingPools()