From 95e82b90f4afbbfc75b126236d0d011d0d015fb4 Mon Sep 17 00:00:00 2001 From: "Vachhani, Shweta (sv111y)" Date: Fri, 14 May 2021 17:29:29 -0400 Subject: [PATCH] Power control support for 87.5GHz spectrum width Update OLM PowerMgmtImpl to support power calculation based on Media Channel with 87.5GHz slot width. - Modify optical-renderer-input to have nmc and mc width Renderer will use nmc-width while olm will use mc-width. - Adapt renderer UT JIRA: TRNSPRTPCE-461 Signed-off-by: Vachhani, Shweta (sv111y) Change-Id: I290e1437ec38dd11a01f1a07b1b91613792c9143 --- ...transportpce-common-types@2021-09-30.yang} | 13 +++++- .../common/crossconnect/CrossConnect.java | 2 +- .../common/crossconnect/CrossConnectImpl.java | 2 +- .../crossconnect/CrossConnectImpl221.java | 44 +++++++++---------- .../crossconnect/CrossConnectImpl710.java | 2 +- .../common/fixedflex/GridUtils.java | 4 +- .../crossconnect/CrossConnectImpl221Test.java | 2 +- .../common/fixedflex/GridUtilsTest.java | 6 +-- .../service/NetworkModelServiceImpl.java | 4 +- .../transportpce/olm/power/PowerMgmtImpl.java | 16 ++++--- .../olm/service/OlmPowerServiceImpl.java | 4 +- .../transportpce/olm/util/OlmUtils121.java | 14 +++--- .../transportpce/olm/util/OlmUtils221.java | 12 ++--- .../transportpce/olm/util/OlmUtils710.java | 8 ++-- .../olm/util/OlmPowerServiceRpcImplUtil.java | 6 +-- ...org-openroadm-common-types@2020-05-29.yang | 2 +- .../renderer/ModelMappingUtils.java | 24 +++++----- .../transportpce/renderer/NodeLists.java | 2 +- .../DeviceRendererServiceImpl.java | 12 ++--- .../DeviceRenderingResult.java | 6 +-- .../OtnDeviceRendererServiceImpl.java | 12 ++--- .../OtnDeviceRenderingResult.java | 4 +- .../RendererServiceOperationsImpl.java | 6 +-- .../tasks/DeviceRenderingRollbackTask.java | 4 +- .../tasks/DeviceRenderingTask.java | 2 +- ...ndererServiceOperationsImplDeleteTest.java | 5 ++- .../RendererServiceOperationsImplTest.java | 2 +- .../renderer/utils/ServiceDataUtils.java | 12 +++-- .../utils/ServiceDeleteDataUtils.java | 5 +++ tests/transportpce_tests/1.2.1/test05_olm.py | 6 +-- .../2.2.1/test05_flex_grid.py | 2 +- tests/transportpce_tests/common/test_utils.py | 2 +- 32 files changed, 139 insertions(+), 108 deletions(-) rename api/src/main/yang/service_path/{transportpce-common-types@2021-06-18.yang => transportpce-common-types@2021-09-30.yang} (98%) diff --git a/api/src/main/yang/service_path/transportpce-common-types@2021-06-18.yang b/api/src/main/yang/service_path/transportpce-common-types@2021-09-30.yang similarity index 98% rename from api/src/main/yang/service_path/transportpce-common-types@2021-06-18.yang rename to api/src/main/yang/service_path/transportpce-common-types@2021-09-30.yang index 33494b8ec..ccaa6f41f 100644 --- a/api/src/main/yang/service_path/transportpce-common-types@2021-06-18.yang +++ b/api/src/main/yang/service_path/transportpce-common-types@2021-09-30.yang @@ -15,6 +15,10 @@ module transportpce-common-types { revision-date 2018-10-19; } + revision 2021-09-30 { + description + "Replace leaf width in optical-renderer-input by mc-width and nmc-width"; + } revision 2021-06-18 { description "Replace olm-renderer-input by optical-rendrer-input. @@ -494,9 +498,14 @@ module transportpce-common-types { leaf center-freq { type org-openroadm-common-types:frequency-THz; } - leaf width { + leaf nmc-width { + description + " Width of network media channel nmc"; + type org-openroadm-common-types:frequency-GHz; + } + leaf mc-width { description - " Width of nmc"; + " Width of media channel (mc)"; type org-openroadm-common-types:frequency-GHz; } leaf min-freq { diff --git a/common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnect.java b/common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnect.java index 6f86799ad..05ee1648b 100644 --- a/common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnect.java +++ b/common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnect.java @@ -13,7 +13,7 @@ import java.util.List; import java.util.Optional; import org.opendaylight.transportpce.common.fixedflex.SpectrumInformation; import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaceException; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.otn.renderer.nodes.Nodes; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.otn.renderer.nodes.Nodes; public interface CrossConnect { diff --git a/common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl.java b/common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl.java index db4afb6b3..8ba096343 100644 --- a/common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl.java +++ b/common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl.java @@ -20,7 +20,7 @@ import org.opendaylight.transportpce.common.fixedflex.SpectrumInformation; import org.opendaylight.transportpce.common.mapping.MappingUtils; import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaceException; import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev161014.OpticalControlMode; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.otn.renderer.nodes.Nodes; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.otn.renderer.nodes.Nodes; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl221.java b/common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl221.java index f22c3eb94..5dffcf234 100644 --- a/common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl221.java +++ b/common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl221.java @@ -41,7 +41,7 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.open import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.RoadmConnections; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.RoadmConnectionsBuilder; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.RoadmConnectionsKey; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.otn.renderer.nodes.Nodes; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.otn.renderer.nodes.Nodes; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.common.RpcResult; import org.slf4j.Logger; @@ -66,7 +66,7 @@ public class CrossConnectImpl221 { } public Optional getOtnCrossConnect(String deviceId, String connectionNumber) { + .openroadm.device.OduConnection> getOtnCrossConnect(String deviceId, String connectionNumber) { //TODO Change it to Operational later for real device return deviceTransactionManager.getDataFromDevice(deviceId, LogicalDatastoreType.CONFIGURATION, generateOduConnectionIID(connectionNumber), Timeouts.DEVICE_READ_TIMEOUT, @@ -74,7 +74,7 @@ public class CrossConnectImpl221 { } public Optional postCrossConnect(String deviceId, String srcTp, String destTp, - SpectrumInformation spectrumInformation) { + SpectrumInformation spectrumInformation) { String connectionNumber = spectrumInformation.getIdentifierFromParams(srcTp, destTp); RoadmConnectionsBuilder rdmConnBldr = new RoadmConnectionsBuilder() .setConnectionName(connectionNumber) @@ -88,7 +88,7 @@ public class CrossConnectImpl221 { InstanceIdentifier rdmConnectionIID = InstanceIdentifier.create(OrgOpenroadmDevice.class) - .child(RoadmConnections.class, new RoadmConnectionsKey(rdmConnBldr.getConnectionName())); + .child(RoadmConnections.class, new RoadmConnectionsKey(rdmConnBldr.getConnectionName())); Future> deviceTxFuture = deviceTransactionManager.getDeviceTransaction(deviceId); DeviceTransaction deviceTx; @@ -126,7 +126,7 @@ public class CrossConnectImpl221 { List interfList = new ArrayList<>(); Optional xc = getCrossConnect(deviceId, connectionName); Optional otnXc = getOtnCrossConnect(deviceId, connectionName); + .openroadm.device.OduConnection> otnXc = getOtnCrossConnect(deviceId, connectionName); //Check if cross connect exists before delete if (xc.isPresent()) { interfList.add(xc.get().getSource().getSrcIf()); @@ -175,7 +175,7 @@ public class CrossConnectImpl221 { public List getConnectionPortTrail(String nodeId, String srcTp, String destTp, - int lowerSpectralSlotNumber, int higherSpectralSlotNumber) + int lowerSpectralSlotNumber, int higherSpectralSlotNumber) throws OpenRoadmInterfaceException { String spectralSlotName = String.join(GridConstant.SPECTRAL_SLOT_SEPARATOR, String.valueOf(lowerSpectralSlotNumber), @@ -253,7 +253,7 @@ public class CrossConnectImpl221 { .child(RoadmConnections.class, new RoadmConnectionsKey(ctName)); deviceTx.merge(LogicalDatastoreType.CONFIGURATION, roadmConnIID, newRdmConn); FluentFuture commit = - deviceTx.commit(Timeouts.DEVICE_WRITE_TIMEOUT, Timeouts.DEVICE_WRITE_TIMEOUT_UNIT); + deviceTx.commit(Timeouts.DEVICE_WRITE_TIMEOUT, Timeouts.DEVICE_WRITE_TIMEOUT_UNIT); try { commit.get(); LOG.info("Roadm connection power level successfully set "); @@ -274,10 +274,10 @@ public class CrossConnectImpl221 { } private InstanceIdentifier generateOduConnectionIID(String connectionNumber) { + .container.org.openroadm.device.OduConnection> generateOduConnectionIID(String connectionNumber) { return InstanceIdentifier.create(OrgOpenroadmDevice.class).child(org.opendaylight.yang.gen.v1.http.org - .openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.OduConnection.class, - new OduConnectionKey(connectionNumber)); + .openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.OduConnection.class, + new OduConnectionKey(connectionNumber)); } private String generateConnectionName(String srcTp, String destTp, String spectralSlotName) { @@ -289,20 +289,20 @@ public class CrossConnectImpl221 { String srcTp = createdOduInterfaces.get(0); String dstTp = createdOduInterfaces.get(1); OduConnectionBuilder oduConnectionBuilder = new OduConnectionBuilder() - .setConnectionName(srcTp + "-x-" + dstTp) - .setDestination(new org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.odu.connection - .DestinationBuilder().setDstIf(dstTp).build()) - .setSource(new org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.odu.connection - .SourceBuilder().setSrcIf(srcTp).build()) - .setDirection(Direction.Bidirectional); + .setConnectionName(srcTp + "-x-" + dstTp) + .setDestination(new org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.odu.connection + .DestinationBuilder().setDstIf(dstTp).build()) + .setSource(new org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.odu.connection + .SourceBuilder().setSrcIf(srcTp).build()) + .setDirection(Direction.Bidirectional); InstanceIdentifier oduConnectionIID = - InstanceIdentifier.create(OrgOpenroadmDevice.class) - .child(org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device - .container.org.openroadm.device.OduConnection.class, - new OduConnectionKey(oduConnectionBuilder.getConnectionName()) - ); + InstanceIdentifier.create(OrgOpenroadmDevice.class) + .child(org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device + .container.org.openroadm.device.OduConnection.class, + new OduConnectionKey(oduConnectionBuilder.getConnectionName()) + ); Future> deviceTxFuture = deviceTransactionManager.getDeviceTransaction(deviceId); DeviceTransaction deviceTx; @@ -332,4 +332,4 @@ public class CrossConnectImpl221 { } return Optional.empty(); } -} +} \ No newline at end of file diff --git a/common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl710.java b/common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl710.java index fb5cd268c..0b94fc122 100644 --- a/common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl710.java +++ b/common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl710.java @@ -24,7 +24,7 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev200529.OduConne import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev200529.org.openroadm.device.container.OrgOpenroadmDevice; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev200529.org.openroadm.device.container.org.openroadm.device.OduConnectionBuilder; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev200529.org.openroadm.device.container.org.openroadm.device.OduConnectionKey; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.otn.renderer.nodes.Nodes; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.otn.renderer.nodes.Nodes; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/common/src/main/java/org/opendaylight/transportpce/common/fixedflex/GridUtils.java b/common/src/main/java/org/opendaylight/transportpce/common/fixedflex/GridUtils.java index b41f6ca63..a38897eaa 100644 --- a/common/src/main/java/org/opendaylight/transportpce/common/fixedflex/GridUtils.java +++ b/common/src/main/java/org/opendaylight/transportpce/common/fixedflex/GridUtils.java @@ -203,8 +203,8 @@ public final class GridUtils { .getCentralFrequency(spectrumInformation.getMinFrequency(), spectrumInformation.getMaxFrequency()).getValue()); } - if (input.getWidth() != null) { - spectrumInformation.setWidth(input.getWidth().getValue()); + if (input.getNmcWidth() != null) { + spectrumInformation.setWidth(input.getNmcWidth().getValue()); } if (input.getModulationFormat() != null) { spectrumInformation.setModulationFormat(input.getModulationFormat()); diff --git a/common/src/test/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl221Test.java b/common/src/test/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl221Test.java index 34b9ecfe0..7f38d2c9c 100644 --- a/common/src/test/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl221Test.java +++ b/common/src/test/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl221Test.java @@ -37,7 +37,7 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.degree.C import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.OrgOpenroadmDevice; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.RoadmConnections; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.org.openroadm.device.container.org.openroadm.device.RoadmConnectionsKey; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.otn.renderer.nodes.Nodes; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.otn.renderer.nodes.Nodes; import org.opendaylight.yangtools.util.concurrent.FluentFutures; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.common.Uint32; diff --git a/common/src/test/java/org/opendaylight/transportpce/common/fixedflex/GridUtilsTest.java b/common/src/test/java/org/opendaylight/transportpce/common/fixedflex/GridUtilsTest.java index 261f46200..831a67c65 100644 --- a/common/src/test/java/org/opendaylight/transportpce/common/fixedflex/GridUtilsTest.java +++ b/common/src/test/java/org/opendaylight/transportpce/common/fixedflex/GridUtilsTest.java @@ -130,7 +130,7 @@ public class GridUtilsTest { .FrequencyTHz(BigDecimal.valueOf(196.125))) .setMinFreq(new org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019 .FrequencyTHz(BigDecimal.valueOf(196.075))) - .setWidth(new org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019 + .setNmcWidth(new org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019 .FrequencyGHz(GridConstant.WIDTH_40)) .build(); SpectrumInformation spectrumInformation = GridUtils.initSpectrumInformationFromServicePathInput(input); @@ -156,7 +156,7 @@ public class GridUtilsTest { .FrequencyTHz(BigDecimal.valueOf(196.125))) .setMinFreq(new org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019 .FrequencyTHz(BigDecimal.valueOf(196.075))) - .setWidth(new org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019 + .setNmcWidth(new org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019 .FrequencyGHz(GridConstant.WIDTH_40)) .build(); SpectrumInformation spectrumInformation = GridUtils.initSpectrumInformationFromServicePathInput(input); @@ -178,7 +178,7 @@ public class GridUtilsTest { .setWaveNumber(Uint32.valueOf(1)) .setHigherSpectralSlotNumber(Uint32.valueOf(768)) .setLowerSpectralSlotNumber(Uint32.valueOf(761)) - .setWidth(new org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019 + .setNmcWidth(new org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019 .FrequencyGHz(GridConstant.WIDTH_40)) .build(); SpectrumInformation spectrumInformation = GridUtils.initSpectrumInformationFromServicePathInput(input); diff --git a/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/service/NetworkModelServiceImpl.java b/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/service/NetworkModelServiceImpl.java index 6b067d2ae..77fc64e5c 100644 --- a/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/service/NetworkModelServiceImpl.java +++ b/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/service/NetworkModelServiceImpl.java @@ -44,8 +44,8 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmappi import org.opendaylight.yang.gen.v1.http.org.openroadm.device.types.rev191129.NodeTypes; import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.Link1; import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev200529.TerminationPoint1; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.link.tp.LinkTp; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.link.tp.LinkTpBuilder; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.link.tp.LinkTp; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.link.tp.LinkTpBuilder; import org.opendaylight.yang.gen.v1.http.transportpce.topology.rev210511.OtnLinkType; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NetworkId; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.Networks; diff --git a/olm/src/main/java/org/opendaylight/transportpce/olm/power/PowerMgmtImpl.java b/olm/src/main/java/org/opendaylight/transportpce/olm/power/PowerMgmtImpl.java index 9bd517d4f..a000afb5e 100644 --- a/olm/src/main/java/org/opendaylight/transportpce/olm/power/PowerMgmtImpl.java +++ b/olm/src/main/java/org/opendaylight/transportpce/olm/power/PowerMgmtImpl.java @@ -8,6 +8,8 @@ package org.opendaylight.transportpce.olm.power; import java.math.BigDecimal; +import java.math.MathContext; +import java.math.RoundingMode; import java.util.HashMap; import java.util.Locale; import java.util.Map; @@ -370,15 +372,17 @@ public class PowerMgmtImpl implements PowerMgmt { BigDecimal powerValue = spanLossTx.subtract(BigDecimal.valueOf(9)).min(BigDecimal.valueOf(2)); // we work at constant power spectral density (50 GHz channel width @-20dBm=37.5GHz) // 87.5 GHz channel width @-20dBm=75GHz - if (input.getWidth() != null) { - BigDecimal gridSize = input.getWidth().getValue(); - LOG.debug("Input Gridsize is {}",gridSize); - if (gridSize.equals(GridConstant.WIDTH_80)) { + if (input.getMcWidth() != null) { + LOG.debug("Input Gridsize is {}",input.getMcWidth().getValue()); + if (input.getMcWidth().getValue().equals(GridConstant.WIDTH_80)) { powerValue = powerValue.add(BigDecimal.valueOf(3)); + } else if (input.getMcWidth().getValue().equals(GridConstant.SLOT_WIDTH_87_5)) { + BigDecimal logVal = GridConstant.SLOT_WIDTH_87_5.divide(new BigDecimal(50)); + double pdsVal = 10 * Math.log10(logVal.doubleValue()); + powerValue = powerValue.add(new BigDecimal(pdsVal, new MathContext(3, RoundingMode.HALF_EVEN))); } - // TODO no default or warning for unsupported grid sizes ? } - // FIXME compliancy with OpenROADM MSA and approximations used + // FIXME compliancy with OpenROADM MSA and approximations used -- should be addressed with powermask update // cf JIRA ticket https://jira.opendaylight.org/browse/TRNSPRTPCE-494 LOG.info("Power Value is {}", powerValue); return powerValue; diff --git a/olm/src/main/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImpl.java b/olm/src/main/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImpl.java index 3e4e5cdc2..cd96910b2 100644 --- a/olm/src/main/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImpl.java +++ b/olm/src/main/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImpl.java @@ -75,8 +75,8 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfa import org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev161014.ots.container.OtsBuilder; import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev161014.PmGranularity; import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.types.rev161014.ResourceTypeEnum; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.PmNamesEnum; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.olm.get.pm.input.ResourceIdentifierBuilder; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.PmNamesEnum; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.olm.get.pm.input.ResourceIdentifierBuilder; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NetworkId; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.Networks; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NodeId; diff --git a/olm/src/main/java/org/opendaylight/transportpce/olm/util/OlmUtils121.java b/olm/src/main/java/org/opendaylight/transportpce/olm/util/OlmUtils121.java index d6d5a94b0..31ed0423d 100644 --- a/olm/src/main/java/org/opendaylight/transportpce/olm/util/OlmUtils121.java +++ b/olm/src/main/java/org/opendaylight/transportpce/olm/util/OlmUtils121.java @@ -36,7 +36,7 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev161014.resour import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev161014.resource.resource.resource.Shelf; import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev161014.resource.resource.resource.Srg; import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.types.rev161014.ResourceTypeEnum; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.olm.get.pm.input.ResourceIdentifier; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.olm.get.pm.input.ResourceIdentifier; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -72,8 +72,8 @@ final class OlmUtils121 { Timeouts.DEVICE_READ_TIMEOUT, Timeouts.DEVICE_READ_TIMEOUT_UNIT); if (currentPmList.isPresent()) { String pmExtension = null; - org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.Location location = null; - org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.Direction direction = null; + org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.Location location = null; + org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.Direction direction = null; if (input.getPmExtension() != null) { pmExtension = input.getPmExtension(); } @@ -128,8 +128,8 @@ final class OlmUtils121 { List extractWantedMeasurements(CurrentPmlist currentPmList, ResourceTypeEnum resourceTypeEnum, ResourceIdentifier wantedResourceIdentifier,PmGranularity pmGranularity, PmNamesEnum pmNamesEnum, - String extension, org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.Location - location, org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.Direction direction) { + String extension, org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.Location + location, org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.Direction direction) { List measurements = new ArrayList<>(); for (CurrentPm pm : currentPmList.nonnullCurrentPm().values()) { @@ -151,8 +151,8 @@ final class OlmUtils121 { private static List extractMeasurements(List measurementsFromDevice, PmNamesEnum pmNamesEnum, String extension, - org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.Location location, - org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.Direction direction) { + org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.Location location, + org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.Direction direction) { List extractedMeasurements = new ArrayList<>(); List pmMeasurements = measurementsFromDevice; diff --git a/olm/src/main/java/org/opendaylight/transportpce/olm/util/OlmUtils221.java b/olm/src/main/java/org/opendaylight/transportpce/olm/util/OlmUtils221.java index 45e0673a3..014a8c7fc 100644 --- a/olm/src/main/java/org/opendaylight/transportpce/olm/util/OlmUtils221.java +++ b/olm/src/main/java/org/opendaylight/transportpce/olm/util/OlmUtils221.java @@ -47,10 +47,10 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev181019.current.pm.l import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev181019.current.pm.list.CurrentPmEntryKey; import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev181019.current.pm.val.group.Measurement; import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.types.rev161014.ResourceTypeEnum; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.Direction; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.Location; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.PmNamesEnum; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.olm.get.pm.input.ResourceIdentifier; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.Direction; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.Location; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.PmNamesEnum; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.olm.get.pm.input.ResourceIdentifier; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.common.Uint16; import org.slf4j.Logger; @@ -166,13 +166,13 @@ final class OlmUtils221 { } private static List extractWantedMeasurements(List currentPmList, - org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev161014.PmGranularity wantedGranularity) { + org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev161014.PmGranularity wantedGranularity) { List olmMeasurements = new ArrayList<>(); for (CurrentPm pm : currentPmList) { for (Measurement measurements: pm.nonnullMeasurement().values()) { if (measurements.getGranularity().getIntValue() == org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev171215.PmGranularity.forValue( - wantedGranularity.getIntValue()).getIntValue()) { + wantedGranularity.getIntValue()).getIntValue()) { MeasurementsBuilder pmMeasureBuilder = new MeasurementsBuilder(); pmMeasureBuilder.setPmparameterName(pm.getType().name()); pmMeasureBuilder.setPmparameterValue(measurements.getPmParameterValue().stringValue()); diff --git a/olm/src/main/java/org/opendaylight/transportpce/olm/util/OlmUtils710.java b/olm/src/main/java/org/opendaylight/transportpce/olm/util/OlmUtils710.java index c10ca1ad3..8bc563557 100644 --- a/olm/src/main/java/org/opendaylight/transportpce/olm/util/OlmUtils710.java +++ b/olm/src/main/java/org/opendaylight/transportpce/olm/util/OlmUtils710.java @@ -47,10 +47,10 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev200529.current.pm.l import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev200529.current.pm.list.CurrentPmEntryKey; import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev200529.current.pm.val.group.Measurement; import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.types.rev161014.ResourceTypeEnum; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.Direction; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.Location; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.PmNamesEnum; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.olm.get.pm.input.ResourceIdentifier; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.Direction; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.Location; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.PmNamesEnum; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.olm.get.pm.input.ResourceIdentifier; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.common.Uint16; import org.slf4j.Logger; diff --git a/olm/src/test/java/org/opendaylight/transportpce/olm/util/OlmPowerServiceRpcImplUtil.java b/olm/src/test/java/org/opendaylight/transportpce/olm/util/OlmPowerServiceRpcImplUtil.java index a2f5a118a..04687cec9 100644 --- a/olm/src/test/java/org/opendaylight/transportpce/olm/util/OlmPowerServiceRpcImplUtil.java +++ b/olm/src/test/java/org/opendaylight/transportpce/olm/util/OlmPowerServiceRpcImplUtil.java @@ -26,9 +26,9 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev20052 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Link1Builder; import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev161014.PmGranularity; import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.types.rev161014.ResourceTypeEnum; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.olm.get.pm.input.ResourceIdentifierBuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.optical.renderer.nodes.Nodes; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.optical.renderer.nodes.NodesBuilder; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.olm.get.pm.input.ResourceIdentifierBuilder; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.optical.renderer.nodes.Nodes; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.optical.renderer.nodes.NodesBuilder; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.LinkId; import org.opendaylight.yangtools.yang.common.Uint32; diff --git a/ordmodels/common/src/main/yang/org-openroadm-common-types@2020-05-29.yang b/ordmodels/common/src/main/yang/org-openroadm-common-types@2020-05-29.yang index e35b4543f..ac8565c1f 100644 --- a/ordmodels/common/src/main/yang/org-openroadm-common-types@2020-05-29.yang +++ b/ordmodels/common/src/main/yang/org-openroadm-common-types@2020-05-29.yang @@ -424,4 +424,4 @@ module org-openroadm-common-types { } } -} +} \ No newline at end of file diff --git a/renderer/src/main/java/org/opendaylight/transportpce/renderer/ModelMappingUtils.java b/renderer/src/main/java/org/opendaylight/transportpce/renderer/ModelMappingUtils.java index c1e37c02b..1812fe237 100644 --- a/renderer/src/main/java/org/opendaylight/transportpce/renderer/ModelMappingUtils.java +++ b/renderer/src/main/java/org/opendaylight/transportpce/renderer/ModelMappingUtils.java @@ -51,9 +51,9 @@ import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdes import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.pce.resource.resource.Resource; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.pce.resource.resource.resource.Link; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.pce.resource.resource.resource.TerminationPoint; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.optical.renderer.nodes.Nodes; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.optical.renderer.nodes.NodesBuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.optical.renderer.nodes.NodesKey; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.optical.renderer.nodes.Nodes; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.optical.renderer.nodes.NodesBuilder; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.optical.renderer.nodes.NodesKey; import org.opendaylight.yangtools.yang.common.RpcResult; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; import org.opendaylight.yangtools.yang.common.Uint32; @@ -130,7 +130,9 @@ public final class ModelMappingUtils { .setServiceName(serviceName) .setOperation(operation) .setNodes(nodeLists.getRendererNodeList()) - .setWidth(new FrequencyGHz(GridConstant.WIDTH_40)); + .setNmcWidth(new FrequencyGHz(GridConstant.WIDTH_40)) + .setMcWidth(new FrequencyGHz(pathDescription.getAToZDirection().getAToZMaxFrequency().getValue() + .subtract(pathDescription.getAToZDirection().getAToZMinFrequency().getValue()))); if (atoZDirection.getAToZWavelengthNumber() != null) { servicePathInputBuilder .setWaveNumber(atoZDirection.getAToZWavelengthNumber()); @@ -163,7 +165,7 @@ public final class ModelMappingUtils { && GridConstant.FREQUENCY_WIDTH_TABLE .contains(atoZDirection.getRate(), optionalModulationFormat.get())) { servicePathInputBuilder - .setWidth(FrequencyGHz + .setNmcWidth(FrequencyGHz .getDefaultInstance(GridConstant.FREQUENCY_WIDTH_TABLE.get(atoZDirection.getRate(), optionalModulationFormat.get()))); } @@ -184,7 +186,9 @@ public final class ModelMappingUtils { .setOperation(operation) .setServiceName(serviceName) .setNodes(nodeLists.getRendererNodeList()) - .setWidth(new FrequencyGHz(GridConstant.WIDTH_40)); + .setNmcWidth(new FrequencyGHz(GridConstant.WIDTH_40)) + .setMcWidth(new FrequencyGHz(pathDescription.getAToZDirection().getAToZMaxFrequency().getValue() + .subtract(pathDescription.getAToZDirection().getAToZMinFrequency().getValue()))); if (ztoADirection.getZToAWavelengthNumber() != null) { servicePathInputBuilder .setWaveNumber(ztoADirection.getZToAWavelengthNumber()); @@ -216,7 +220,7 @@ public final class ModelMappingUtils { if (optionalModulationFormat.isPresent() && GridConstant.FREQUENCY_WIDTH_TABLE .contains(ztoADirection.getRate(), optionalModulationFormat.get())) { - servicePathInputBuilder.setWidth(FrequencyGHz + servicePathInputBuilder.setNmcWidth(FrequencyGHz .getDefaultInstance(GridConstant.FREQUENCY_WIDTH_TABLE.get(ztoADirection.getRate(), optionalModulationFormat.get()))); } @@ -231,7 +235,7 @@ public final class ModelMappingUtils { public static OtnServicePathInput rendererCreateOtnServiceInput(String serviceName, Action operation, String serviceFormat, Uint32 serviceRate, PathDescription pathDescription, boolean asideToZside) { // If atoZ is set true use A-to-Z direction otherwise use Z-to-A - List nodes = + List nodes = new ArrayList<>(); NodeLists nodeLists = (asideToZside) @@ -239,8 +243,8 @@ public final class ModelMappingUtils { : getNodesListZtoA(pathDescription.getZToADirection().nonnullZToA().values().iterator()); LOG.info("These are node-lists {}, {}", nodeLists.getRendererNodeList(), nodeLists.getOlmNodeList()); for (Nodes node: nodeLists.getRendererNodeList()) { - org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.otn.renderer.nodes.NodesBuilder nb - = new org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.otn.renderer.nodes + org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.otn.renderer.nodes.NodesBuilder nb + = new org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.otn.renderer.nodes .NodesBuilder().setNodeId(node.getNodeId()).setNetworkTp(node.getDestTp()); if (node.getSrcTp() != null && node.getSrcTp().contains("NETWORK")) { nb.setNetwork2Tp(node.getSrcTp()); diff --git a/renderer/src/main/java/org/opendaylight/transportpce/renderer/NodeLists.java b/renderer/src/main/java/org/opendaylight/transportpce/renderer/NodeLists.java index e429daef4..5fb0bd8f9 100644 --- a/renderer/src/main/java/org/opendaylight/transportpce/renderer/NodeLists.java +++ b/renderer/src/main/java/org/opendaylight/transportpce/renderer/NodeLists.java @@ -8,7 +8,7 @@ package org.opendaylight.transportpce.renderer; import java.util.List; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.optical.renderer.nodes.Nodes; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.optical.renderer.nodes.Nodes; public class NodeLists { diff --git a/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/DeviceRendererServiceImpl.java b/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/DeviceRendererServiceImpl.java index fcd67d1cb..e6594bce6 100644 --- a/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/DeviceRendererServiceImpl.java +++ b/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/DeviceRendererServiceImpl.java @@ -70,12 +70,12 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.Service import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.list.Services; import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.list.ServicesBuilder; import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.list.ServicesKey; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.link.tp.LinkTp; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.link.tp.LinkTpBuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.node.interfaces.NodeInterface; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.node.interfaces.NodeInterfaceBuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.node.interfaces.NodeInterfaceKey; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.optical.renderer.nodes.Nodes; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.link.tp.LinkTp; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.link.tp.LinkTpBuilder; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.node.interfaces.NodeInterface; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.node.interfaces.NodeInterfaceBuilder; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.node.interfaces.NodeInterfaceKey; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.optical.renderer.nodes.Nodes; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/DeviceRenderingResult.java b/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/DeviceRenderingResult.java index 121790a31..1384a7b1f 100644 --- a/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/DeviceRenderingResult.java +++ b/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/DeviceRenderingResult.java @@ -10,9 +10,9 @@ package org.opendaylight.transportpce.renderer.provisiondevice; import java.util.Collections; import java.util.List; import org.opendaylight.transportpce.common.OperationResult; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.link.tp.LinkTp; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.node.interfaces.NodeInterface; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.optical.renderer.nodes.Nodes; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.link.tp.LinkTp; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.node.interfaces.NodeInterface; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.optical.renderer.nodes.Nodes; public final class DeviceRenderingResult extends OperationResult { diff --git a/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/OtnDeviceRendererServiceImpl.java b/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/OtnDeviceRendererServiceImpl.java index a7588b777..0bb56cca7 100644 --- a/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/OtnDeviceRendererServiceImpl.java +++ b/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/OtnDeviceRendererServiceImpl.java @@ -33,12 +33,12 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.re import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.renderer.rev211004.az.api.info.AEndApiInfo; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.renderer.rev211004.az.api.info.ZEndApiInfo; import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev200327.OpucnTribSlotDef; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.link.tp.LinkTp; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.link.tp.LinkTpBuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.node.interfaces.NodeInterface; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.node.interfaces.NodeInterfaceBuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.node.interfaces.NodeInterfaceKey; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.otn.renderer.nodes.Nodes; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.link.tp.LinkTp; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.link.tp.LinkTpBuilder; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.node.interfaces.NodeInterface; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.node.interfaces.NodeInterfaceBuilder; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.node.interfaces.NodeInterfaceKey; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.otn.renderer.nodes.Nodes; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/OtnDeviceRenderingResult.java b/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/OtnDeviceRenderingResult.java index 9e47569df..9da2e9d1b 100644 --- a/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/OtnDeviceRenderingResult.java +++ b/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/OtnDeviceRenderingResult.java @@ -11,8 +11,8 @@ package org.opendaylight.transportpce.renderer.provisiondevice; import java.util.Collections; import java.util.List; import org.opendaylight.transportpce.common.OperationResult; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.link.tp.LinkTp; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.node.interfaces.NodeInterface; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.link.tp.LinkTp; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.node.interfaces.NodeInterface; public final class OtnDeviceRenderingResult extends OperationResult { private final List renderedNodeInterfaces; diff --git a/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImpl.java b/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImpl.java index 154c8fa02..516ae4b42 100644 --- a/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImpl.java +++ b/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImpl.java @@ -71,9 +71,9 @@ import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev171017.ServicePathList; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev171017.service.path.list.ServicePaths; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev171017.service.path.list.ServicePathsKey; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.link.tp.LinkTp; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.olm.get.pm.input.ResourceIdentifierBuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.optical.renderer.nodes.Nodes; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.link.tp.LinkTp; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.olm.get.pm.input.ResourceIdentifierBuilder; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.optical.renderer.nodes.Nodes; import org.opendaylight.yang.gen.v1.http.transportpce.topology.rev210511.OtnLinkType; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.binding.Notification; diff --git a/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/tasks/DeviceRenderingRollbackTask.java b/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/tasks/DeviceRenderingRollbackTask.java index 9a2e60639..6954ea55b 100644 --- a/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/tasks/DeviceRenderingRollbackTask.java +++ b/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/tasks/DeviceRenderingRollbackTask.java @@ -17,8 +17,8 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.re import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.renderer.rev211004.RendererRollbackInputBuilder; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.renderer.rev211004.RendererRollbackOutput; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.renderer.rev211004.renderer.rollback.output.FailedToRollback; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.node.interfaces.NodeInterface; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.node.interfaces.NodeInterfaceKey; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.node.interfaces.NodeInterface; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.node.interfaces.NodeInterfaceKey; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/tasks/DeviceRenderingTask.java b/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/tasks/DeviceRenderingTask.java index 9a6895f5d..f6f2bafea 100644 --- a/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/tasks/DeviceRenderingTask.java +++ b/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/tasks/DeviceRenderingTask.java @@ -15,7 +15,7 @@ import org.opendaylight.transportpce.renderer.provisiondevice.DeviceRendererServ import org.opendaylight.transportpce.renderer.provisiondevice.DeviceRenderingResult; import org.opendaylight.transportpce.renderer.provisiondevice.servicepath.ServicePathDirection; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.renderer.rev211004.ServicePathOutput; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.optical.renderer.nodes.Nodes; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.optical.renderer.nodes.Nodes; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/renderer/src/test/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImplDeleteTest.java b/renderer/src/test/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImplDeleteTest.java index d768e4370..2cc20417a 100644 --- a/renderer/src/test/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImplDeleteTest.java +++ b/renderer/src/test/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImplDeleteTest.java @@ -11,6 +11,7 @@ package org.opendaylight.transportpce.renderer.provisiondevice; import com.google.common.util.concurrent.ListenableFuture; import java.util.Collections; import java.util.concurrent.ExecutionException; +import java.util.concurrent.TimeoutException; import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -18,6 +19,7 @@ import org.mockito.Mockito; import org.opendaylight.mdsal.binding.api.MountPoint; import org.opendaylight.mdsal.binding.api.MountPointService; import org.opendaylight.mdsal.binding.api.NotificationPublishService; +import org.opendaylight.mdsal.binding.api.ReadTransaction; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.transportpce.common.ResponseCodes; import org.opendaylight.transportpce.common.StringConstants; @@ -63,6 +65,7 @@ public class RendererServiceOperationsImplDeleteTest extends AbstractTest { private final OtnDeviceRendererService otnDeviceRendererService = Mockito.mock(OtnDeviceRendererService.class); private final PortMapping portMapping = Mockito.mock(PortMapping.class); private final CrossConnect crossConnect = Mockito.mock(CrossConnect.class); + private final ReadTransaction readTransaction = Mockito.mock(ReadTransaction.class); private TransportpceOlmService olmService; private void setMountPoint(MountPoint mountPoint) { @@ -82,7 +85,7 @@ public class RendererServiceOperationsImplDeleteTest extends AbstractTest { @Test - public void serviceDeleteOperationPp() throws ExecutionException, InterruptedException { + public void serviceDeleteOperationPp() throws ExecutionException, InterruptedException, TimeoutException { writePathDescription(); ServiceDeleteInputBuilder serviceDeleteInputBuilder = new ServiceDeleteInputBuilder(); serviceDeleteInputBuilder.setServiceName("service 1"); diff --git a/renderer/src/test/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImplTest.java b/renderer/src/test/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImplTest.java index c169ec508..51d195a43 100644 --- a/renderer/src/test/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImplTest.java +++ b/renderer/src/test/java/org/opendaylight/transportpce/renderer/provisiondevice/RendererServiceOperationsImplTest.java @@ -48,7 +48,7 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer. import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceImplementationRequestOutput; import org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev161014.PmGranularity; import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.types.rev161014.ResourceTypeEnum; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.olm.get.pm.input.ResourceIdentifierBuilder; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.olm.get.pm.input.ResourceIdentifierBuilder; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; public class RendererServiceOperationsImplTest extends AbstractTest { diff --git a/renderer/src/test/java/org/opendaylight/transportpce/renderer/utils/ServiceDataUtils.java b/renderer/src/test/java/org/opendaylight/transportpce/renderer/utils/ServiceDataUtils.java index db72f3bdd..23026431b 100644 --- a/renderer/src/test/java/org/opendaylight/transportpce/renderer/utils/ServiceDataUtils.java +++ b/renderer/src/test/java/org/opendaylight/transportpce/renderer/utils/ServiceDataUtils.java @@ -23,6 +23,7 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer. import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.service.implementation.request.input.PathDescriptionBuilder; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.service.implementation.request.input.ServiceAEndBuilder; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.service.implementation.request.input.ServiceZEndBuilder; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.optical.channel.types.rev200529.FrequencyTHz; 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.service.port.PortBuilder; import org.opendaylight.yang.gen.v1.http.org.openroadm.service.format.rev190531.ServiceFormat; @@ -46,9 +47,9 @@ import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdes import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.service.endpoint.sp.RxDirectionBuilder; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.service.endpoint.sp.TxDirectionBuilder; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.service.handler.header.ServiceHandlerHeaderBuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.optical.renderer.nodes.Nodes; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.optical.renderer.nodes.NodesBuilder; -import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.optical.renderer.nodes.NodesKey; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.optical.renderer.nodes.Nodes; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.optical.renderer.nodes.NodesBuilder; +import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.optical.renderer.nodes.NodesKey; import org.opendaylight.yangtools.yang.common.Uint32; @@ -158,9 +159,12 @@ public final class ServiceDataUtils { atoZMap.put(atoZ.key(),atoZ); } } + FrequencyTHz value; AToZDirection atozDirection = new AToZDirectionBuilder() .setRate(Uint32.valueOf(20)) .setAToZWavelengthNumber(Uint32.valueOf(20)) + .setAToZMinFrequency(FrequencyTHz.getDefaultInstance("196.125")) + .setAToZMaxFrequency(FrequencyTHz.getDefaultInstance("196.075")) .setAToZ(atoZMap) .build(); @@ -183,6 +187,8 @@ public final class ServiceDataUtils { ZToADirection ztoaDirection = new ZToADirectionBuilder() .setRate(Uint32.valueOf(20)) .setZToAWavelengthNumber(Uint32.valueOf(20)) + .setZToAMinFrequency(FrequencyTHz.getDefaultInstance("196.125")) + .setZToAMaxFrequency(FrequencyTHz.getDefaultInstance("196.075")) .setZToA(ztoAMap) .build(); PathDescriptionBuilder builder = new PathDescriptionBuilder() diff --git a/renderer/src/test/java/org/opendaylight/transportpce/renderer/utils/ServiceDeleteDataUtils.java b/renderer/src/test/java/org/opendaylight/transportpce/renderer/utils/ServiceDeleteDataUtils.java index d868df9ac..bb42b4d87 100644 --- a/renderer/src/test/java/org/opendaylight/transportpce/renderer/utils/ServiceDeleteDataUtils.java +++ b/renderer/src/test/java/org/opendaylight/transportpce/renderer/utils/ServiceDeleteDataUtils.java @@ -10,6 +10,7 @@ package org.opendaylight.transportpce.renderer.utils; import java.util.HashMap; import java.util.Map; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.optical.channel.types.rev200529.FrequencyTHz; 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.common.state.types.rev191129.State; import org.opendaylight.yang.gen.v1.http.org.openroadm.service.format.rev190531.ServiceFormat; @@ -56,6 +57,8 @@ public final class ServiceDeleteDataUtils { AToZDirection atozDirection = new AToZDirectionBuilder() .setRate(Uint32.valueOf(20)) .setAToZWavelengthNumber(Uint32.valueOf(20)) + .setAToZMinFrequency(FrequencyTHz.getDefaultInstance("196.125")) + .setAToZMaxFrequency(FrequencyTHz.getDefaultInstance("196.075")) .setAToZ(atoZMap) .setModulationFormat("OC") .build(); @@ -69,6 +72,8 @@ public final class ServiceDeleteDataUtils { ZToADirection ztoaDirection = new ZToADirectionBuilder() .setRate(Uint32.valueOf(20)) .setZToAWavelengthNumber(Uint32.valueOf(20)) + .setZToAMinFrequency(FrequencyTHz.getDefaultInstance("196.125")) + .setZToAMaxFrequency(FrequencyTHz.getDefaultInstance("196.075")) .setZToA(ztoAMap) .setModulationFormat("OC") .build(); diff --git a/tests/transportpce_tests/1.2.1/test05_olm.py b/tests/transportpce_tests/1.2.1/test05_olm.py index 050609975..f9e5d1b6f 100644 --- a/tests/transportpce_tests/1.2.1/test05_olm.py +++ b/tests/transportpce_tests/1.2.1/test05_olm.py @@ -286,7 +286,7 @@ class TransportOlmTesting(unittest.TestCase): } ], "center-freq": 196.1, - "width": 40, + "nmc-width": 40, "min-freq": 196.075, "max-freq": 196.125, "lower-spectral-slot-number": 761, @@ -351,7 +351,7 @@ class TransportOlmTesting(unittest.TestCase): } ], "center-freq": 196.1, - "width": 40, + "nmc-width": 40, "min-freq": 196.075, "max-freq": 196.125, "lower-spectral-slot-number": 761, @@ -409,7 +409,7 @@ class TransportOlmTesting(unittest.TestCase): } ], "center-freq": 196.1, - "width": 40, + "nmc-width": 40, "min-freq": 196.075, "max-freq": 196.125, "lower-spectral-slot-number": 761, diff --git a/tests/transportpce_tests/2.2.1/test05_flex_grid.py b/tests/transportpce_tests/2.2.1/test05_flex_grid.py index 73411e795..dc64616a5 100644 --- a/tests/transportpce_tests/2.2.1/test05_flex_grid.py +++ b/tests/transportpce_tests/2.2.1/test05_flex_grid.py @@ -130,7 +130,7 @@ class TransportPCEPortMappingTesting(unittest.TestCase): "transportpce-device-renderer:service-name": "testNMC-MC", "transportpce-device-renderer:wave-number": "0", "transportpce-device-renderer:center-freq": "196.05", - "transportpce-device-renderer:width": "80", + "transportpce-device-renderer:nmc-width": "80", "transportpce-device-renderer:nodes": [ { "transportpce-device-renderer:node-id": "ROADM-D1", diff --git a/tests/transportpce_tests/common/test_utils.py b/tests/transportpce_tests/common/test_utils.py index ca3ef103f..b6eb71cae 100644 --- a/tests/transportpce_tests/common/test_utils.py +++ b/tests/transportpce_tests/common/test_utils.py @@ -441,7 +441,7 @@ def service_path_request(operation: str, servicename: str, wavenumber: str, node "renderer:operation": operation, "renderer:nodes": nodes, "renderer:center-freq": centerfreq, - "renderer:width": slotwidth, + "renderer:nmc-width": slotwidth, "renderer:min-freq": minfreq, "renderer:max-freq": maxfreq, "renderer:lower-spectral-slot-number": lowerslotnumber, -- 2.36.6