X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=tapi%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Ftapi%2Ftopology%2FTapiNetworkModelServiceImpl.java;h=0e9b5a0c21958c635a8bbeca462bd96b578d582a;hb=db48b1e815c4f74a008f98f015fffe1bf0a052ca;hp=deb9fc40c5ca4d01e6dd0aa2bd4a356609c0c6ad;hpb=88b66915d592d2f1602581bd6991b47b89673f71;p=transportpce.git diff --git a/tapi/src/main/java/org/opendaylight/transportpce/tapi/topology/TapiNetworkModelServiceImpl.java b/tapi/src/main/java/org/opendaylight/transportpce/tapi/topology/TapiNetworkModelServiceImpl.java index deb9fc40c..0e9b5a0c2 100644 --- a/tapi/src/main/java/org/opendaylight/transportpce/tapi/topology/TapiNetworkModelServiceImpl.java +++ b/tapi/src/main/java/org/opendaylight/transportpce/tapi/topology/TapiNetworkModelServiceImpl.java @@ -24,8 +24,8 @@ import org.opendaylight.transportpce.common.network.NetworkTransactionService; import org.opendaylight.transportpce.tapi.R2RTapiLinkDiscovery; import org.opendaylight.transportpce.tapi.TapiStringConstants; import org.opendaylight.transportpce.tapi.utils.TapiLink; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210426.mapping.Mapping; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210426.network.Nodes; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210927.mapping.Mapping; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210927.network.Nodes; import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev191129.State; import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.NodeTypes; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.types.rev191129.XpdrNodeTypes; @@ -244,10 +244,12 @@ public class TapiNetworkModelServiceImpl implements TapiNetworkModelService { .getBytes(Charset.forName("UTF-8"))).toString()); Name nameDsr = new NameBuilder().setValueName("dsr/odu node name").setValue( String.join("+", nodeId, TapiStringConstants.DSR)).build(); + Name nameNodeType = new NameBuilder().setValueName("Node Type") + .setValue(getNodeType(xponderType)).build(); List dsrLayerProtocols = Arrays.asList(LayerProtocolName.DSR, LayerProtocolName.ODU); - Node dsrNode = createTapiXpdrNode(Map.of(nameDsr.key(), nameDsr), dsrLayerProtocols, - nodeId, nodeUuidDsr, xpdrClMaps, xpdrNetMaps, xponderType, oorOduSwitchingPool); + Node dsrNode = createTapiXpdrNode(Map.of(nameDsr.key(), nameDsr, nameNodeType.key(), nameNodeType), + dsrLayerProtocols, nodeId, nodeUuidDsr, xpdrClMaps, xpdrNetMaps, xponderType, oorOduSwitchingPool); nodeMap.put(dsrNode.key(), dsrNode); @@ -258,8 +260,8 @@ public class TapiNetworkModelServiceImpl implements TapiNetworkModelService { Name nameOtsi = new NameBuilder().setValueName("otsi node name").setValue( String.join("+", nodeId, TapiStringConstants.OTSI)).build(); List otsiLayerProtocols = Arrays.asList(LayerProtocolName.PHOTONICMEDIA); - Node otsiNode = createTapiXpdrNode(Map.of(nameOtsi.key(), nameOtsi), otsiLayerProtocols, - nodeId, nodeUuidOtsi, xpdrClMaps, xpdrNetMaps, xponderType, null); + Node otsiNode = createTapiXpdrNode(Map.of(nameOtsi.key(), nameOtsi, nameNodeType.key(), nameNodeType), + otsiLayerProtocols, nodeId, nodeUuidOtsi, xpdrClMaps, xpdrNetMaps, xponderType, null); nodeMap.put(otsiNode.key(), otsiNode); @@ -278,7 +280,7 @@ public class TapiNetworkModelServiceImpl implements TapiNetworkModelService { switch (xpdrType) { case 1: // Tpdr - return createTpdrSwitchPool(); + return createTpdrSwitchPool(xpdrNetMaps); case 2: // Mux return createMuxSwitchPool(xpdrClMaps, xpdrNetMaps, xpdrNb); @@ -779,6 +781,8 @@ public class TapiNetworkModelServiceImpl implements TapiNetworkModelService { // Names Name nodeNames = new NameBuilder().setValueName("roadm node name") .setValue(String.join("+", orNodeId, TapiStringConstants.PHTNC_MEDIA)).build(); + Name nameNodeType = new NameBuilder().setValueName("Node Type") + .setValue(OpenroadmNodeType.ROADM.getName()).build(); // Protocol Layer List layerProtocols = Arrays.asList(LayerProtocolName.PHOTONICMEDIA); // Empty random creation of mandatory fields for avoiding errors.... @@ -796,7 +800,7 @@ public class TapiNetworkModelServiceImpl implements TapiNetworkModelService { .build(); return new NodeBuilder() .setUuid(nodeUuid) - .setName(Map.of(nodeNames.key(), nodeNames)) + .setName(Map.of(nodeNames.key(), nodeNames, nameNodeType.key(), nameNodeType)) .setLayerProtocolName(layerProtocols) .setAdministrativeState(AdministrativeState.UNLOCKED) .setOperationalState(OperationalState.ENABLED) @@ -861,8 +865,28 @@ public class TapiNetworkModelServiceImpl implements TapiNetworkModelService { return linkMap; } - private OduSwitchingPools createTpdrSwitchPool() { - return new OduSwitchingPoolsBuilder().build(); + private OduSwitchingPools createTpdrSwitchPool(List xpdrNetMaps) { + Map nblMap = new HashMap<>(); + int count = 1; + for (int i = 1; i <= xpdrNetMaps.size(); i++) { + LOG.info("XPDr net LCP = {}", xpdrNetMaps.get(i - 1).getLogicalConnectionPoint()); + LOG.info("XPDr net associated LCP = {}", xpdrNetMaps.get(i - 1).getConnectionMapLcp()); + TpId tpid1 = new TpId(xpdrNetMaps.get(i - 1).getLogicalConnectionPoint()); + TpId tpid2 = new TpId(xpdrNetMaps.get(i - 1).getConnectionMapLcp()); + List tpList = new ArrayList<>(); + tpList.add(tpid1); + tpList.add(tpid2); + NonBlockingList nbl = new NonBlockingListBuilder() + .setNblNumber(Uint16.valueOf(count)) + .setTpList(tpList) + .build(); + nblMap.put(nbl.key(), nbl); + count++; + } + return new OduSwitchingPoolsBuilder() + .setNonBlockingList(nblMap) + .setSwitchingPoolNumber(Uint16.valueOf(1)) + .build(); } private OduSwitchingPools createSwtchSwitchPool(List xpdrClMaps, List xpdrNetMaps, @@ -980,7 +1004,7 @@ public class TapiNetworkModelServiceImpl implements TapiNetworkModelService { OwnedNodeEdgePoint> onepl) { // create NodeRuleGroup if (oorOduSwitchingPool == null) { - LOG.info("TPDR node --> no switching pool"); + LOG.info("No switching pool created for node = {}", nodeId); return new HashMap<>(); } LOG.info("ONEPL = {}", onepl.values()); @@ -1168,6 +1192,21 @@ public class TapiNetworkModelServiceImpl implements TapiNetworkModelService { } } + private String getNodeType(XpdrNodeTypes xponderType) { + switch (xponderType.getIntValue()) { + case 1: + return OpenroadmNodeType.TPDR.getName(); + case 2: + return OpenroadmNodeType.MUXPDR.getName(); + case 3: + return OpenroadmNodeType.SWITCH.getName(); + default: + LOG.info("XpdrType {} not supported", xponderType); + break; + } + return null; + } + private void mergeNodeinTopology(Map nodeMap) { // TODO is this merge correct? Should we just merge topology by changing the nodes map?? // TODO: verify this is correct. Should we identify the context IID with the context UUID??