X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=pce%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Fpce%2Fnetworkanalyzer%2FPceOtnNode.java;h=4d632f8222f973ef48d87989accd4cb6c00f8428;hb=f4e178b85f154d6ca8bad12280d70ce5aa043dd9;hp=80b345e2554fe23f7cce9fd788baf34ae8237d67;hpb=f49968974e1477d4fd9cfdd87d867c9ad347678e;p=transportpce.git diff --git a/pce/src/main/java/org/opendaylight/transportpce/pce/networkanalyzer/PceOtnNode.java b/pce/src/main/java/org/opendaylight/transportpce/pce/networkanalyzer/PceOtnNode.java index 80b345e25..4d632f822 100644 --- a/pce/src/main/java/org/opendaylight/transportpce/pce/networkanalyzer/PceOtnNode.java +++ b/pce/src/main/java/org/opendaylight/transportpce/pce/networkanalyzer/PceOtnNode.java @@ -21,23 +21,24 @@ import java.util.stream.Collectors; import org.opendaylight.transportpce.common.StringConstants; import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev191129.State; import org.opendaylight.yang.gen.v1.http.org.openroadm.equipment.states.types.rev191129.AdminStates; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev201211.xpdr.odu.switching.pools.OduSwitchingPools; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev201211.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingList; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev211210.OpenroadmNodeType; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev211210.OpenroadmTpType; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev211210.xpdr.tp.supported.interfaces.SupportedInterfaceCapability; -import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev200327.ODTU4TsAllocated; -import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev200327.ODTUCnTs; -import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210.Node1; -import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210.TerminationPoint1; -import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210.networks.network.node.termination.point.XpdrTpPortConnectionAttributes; -import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev201211.If100GEODU4; -import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev201211.If10GEODU2e; -import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev201211.If1GEODU0; -import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev201211.IfOCHOTU4ODU4; -import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev201211.IfOtsiOtsigroup; -import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev201211.SupportedIfCapability; -import org.opendaylight.yang.gen.v1.http.org.openroadm.xponder.rev211210.xpdr.otn.tp.attributes.OdtuTpnPool; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev230526.networks.network.node.termination.point.XpdrNetworkAttributes; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev230526.xpdr.odu.switching.pools.OduSwitchingPools; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev230526.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingList; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev230526.OpenroadmNodeType; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev230526.OpenroadmTpType; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev230526.xpdr.tp.supported.interfaces.SupportedInterfaceCapability; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev210924.ODTU4TsAllocated; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev210924.ODTUCnTs; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev230526.Node1; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev230526.TerminationPoint1; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev230526.networks.network.node.termination.point.XpdrTpPortConnectionAttributes; +import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev230526.If100GEODU4; +import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev230526.If10GEODU2e; +import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev230526.If1GEODU0; +import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev230526.IfOCHOTU4ODU4; +import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev230526.IfOtsiOtsigroup; +import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev230526.SupportedIfCapability; +import org.opendaylight.yang.gen.v1.http.org.openroadm.xponder.rev230526.xpdr.otn.tp.attributes.OdtuTpnPool; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NodeId; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.Node; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.TpId; @@ -62,11 +63,11 @@ public class PceOtnNode implements PceNode { OpenroadmNodeType.MUXPDR, OpenroadmNodeType.SWITCH, OpenroadmNodeType.TPDR); - private static final Map> SERVICE_TYPE_ETH_CLASS_MAP = Map.of( - StringConstants.SERVICE_TYPE_1GE, If1GEODU0.class, - StringConstants.SERVICE_TYPE_10GE, If10GEODU2e.class, - StringConstants.SERVICE_TYPE_100GE_M, If100GEODU4.class, - StringConstants.SERVICE_TYPE_100GE_S, If100GEODU4.class); + private static final Map SERVICE_TYPE_ETH_CLASS_MAP = Map.of( + StringConstants.SERVICE_TYPE_1GE, If1GEODU0.VALUE, + StringConstants.SERVICE_TYPE_10GE, If10GEODU2e.VALUE, + StringConstants.SERVICE_TYPE_100GE_M, If100GEODU4.VALUE, + StringConstants.SERVICE_TYPE_100GE_S, If100GEODU4.VALUE); private static final Map SERVICE_TYPE_ETH_TS_NB_MAP = Map.of( StringConstants.SERVICE_TYPE_1GE, 1, StringConstants.SERVICE_TYPE_10GE, 10, @@ -121,10 +122,10 @@ public class PceOtnNode implements PceNode { this.availableXpdrClientTps = new ArrayList<>(); this.usableXpdrClientTps = new ArrayList<>(); this.adminStates = node - .augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev211210.Node1.class) + .augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev230526.Node1.class) .getAdministrativeState(); this.state = node - .augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev211210.Node1.class) + .augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev230526.Node1.class) .getOperationalState(); this.tpAvailableTribPort.clear(); checkAvailableTribPort(); @@ -146,7 +147,7 @@ public class PceOtnNode implements PceNode { } public void initXndrTps(String mode) { - LOG.info("PceOtnNode: initXndrTps for node {}", this.nodeId.getValue()); + LOG.debug("PceOtnNode: initXndrTps for node {}", this.nodeId.getValue()); this.availableXponderTp.clear(); this.modeType = mode; List allTps = @@ -162,10 +163,10 @@ public class PceOtnNode implements PceNode { return; } for (TerminationPoint tp : allTps) { - org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev211210 + org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev230526 .TerminationPoint1 ocnTp1 = tp.augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev211210 + org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev230526 .TerminationPoint1.class); if (ocnTp1 == null) { LOG.warn("null ocn TP {}", tp); @@ -180,7 +181,7 @@ public class PceOtnNode implements PceNode { case XPONDERNETWORK: String notCreatedServiceType = xpdrNetTpCreation(ontTp1); if (notCreatedServiceType == null) { - LOG.info("TP {} of XPONDER {} is validated", + LOG.debug("TP {} of XPONDER {} is validated", tp.getTpId().getValue(), node.getNodeId().getValue()); this.availableXpdrNWTps.add(tp.getTpId()); @@ -196,7 +197,7 @@ public class PceOtnNode implements PceNode { continue; } if (checkClientTp(ontTp1)) { - LOG.info("TP {} of XPONDER {} is validated", + LOG.debug("TP {} of XPONDER {} is validated", tp.getTpId(), node.getNodeId().getValue()); this.availableXpdrClientTps.add(tp.getTpId()); @@ -254,7 +255,7 @@ public class PceOtnNode implements PceNode { } List nblList = new ArrayList<>( node1.getSwitchingPools().nonnullOduSwitchingPools() - .values().stream().findFirst().get() + .values().stream().findFirst().orElseThrow() .getNonBlockingList().values()); netwTps.sort(Comparator.comparing(TpId::getValue)); @@ -316,9 +317,9 @@ public class PceOtnNode implements PceNode { private boolean checkTpForOdtuTermination(TerminationPoint1 ontTp1) { for (SupportedInterfaceCapability sic : ontTp1.getTpSupportedInterfaces().getSupportedInterfaceCapability().values()) { - LOG.info("in checkTpForOduTermination - sic = {}", sic.getIfCapType()); - if ((sic.getIfCapType().equals(IfOCHOTU4ODU4.class) - || sic.getIfCapType().equals(IfOtsiOtsigroup.class)) + LOG.debug("in checkTpForOduTermination - sic = {}", sic.getIfCapType()); + if ((sic.getIfCapType().equals(IfOCHOTU4ODU4.VALUE) + || sic.getIfCapType().equals(IfOtsiOtsigroup.VALUE)) && (ontTp1.getXpdrTpPortConnectionAttributes() == null || ontTp1.getXpdrTpPortConnectionAttributes().getTsPool() == null)) { return true; @@ -335,12 +336,12 @@ public class PceOtnNode implements PceNode { || portConAttr.getOdtuTpnPool() == null) { return false; } - return checkFirstOdtuTpn(portConAttr.getOdtuTpnPool().values().stream().findFirst().get()); + return checkFirstOdtuTpn(portConAttr.getOdtuTpnPool().values().stream().findFirst().orElseThrow()); } private boolean checkFirstOdtuTpn(OdtuTpnPool otPool) { - return (otPool.getOdtuType().getSimpleName().equals(ODTU4TsAllocated.class.getSimpleName()) - || otPool.getOdtuType().getSimpleName().equals(ODTUCnTs.class.getSimpleName())) + return (otPool.getOdtuType().equals(ODTU4TsAllocated.VALUE)) + || otPool.getOdtuType().equals(ODTUCnTs.VALUE) && !otPool.getTpnPool().isEmpty(); } @@ -349,8 +350,7 @@ public class PceOtnNode implements PceNode { ontTp1.getTpSupportedInterfaces().getSupportedInterfaceCapability().values()) { LOG.debug("in checkTpForOduTermination - sic = {}", sic.getIfCapType()); // we could also check the administrative status of the tp - if (SERVICE_TYPE_ETH_CLASS_MAP.get(otnServiceType).getSimpleName() - .equals(sic.getIfCapType().getSimpleName())) { + if (SERVICE_TYPE_ETH_CLASS_MAP.get(otnServiceType).equals(sic.getIfCapType())) { return true; } } @@ -367,7 +367,7 @@ public class PceOtnNode implements PceNode { } else if (OpenroadmNodeType.SWITCH.equals(this.nodeType)) { initXndrTps(INTERMEDIATE_MODETYPE); } else { - LOG.info("validateAZxponder: XPONDER is ignored == {}", nodeId.getValue()); + LOG.warn("validateAZxponder: XPONDER is ignored == {}", nodeId.getValue()); valid = false; } } @@ -406,7 +406,7 @@ public class PceOtnNode implements PceNode { // Validate switch for use as an intermediate XPONDER on the path initXndrTps(INTERMEDIATE_MODETYPE); if (this.valid) { - LOG.info("validateIntermediateSwitch: Switch usable for transit == {}", nodeId.getValue()); + LOG.debug("validateIntermediateSwitch: Switch usable for transit == {}", nodeId.getValue()); } else { LOG.debug("validateIntermediateSwitch: Switch unusable for transit == {}", nodeId.getValue()); } @@ -420,7 +420,7 @@ public class PceOtnNode implements PceNode { .getTerminationPoint().values().stream() .filter(type -> type .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev211210 + org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev230526 .TerminationPoint1.class) .getTpType() .equals(OpenroadmTpType.XPONDERNETWORK)) @@ -428,7 +428,7 @@ public class PceOtnNode implements PceNode { XpdrTpPortConnectionAttributes portConAttr = tp.augmentation(TerminationPoint1.class).getXpdrTpPortConnectionAttributes(); if (portConAttr != null && portConAttr.getOdtuTpnPool() != null) { - OdtuTpnPool otPool = portConAttr.getOdtuTpnPool().values().stream().findFirst().get(); + OdtuTpnPool otPool = portConAttr.getOdtuTpnPool().values().stream().findFirst().orElseThrow(); if (checkFirstOdtuTpn(otPool)) { tpAvailableTribPort.put(tp.getTpId().getValue(), new ArrayList<>(otPool.getTpnPool())); } @@ -444,7 +444,7 @@ public class PceOtnNode implements PceNode { .getTerminationPoint().values().stream() .filter(type -> type .augmentation( - org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev211210 + org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev230526 .TerminationPoint1.class) .getTpType().equals(OpenroadmTpType.XPONDERNETWORK)) .collect(Collectors.toList()) @@ -567,6 +567,21 @@ public class PceOtnNode implements PceNode { return null; } + @Override + public String getXponderOperationalMode(XpdrNetworkAttributes tp) { + return null; + } + + @Override + public String getOperationalMode() { + return null; + } + + @Override + public OpenroadmNodeType getORNodeType() { + return this.nodeType; + } + /* * (non-Javadoc) *