X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=tapi%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Ftapi%2Fconnectivity%2FConnectivityUtils.java;h=392ae6d60736019cd6486a7e43d0a68a824c9b63;hb=268165cb2822b6ce4c55f00cac63eed2bb222ec7;hp=1884cb3b577a288e23ce0ff5e4555446f0246a9e;hpb=895f3e89b3c2554e704f74c764d23d5b79bf0862;p=transportpce.git diff --git a/tapi/src/main/java/org/opendaylight/transportpce/tapi/connectivity/ConnectivityUtils.java b/tapi/src/main/java/org/opendaylight/transportpce/tapi/connectivity/ConnectivityUtils.java index 1884cb3b5..392ae6d60 100644 --- a/tapi/src/main/java/org/opendaylight/transportpce/tapi/connectivity/ConnectivityUtils.java +++ b/tapi/src/main/java/org/opendaylight/transportpce/tapi/connectivity/ConnectivityUtils.java @@ -25,32 +25,35 @@ import org.opendaylight.transportpce.tapi.TapiStringConstants; import org.opendaylight.transportpce.tapi.utils.GenericServiceEndpoint; import org.opendaylight.transportpce.tapi.utils.ServiceEndpointType; import org.opendaylight.transportpce.tapi.utils.TapiContext; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220114.Network; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220114.mapping.Mapping; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220114.mapping.MappingKey; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220114.network.Nodes; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220114.network.NodesKey; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.equipment.types.rev181130.OpticTypes; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.node.types.rev181130.NodeIdType; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.ConnectionType; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.RpcActions; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.Service; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.sdnc.request.header.SdncRequestHeaderBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service.endpoint.RxDirectionBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service.endpoint.SubrateEthSlaBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service.endpoint.TxDirectionBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service.lgx.LgxBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service.port.PortBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmNodeType; -import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev181130.ODU4; -import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev181130.OTU4; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.format.rev190531.ServiceFormat; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceCreateInput; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceCreateInputBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.create.input.ServiceAEnd; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.create.input.ServiceAEndBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.create.input.ServiceZEnd; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.create.input.ServiceZEndBuilder; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220316.Network; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220316.mapping.Mapping; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220316.mapping.MappingKey; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220316.network.Nodes; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220316.network.NodesKey; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.equipment.types.rev191129.OpticTypes; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.node.types.rev210528.NodeIdType; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.ConnectionType; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.RpcActions; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.Service; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.ethernet.subrate.attributes.grp.EthernetAttributesBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.sdnc.request.header.SdncRequestHeaderBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.endpoint.RxDirectionBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.endpoint.RxDirectionKey; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.endpoint.TxDirectionBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.endpoint.TxDirectionKey; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.lgx.LgxBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.port.PortBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.subrate.eth.sla.SubrateEthSlaBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev211210.OpenroadmNodeType; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev210924.ODU4; +import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev210924.OTU4; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.format.rev191129.ServiceFormat; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceCreateInput; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.ServiceCreateInputBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.service.create.input.ServiceAEnd; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.service.create.input.ServiceAEndBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.service.create.input.ServiceZEnd; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.service.create.input.ServiceZEndBuilder; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.PathDescription; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.path.description.atoz.direction.AToZ; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.path.description.atoz.direction.AToZKey; @@ -109,6 +112,7 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.common.Uint16; import org.opendaylight.yangtools.yang.common.Uint32; import org.opendaylight.yangtools.yang.common.Uint64; +import org.opendaylight.yangtools.yang.common.Uint8; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -167,7 +171,7 @@ public final class ConnectivityUtils { .setOpticType(OpticTypes.Gray) .setServiceFormat(ServiceFormat.Ethernet) .setServiceRate(Uint32.valueOf(100)) - .setTxDirection(new TxDirectionBuilder() + .setTxDirection(Map.of(new TxDirectionKey(Uint8.ZERO), new TxDirectionBuilder() .setPort(new PortBuilder() .setPortDeviceName(txPortDeviceName) .setPortName(txPortName) @@ -181,8 +185,8 @@ public final class ConnectivityUtils { .setLgxPortRack(TapiStringConstants.PORT_RACK_VALUE) .setLgxPortShelf("00") .build()) - .build()) - .setRxDirection(new RxDirectionBuilder() + .build())) + .setRxDirection(Map.of(new RxDirectionKey(Uint8.ZERO), new RxDirectionBuilder() .setPort(new PortBuilder() .setPortDeviceName(rxPortDeviceName) .setPortName(rxPortName) @@ -196,7 +200,7 @@ public final class ConnectivityUtils { .setLgxPortRack(TapiStringConstants.PORT_RACK_VALUE) .setLgxPortShelf("00") .build()) - .build()) + .build())) .build(); } @@ -206,7 +210,7 @@ public final class ConnectivityUtils { .setOpticType(OpticTypes.Gray) .setServiceFormat(ServiceFormat.Ethernet) .setServiceRate(Uint32.valueOf(100)) - .setTxDirection(new TxDirectionBuilder() + .setTxDirection(Map.of(new TxDirectionKey(Uint8.ZERO), new TxDirectionBuilder() .setPort(new PortBuilder() .setPortDeviceName(txPortDeviceName) .setPortName(txPortName) @@ -220,8 +224,8 @@ public final class ConnectivityUtils { .setLgxPortRack(TapiStringConstants.PORT_RACK_VALUE) .setLgxPortShelf("00") .build()) - .build()) - .setRxDirection(new RxDirectionBuilder() + .build())) + .setRxDirection(Map.of(new RxDirectionKey(Uint8.ZERO), new RxDirectionBuilder() .setPort(new PortBuilder() .setPortDeviceName(rxPortDeviceName) .setPortName(rxPortName) @@ -235,7 +239,7 @@ public final class ConnectivityUtils { .setLgxPortRack(TapiStringConstants.PORT_RACK_VALUE) .setLgxPortShelf("00") .build()) - .build()) + .build())) .build(); } @@ -275,11 +279,11 @@ public final class ConnectivityUtils { ServicePaths servicePaths = optServicePaths.get(); PathDescription pathDescription = servicePaths.getPathDescription(); LOG.info("Path description of service = {}", pathDescription); - org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service.ServiceAEnd serviceAEnd + org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.ServiceAEnd serviceAEnd = service.getServiceAEnd(); // Endpoint creation EndPoint endPoint1 = mapServiceAEndPoint(serviceAEnd, pathDescription); - org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service.ServiceZEnd serviceZEnd + org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.ServiceZEnd serviceZEnd = service.getServiceZEnd(); EndPoint endPoint2 = mapServiceZEndPoint(serviceZEnd, pathDescription); Map endPointMap = new HashMap<>(); @@ -343,9 +347,9 @@ public final class ConnectivityUtils { } private Map createConnectionsFromService( - org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service.ServiceAEnd + org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.ServiceAEnd serviceAEnd, - org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service.ServiceZEnd + org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.ServiceZEnd serviceZEnd, PathDescription pathDescription) { Map connectionServMap = new HashMap<>(); @@ -1012,7 +1016,7 @@ public final class ConnectivityUtils { } private EndPoint mapServiceZEndPoint( - org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service.ServiceZEnd + org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.ServiceZEnd serviceZEnd, PathDescription pathDescription) { EndPointBuilder endPointBuilder = new EndPointBuilder(); // 1. Service Format: ODU, OTU, ETH @@ -1039,8 +1043,10 @@ public final class ConnectivityUtils { } org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.local._class.Name name = new org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.local._class.NameBuilder() - .setValueName("OpenROADM node id") - .setValue(serviceZEnd.getTxDirection().getPort().getPortDeviceName()) + .setValueName("OpenROADM info") + .setValue(String.join("-", serviceZEnd.getClli(), + serviceZEnd.getTxDirection().values().stream().findFirst().get().getPort().getPortDeviceName(), + serviceZEnd.getTxDirection().values().stream().findFirst().get().getPort().getPortName())) .build(); return endPointBuilder .setServiceInterfacePoint(new ServiceInterfacePointBuilder() @@ -1061,12 +1067,13 @@ public final class ConnectivityUtils { .build()) .setProtectionRole(ProtectionRole.WORK) .setRole(PortRole.SYMMETRIC) - .setLocalId(serviceZEnd.getTxDirection().getPort().getPortDeviceName()) + .setLocalId(serviceZEnd.getTxDirection().values().stream().findFirst().get() + .getPort().getPortDeviceName()) .build(); } private EndPoint mapServiceAEndPoint( - org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service.ServiceAEnd + org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.service.ServiceAEnd serviceAEnd, PathDescription pathDescription) { EndPointBuilder endPointBuilder = new EndPointBuilder(); // 1. Service Format: ODU, OTU, ETH @@ -1093,8 +1100,10 @@ public final class ConnectivityUtils { } org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.local._class.Name name = new org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.local._class.NameBuilder() - .setValueName("OpenROADM node id") - .setValue(serviceAEnd.getTxDirection().getPort().getPortDeviceName()) + .setValueName("OpenROADM info") + .setValue(String.join("-", serviceAEnd.getClli(), + serviceAEnd.getTxDirection().values().stream().findFirst().get().getPort().getPortDeviceName(), + serviceAEnd.getTxDirection().values().stream().findFirst().get().getPort().getPortName())) .build(); return endPointBuilder .setServiceInterfacePoint(new ServiceInterfacePointBuilder() @@ -1115,7 +1124,7 @@ public final class ConnectivityUtils { .build()) .setProtectionRole(ProtectionRole.WORK) .setRole(PortRole.SYMMETRIC) - .setLocalId(serviceAEnd.getTxDirection().getPort().getPortDeviceName()) + .setLocalId(serviceAEnd.getTxDirection().values().stream().findFirst().get().getPort().getPortDeviceName()) .build(); } @@ -1437,7 +1446,12 @@ public final class ConnectivityUtils { .setOpticType(OpticTypes.Gray) .setServiceFormat(serviceFormat) .setServiceRate(Uint32.valueOf(capacity)) - .setTxDirection(new TxDirectionBuilder() + .setEthernetAttributes(new EthernetAttributesBuilder().setSubrateEthSla(new SubrateEthSlaBuilder() + .setCommittedBurstSize(Uint16.valueOf(64)) + .setCommittedInfoRate(Uint32.valueOf(100000)) + .build()) + .build()) + .setTxDirection(Map.of(new TxDirectionKey(Uint8.ZERO), new TxDirectionBuilder() .setPort(new PortBuilder() .setPortDeviceName(txPortDeviceName) .setPortName(txPortName) @@ -1451,8 +1465,9 @@ public final class ConnectivityUtils { .setLgxPortRack(TapiStringConstants.PORT_RACK_VALUE) .setLgxPortShelf("00") .build()) - .build()) - .setRxDirection(new RxDirectionBuilder() + .setIndex(Uint8.ZERO) + .build())) + .setRxDirection(Map.of(new RxDirectionKey(Uint8.ZERO), new RxDirectionBuilder() .setPort(new PortBuilder() .setPortDeviceName(rxPortDeviceName) .setPortName(rxPortName) @@ -1466,7 +1481,8 @@ public final class ConnectivityUtils { .setLgxPortRack(TapiStringConstants.PORT_RACK_VALUE) .setLgxPortShelf("00") .build()) - .build()); + .setIndex(Uint8.ZERO) + .build())); if (serviceFormat.equals(ServiceFormat.ODU)) { serviceZEndBuilder.setOduServiceRate(ODU4.class); } @@ -1475,12 +1491,11 @@ public final class ConnectivityUtils { } if (!serviceLayer.equals(LayerProtocolName.ETH)) { serviceZEndBuilder - .setSubrateEthSla(new SubrateEthSlaBuilder().setSubrateEthSla(new org.opendaylight.yang.gen.v1.http - .org.openroadm.common.service.types.rev190531.subrate.eth.sla.SubrateEthSlaBuilder() - .setCommittedBurstSize(Uint16.valueOf(64)) - .setCommittedInfoRate(Uint32.valueOf(100000)) - .build()) - .build()); + .setEthernetAttributes(new EthernetAttributesBuilder().setSubrateEthSla(new SubrateEthSlaBuilder() + .setCommittedBurstSize(Uint16.valueOf(64)) + .setCommittedInfoRate(Uint32.valueOf(100000)) + .build()) + .build()); } return serviceZEndBuilder.build(); } @@ -1536,7 +1551,14 @@ public final class ConnectivityUtils { .setOpticType(OpticTypes.Gray) .setServiceFormat(serviceFormat) .setServiceRate(Uint32.valueOf(capacity)) - .setTxDirection(new TxDirectionBuilder() + .setEthernetAttributes(new EthernetAttributesBuilder().setSubrateEthSla( + new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev211210.subrate.eth + .sla.SubrateEthSlaBuilder() + .setCommittedBurstSize(Uint16.valueOf(64)) + .setCommittedInfoRate(Uint32.valueOf(100000)) + .build()) + .build()) + .setTxDirection(Map.of(new TxDirectionKey(Uint8.ZERO), new TxDirectionBuilder() .setPort(new PortBuilder() .setPortDeviceName(txPortDeviceName) .setPortName(txPortName) @@ -1550,8 +1572,9 @@ public final class ConnectivityUtils { .setLgxPortRack(TapiStringConstants.PORT_RACK_VALUE) .setLgxPortShelf("00") .build()) - .build()) - .setRxDirection(new RxDirectionBuilder() + .setIndex(Uint8.ZERO) + .build())) + .setRxDirection(Map.of(new RxDirectionKey(Uint8.ZERO), new RxDirectionBuilder() .setPort(new PortBuilder() .setPortDeviceName(rxPortDeviceName) .setPortName(rxPortName) @@ -1565,7 +1588,8 @@ public final class ConnectivityUtils { .setLgxPortRack(TapiStringConstants.PORT_RACK_VALUE) .setLgxPortShelf("00") .build()) - .build()); + .setIndex(Uint8.ZERO) + .build())); if (serviceFormat.equals(ServiceFormat.ODU)) { serviceAEndBuilder.setOduServiceRate(ODU4.class); } @@ -1574,12 +1598,11 @@ public final class ConnectivityUtils { } if (!serviceLayer.equals(LayerProtocolName.ETH)) { serviceAEndBuilder - .setSubrateEthSla(new SubrateEthSlaBuilder().setSubrateEthSla(new org.opendaylight.yang.gen.v1.http - .org.openroadm.common.service.types.rev190531.subrate.eth.sla.SubrateEthSlaBuilder() - .setCommittedBurstSize(Uint16.valueOf(64)) - .setCommittedInfoRate(Uint32.valueOf(100000)) - .build()) - .build()); + .setEthernetAttributes(new EthernetAttributesBuilder().setSubrateEthSla(new SubrateEthSlaBuilder() + .setCommittedBurstSize(Uint16.valueOf(64)) + .setCommittedInfoRate(Uint32.valueOf(100000)) + .build()) + .build()); } return serviceAEndBuilder.build(); }