From bbbb9c996a7ed10318bdf32f6ad301a0c240d787 Mon Sep 17 00:00:00 2001 From: manuedelf Date: Wed, 15 Jun 2022 16:03:49 +0200 Subject: [PATCH] fix gnpy model - change fraction digits from 2 to 6 for accumulative-value leaf - update unit test data file - update gnpy4tpce version to be compliant Signed-off-by: manuedelf Change-Id: I774d37a78dc732d509e5f18398eea73c2c7b704e --- ... => gnpy-network-topology@2022-06-15.yang} | 9 ++- ...th-computation-simplified@2022-06-15.yang} | 11 +++- .../controllers/tpce/utils/TPCEUtils.java | 4 +- .../transportpce/pce/gnpy/GnpyResult.java | 14 ++--- .../pce/gnpy/GnpyServiceImpl.java | 54 +++++++++--------- .../transportpce/pce/gnpy/GnpyTopoImpl.java | 56 +++++++++---------- .../pce/gnpy/GnpyUtilitiesImpl.java | 12 ++-- .../pce/gnpy/consumer/GnpyApiModule.java | 2 +- .../pce/gnpy/consumer/GnpyConsumer.java | 2 +- .../pce/gnpy/consumer/GnpyConsumerImpl.java | 2 +- .../pce/gnpy/consumer/GnpyResource.java | 2 +- .../pce/gnpy/consumer/JsonConfigurator.java | 2 +- .../pce/gnpy/consumer/ResultDeserializer.java | 2 +- .../service/PathComputationServiceImpl.java | 18 +++--- .../pce/gnpy/consumer/GnpyConsumerTest.java | 2 +- .../pce/gnpy/consumer/GnpyStub.java | 2 +- .../PathComputationServiceImplTest.java | 20 +++---- .../resources/gnpy/gnpy_result_with_path.json | 4 +- tox.ini | 2 +- 19 files changed, 117 insertions(+), 103 deletions(-) rename api/src/main/yang/{gnpy-network-topology@2022-02-21.yang => gnpy-network-topology@2022-06-15.yang} (97%) rename api/src/main/yang/{gnpy-path-computation-simplified@2022-02-21.yang => gnpy-path-computation-simplified@2022-06-15.yang} (98%) diff --git a/api/src/main/yang/gnpy-network-topology@2022-02-21.yang b/api/src/main/yang/gnpy-network-topology@2022-06-15.yang similarity index 97% rename from api/src/main/yang/gnpy-network-topology@2022-02-21.yang rename to api/src/main/yang/gnpy-network-topology@2022-06-15.yang index 390831780..36db565f2 100644 --- a/api/src/main/yang/gnpy-network-topology@2022-02-21.yang +++ b/api/src/main/yang/gnpy-network-topology@2022-06-15.yang @@ -44,6 +44,13 @@ module gnpy-network-topology { OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."; + revision 2022-06-15 { + description + "change fraction digits from 2 to 5 for loss_coef leaf"; + reference + "YANG model for api input for path computation with gnpy"; + } + revision 2022-02-21 { description "draft for GNPy4TPCE preversion - non official version relevant for v2.4 GNPy file format"; @@ -163,7 +170,7 @@ module gnpy-network-topology { } leaf loss_coef { type decimal64 { - fraction-digits 2; + fraction-digits 5; } mandatory true; units db/km; diff --git a/api/src/main/yang/gnpy-path-computation-simplified@2022-02-21.yang b/api/src/main/yang/gnpy-path-computation-simplified@2022-06-15.yang similarity index 98% rename from api/src/main/yang/gnpy-path-computation-simplified@2022-02-21.yang rename to api/src/main/yang/gnpy-path-computation-simplified@2022-06-15.yang index 24f233757..abc5b4980 100644 --- a/api/src/main/yang/gnpy-path-computation-simplified@2022-02-21.yang +++ b/api/src/main/yang/gnpy-path-computation-simplified@2022-06-15.yang @@ -47,6 +47,13 @@ module gnpy-path-computation-simplified { OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."; + revision 2022-06-15 { + description + "change fraction digits from 2 to 6 for accumulative-value leaf, from 5 to 6 for output-power leaf"; + reference + "YANG model for api input for path computation with gnpy"; + } + revision 2022-02-21 { description "draft for GNPy4TPCE preversion - non official version relevant for v2.4 GNPy file format"; @@ -142,7 +149,7 @@ module gnpy-path-computation-simplified { } leaf output-power{ type decimal64 { - fraction-digits 5; + fraction-digits 6; } units W; description "optical power setting to be used for the propagation"; @@ -493,7 +500,7 @@ module gnpy-path-computation-simplified { } leaf accumulative-value { type decimal64 { - fraction-digits 2; + fraction-digits 6; } description "TE path metric accumulative value"; } diff --git a/lighty/src/main/java/io/lighty/controllers/tpce/utils/TPCEUtils.java b/lighty/src/main/java/io/lighty/controllers/tpce/utils/TPCEUtils.java index 1d0692dc8..5bb802146 100644 --- a/lighty/src/main/java/io/lighty/controllers/tpce/utils/TPCEUtils.java +++ b/lighty/src/main/java/io/lighty/controllers/tpce/utils/TPCEUtils.java @@ -329,8 +329,8 @@ public final class TPCEUtils { org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210930.$YangModuleInfoImpl.getInstance(), org.opendaylight.yang.gen.v1.gnpy.gnpy.api.rev220221.$YangModuleInfoImpl.getInstance(), org.opendaylight.yang.gen.v1.gnpy.gnpy.eqpt.config.rev220221.$YangModuleInfoImpl.getInstance(), - org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220221.$YangModuleInfoImpl.getInstance(), - org.opendaylight.yang.gen.v1.gnpy.path.rev220221.$YangModuleInfoImpl.getInstance(), + org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220615.$YangModuleInfoImpl.getInstance(), + org.opendaylight.yang.gen.v1.gnpy.path.rev220615.$YangModuleInfoImpl.getInstance(), org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220316 .$YangModuleInfoImpl.getInstance(), org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705 diff --git a/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/GnpyResult.java b/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/GnpyResult.java index 2f254e109..cc5cdd565 100644 --- a/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/GnpyResult.java +++ b/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/GnpyResult.java @@ -12,13 +12,13 @@ import java.math.BigDecimal; import java.util.ArrayList; import java.util.Collection; import java.util.List; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.Result; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.explicit.route.hop.type.NumUnnumHop; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.generic.path.properties.path.properties.PathMetric; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.generic.path.properties.path.properties.PathRouteObjects; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.result.Response; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.result.response.response.type.NoPathCase; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.result.response.response.type.PathCase; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.Result; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.explicit.route.hop.type.NumUnnumHop; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.generic.path.properties.path.properties.PathMetric; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.generic.path.properties.path.properties.PathRouteObjects; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.result.Response; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.result.response.response.type.NoPathCase; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.result.response.response.type.PathCase; import org.opendaylight.yang.gen.v1.http.org.openroadm.common.node.types.rev210528.NodeIdType; import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.Include; import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.constraints.IncludeBuilder; diff --git a/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/GnpyServiceImpl.java b/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/GnpyServiceImpl.java index 26c1b4c6b..8811df14f 100644 --- a/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/GnpyServiceImpl.java +++ b/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/GnpyServiceImpl.java @@ -28,32 +28,32 @@ import org.opendaylight.transportpce.pce.constraints.PceConstraints; import org.opendaylight.transportpce.pce.constraints.PceConstraints.ResourcePair; import org.opendaylight.transportpce.pce.gnpy.utils.AToZComparator; import org.opendaylight.transportpce.pce.gnpy.utils.ZToAComparator; -import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220221.topo.Elements; -import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220221.topo.ElementsKey; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.RouteIncludeEro; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.TeHopType; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.TePathDisjointness; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.common.constraints_config.TeBandwidth; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.common.constraints_config.TeBandwidthBuilder; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.explicit.route.hop.Type; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.explicit.route.hop.type.NumUnnumHopBuilder; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.explicit.route.hop.type.num.unnum.hop.NumUnnumHop; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.generic.path.constraints.PathConstraints; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.generic.path.constraints.PathConstraintsBuilder; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.gnpy.specific.parameters.EffectiveFreqSlot; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.gnpy.specific.parameters.EffectiveFreqSlotBuilder; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.path.route.objects.ExplicitRouteObjects; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.path.route.objects.ExplicitRouteObjectsBuilder; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.path.route.objects.explicit.route.objects.RouteObjectIncludeExclude; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.path.route.objects.explicit.route.objects.RouteObjectIncludeExcludeBuilder; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.path.route.objects.explicit.route.objects.RouteObjectIncludeExcludeKey; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.service.PathRequest; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.service.PathRequestBuilder; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.service.PathRequestKey; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.synchronization.info.Synchronization; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.synchronization.info.SynchronizationBuilder; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.synchronization.info.synchronization.Svec; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.synchronization.info.synchronization.SvecBuilder; +import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220615.topo.Elements; +import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220615.topo.ElementsKey; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.RouteIncludeEro; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.TeHopType; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.TePathDisjointness; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.common.constraints_config.TeBandwidth; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.common.constraints_config.TeBandwidthBuilder; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.explicit.route.hop.Type; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.explicit.route.hop.type.NumUnnumHopBuilder; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.explicit.route.hop.type.num.unnum.hop.NumUnnumHop; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.generic.path.constraints.PathConstraints; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.generic.path.constraints.PathConstraintsBuilder; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.gnpy.specific.parameters.EffectiveFreqSlot; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.gnpy.specific.parameters.EffectiveFreqSlotBuilder; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.path.route.objects.ExplicitRouteObjects; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.path.route.objects.ExplicitRouteObjectsBuilder; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.path.route.objects.explicit.route.objects.RouteObjectIncludeExclude; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.path.route.objects.explicit.route.objects.RouteObjectIncludeExcludeBuilder; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.path.route.objects.explicit.route.objects.RouteObjectIncludeExcludeKey; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.service.PathRequest; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.service.PathRequestBuilder; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.service.PathRequestKey; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.synchronization.info.Synchronization; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.synchronization.info.SynchronizationBuilder; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.synchronization.info.synchronization.Svec; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.synchronization.info.synchronization.SvecBuilder; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.PathComputationRequestInput; import org.opendaylight.yang.gen.v1.http.org.openroadm.common.optical.channel.types.rev211210.FrequencyTHz; import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.ModulationFormat; @@ -327,7 +327,7 @@ public class GnpyServiceImpl { // Add routeObjectIncludeExclude private RouteObjectIncludeExclude addRouteObjectIncludeExclude(String nodeId, Uint32 teTpValue, Long index) { - NumUnnumHop numUnnumHop = new org.opendaylight.yang.gen.v1.gnpy.path.rev220221.explicit.route.hop.type.num + NumUnnumHop numUnnumHop = new org.opendaylight.yang.gen.v1.gnpy.path.rev220615.explicit.route.hop.type.num .unnum.hop.NumUnnumHopBuilder() .setNodeId(nodeId) .setLinkTpId(teTpValue.toString()) diff --git a/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/GnpyTopoImpl.java b/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/GnpyTopoImpl.java index abdcb7038..eac3ad1f3 100644 --- a/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/GnpyTopoImpl.java +++ b/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/GnpyTopoImpl.java @@ -19,30 +19,30 @@ import java.util.stream.IntStream; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.transportpce.common.NetworkUtils; import org.opendaylight.transportpce.common.network.NetworkTransactionService; -import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220221.Coordinate; -import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220221.Km; -import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220221.edfa.params.Operational; -import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220221.edfa.params.OperationalBuilder; -import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220221.element.type.choice.element.type.Edfa; -import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220221.element.type.choice.element.type.EdfaBuilder; -import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220221.element.type.choice.element.type.FiberRoadmBuilder; -import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220221.element.type.choice.element.type.Transceiver; -import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220221.element.type.choice.element.type.TransceiverBuilder; -import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220221.element.type.choice.element.type.fiberroadm.Params; -import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220221.element.type.choice.element.type.fiberroadm.ParamsBuilder; -import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220221.element.type.choice.element.type.fiberroadm.params.fiberroadmfused.Fiber; -import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220221.element.type.choice.element.type.fiberroadm.params.fiberroadmfused.FiberBuilder; -import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220221.element.type.choice.element.type.fiberroadm.params.fiberroadmfused.Roadm; -import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220221.element.type.choice.element.type.fiberroadm.params.fiberroadmfused.RoadmBuilder; -import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220221.location.attributes.Location; -import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220221.location.attributes.LocationBuilder; -import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220221.topo.Connections; -import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220221.topo.ConnectionsBuilder; -import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220221.topo.Elements; -import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220221.topo.ElementsBuilder; -import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220221.topo.ElementsKey; -import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220221.topo.elements.Metadata; -import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220221.topo.elements.MetadataBuilder; +import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220615.Coordinate; +import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220615.Km; +import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220615.edfa.params.Operational; +import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220615.edfa.params.OperationalBuilder; +import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220615.element.type.choice.element.type.Edfa; +import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220615.element.type.choice.element.type.EdfaBuilder; +import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220615.element.type.choice.element.type.FiberRoadmBuilder; +import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220615.element.type.choice.element.type.Transceiver; +import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220615.element.type.choice.element.type.TransceiverBuilder; +import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220615.element.type.choice.element.type.fiberroadm.Params; +import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220615.element.type.choice.element.type.fiberroadm.ParamsBuilder; +import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220615.element.type.choice.element.type.fiberroadm.params.fiberroadmfused.Fiber; +import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220615.element.type.choice.element.type.fiberroadm.params.fiberroadmfused.FiberBuilder; +import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220615.element.type.choice.element.type.fiberroadm.params.fiberroadmfused.Roadm; +import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220615.element.type.choice.element.type.fiberroadm.params.fiberroadmfused.RoadmBuilder; +import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220615.location.attributes.Location; +import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220615.location.attributes.LocationBuilder; +import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220615.topo.Connections; +import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220615.topo.ConnectionsBuilder; +import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220615.topo.Elements; +import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220615.topo.ElementsBuilder; +import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220615.topo.ElementsKey; +import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220615.topo.elements.Metadata; +import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220615.topo.elements.MetadataBuilder; import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev211210.Link1; import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev211210.SpanAttributes; import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev211210.amplified.link.attributes.AmplifiedLink; @@ -348,7 +348,7 @@ public class GnpyTopoImpl { .setConOut(BigDecimal.valueOf(connOut)).build(); Params params1 = new ParamsBuilder().setFiberroadmfused(fiber).build(); return new ElementsBuilder().setUid(uidFiber) - .setType(org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220221.Fiber.class) + .setType(org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220615.Fiber.class) .setTypeVariety(typeVariety).setMetadata(metadata1) .setElementType(new FiberRoadmBuilder().setParams(params1).build()).build(); } @@ -369,7 +369,7 @@ public class GnpyTopoImpl { Edfa edfa = new EdfaBuilder() .setOperational(operational).build(); return new ElementsBuilder().setUid(uidEdfa) - .setType(org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220221.Edfa.class) + .setType(org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220615.Edfa.class) .setMetadata(metadata1).setElementType(edfa).setTypeVariety(typeVariety).build(); } @@ -386,7 +386,7 @@ public class GnpyTopoImpl { Roadm roadm = new RoadmBuilder().setTargetPchOutDb(BigDecimal.valueOf(targetPchOutDb)).build(); Params params1 = new ParamsBuilder().setFiberroadmfused(roadm).build(); return new ElementsBuilder().setUid(uidRoadm) - .setType(org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220221.Roadm.class) + .setType(org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220615.Roadm.class) .setMetadata(metadata1).setElementType(new FiberRoadmBuilder().setParams(params1).build()).build(); } @@ -402,7 +402,7 @@ public class GnpyTopoImpl { Metadata metadata1 = new MetadataBuilder().setLocation(location1).build(); Transceiver transceiver = new TransceiverBuilder().build(); return new ElementsBuilder().setUid(uidTrans) - .setType(org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220221.Transceiver.class) + .setType(org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220615.Transceiver.class) .setMetadata(metadata1).setElementType(transceiver).build(); } diff --git a/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/GnpyUtilitiesImpl.java b/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/GnpyUtilitiesImpl.java index f856e08d9..e9263f19e 100644 --- a/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/GnpyUtilitiesImpl.java +++ b/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/GnpyUtilitiesImpl.java @@ -17,12 +17,12 @@ import org.opendaylight.transportpce.pce.gnpy.consumer.GnpyConsumer; import org.opendaylight.yang.gen.v1.gnpy.gnpy.api.rev220221.RequestBuilder; import org.opendaylight.yang.gen.v1.gnpy.gnpy.api.rev220221.request.ServiceBuilder; import org.opendaylight.yang.gen.v1.gnpy.gnpy.api.rev220221.request.TopologyBuilder; -import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220221.topo.Connections; -import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220221.topo.Elements; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.Result; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.generic.path.properties.path.properties.PathRouteObjects; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.service.PathRequest; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.synchronization.info.Synchronization; +import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220615.topo.Connections; +import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220615.topo.Elements; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.Result; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.generic.path.properties.path.properties.PathRouteObjects; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.service.PathRequest; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.synchronization.info.Synchronization; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.PathComputationRequestInput; import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.routing.constraints.HardConstraints; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev210705.path.description.AToZDirection; diff --git a/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/consumer/GnpyApiModule.java b/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/consumer/GnpyApiModule.java index f750005cc..f3f7664d5 100644 --- a/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/consumer/GnpyApiModule.java +++ b/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/consumer/GnpyApiModule.java @@ -11,7 +11,7 @@ import com.fasterxml.jackson.databind.module.SimpleModule; import com.fasterxml.jackson.datatype.jsr310.PackageVersion; import org.opendaylight.transportpce.common.converter.JsonStringConverter; import org.opendaylight.yang.gen.v1.gnpy.gnpy.api.rev220221.Request; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.Result; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.Result; diff --git a/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/consumer/GnpyConsumer.java b/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/consumer/GnpyConsumer.java index b45a3880f..f1976d1e3 100644 --- a/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/consumer/GnpyConsumer.java +++ b/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/consumer/GnpyConsumer.java @@ -9,7 +9,7 @@ package org.opendaylight.transportpce.pce.gnpy.consumer; import org.opendaylight.yang.gen.v1.gnpy.gnpy.api.rev220221.Request; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.Result; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.Result; public interface GnpyConsumer { diff --git a/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/consumer/GnpyConsumerImpl.java b/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/consumer/GnpyConsumerImpl.java index cd4b6eb69..bb3f53b83 100644 --- a/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/consumer/GnpyConsumerImpl.java +++ b/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/consumer/GnpyConsumerImpl.java @@ -18,7 +18,7 @@ import org.glassfish.jersey.logging.LoggingFeature; import org.opendaylight.mdsal.binding.dom.codec.spi.BindingDOMCodecServices; import org.opendaylight.transportpce.common.converter.JsonStringConverter; import org.opendaylight.yang.gen.v1.gnpy.gnpy.api.rev220221.Request; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.Result; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.Result; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/consumer/GnpyResource.java b/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/consumer/GnpyResource.java index a30112c8a..ba9a2daab 100644 --- a/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/consumer/GnpyResource.java +++ b/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/consumer/GnpyResource.java @@ -15,7 +15,7 @@ import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import org.opendaylight.yang.gen.v1.gnpy.gnpy.api.rev220221.Request; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.Result; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.Result; @Path("/api/v1") diff --git a/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/consumer/JsonConfigurator.java b/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/consumer/JsonConfigurator.java index 9bc373295..0f9c63d39 100644 --- a/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/consumer/JsonConfigurator.java +++ b/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/consumer/JsonConfigurator.java @@ -14,7 +14,7 @@ import com.fasterxml.jackson.databind.SerializationFeature; import javax.ws.rs.ext.ContextResolver; import org.opendaylight.transportpce.common.converter.JsonStringConverter; import org.opendaylight.yang.gen.v1.gnpy.gnpy.api.rev220221.Request; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.Result; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.Result; public class JsonConfigurator implements ContextResolver { diff --git a/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/consumer/ResultDeserializer.java b/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/consumer/ResultDeserializer.java index 8ddbb417e..bdf46a435 100644 --- a/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/consumer/ResultDeserializer.java +++ b/pce/src/main/java/org/opendaylight/transportpce/pce/gnpy/consumer/ResultDeserializer.java @@ -12,7 +12,7 @@ import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.deser.std.StdDeserializer; import java.io.IOException; import org.opendaylight.transportpce.common.converter.JsonStringConverter; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.Result; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.Result; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.codec.gson.JSONCodecFactorySupplier; diff --git a/pce/src/main/java/org/opendaylight/transportpce/pce/service/PathComputationServiceImpl.java b/pce/src/main/java/org/opendaylight/transportpce/pce/service/PathComputationServiceImpl.java index aa598c731..4e4e0cb42 100644 --- a/pce/src/main/java/org/opendaylight/transportpce/pce/service/PathComputationServiceImpl.java +++ b/pce/src/main/java/org/opendaylight/transportpce/pce/service/PathComputationServiceImpl.java @@ -24,7 +24,7 @@ import org.opendaylight.transportpce.pce.PceComplianceCheckResult; import org.opendaylight.transportpce.pce.PceSendingPceRPCs; import org.opendaylight.transportpce.pce.gnpy.GnpyResult; import org.opendaylight.transportpce.pce.gnpy.consumer.GnpyConsumer; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.result.Response; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.result.Response; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.CancelResourceReserveInput; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.CancelResourceReserveOutput; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.CancelResourceReserveOutputBuilder; @@ -281,11 +281,11 @@ public class PathComputationServiceImpl implements PathComputationService { .build(); } if (responseGnpy.getResponseType() - instanceof org.opendaylight.yang.gen.v1.gnpy.path.rev220221.result.response.response.type.NoPathCase) { + instanceof org.opendaylight.yang.gen.v1.gnpy.path.rev220615.result.response.response.type.NoPathCase) { LOG.info("GNPy : path is not feasible"); - org.opendaylight.yang.gen.v1.gnpy.path.rev220221.result.response.response.type.NoPathCase + org.opendaylight.yang.gen.v1.gnpy.path.rev220615.result.response.response.type.NoPathCase noPathGnpy = - (org.opendaylight.yang.gen.v1.gnpy.path.rev220221.result.response.response.type.NoPathCase) + (org.opendaylight.yang.gen.v1.gnpy.path.rev220615.result.response.response.type.NoPathCase) responseGnpy.getResponseType(); return new GnpyResponseBuilder() .setPathDir(pathDir) @@ -297,17 +297,17 @@ public class PathComputationServiceImpl implements PathComputationService { .build(); } if (responseGnpy.getResponseType() - instanceof org.opendaylight.yang.gen.v1.gnpy.path.rev220221.result.response.response.type.PathCase) { + instanceof org.opendaylight.yang.gen.v1.gnpy.path.rev220615.result.response.response.type.PathCase) { LOG.info("GNPy : path is feasible"); - org.opendaylight.yang.gen.v1.gnpy.path.rev220221.result.response.response.type.PathCase + org.opendaylight.yang.gen.v1.gnpy.path.rev220615.result.response.response.type.PathCase pathCase = - (org.opendaylight.yang.gen.v1.gnpy.path.rev220221.result.response.response.type.PathCase) + (org.opendaylight.yang.gen.v1.gnpy.path.rev220615.result.response.response.type.PathCase) responseGnpy.getResponseType(); - List + List pathMetricList = new ArrayList<>(pathCase.getPathProperties().getPathMetric().values()); List gnpyPathMetricList = new ArrayList<>(); - for (org.opendaylight.yang.gen.v1.gnpy.path.rev220221.generic.path.properties.path.properties.PathMetric + for (org.opendaylight.yang.gen.v1.gnpy.path.rev220615.generic.path.properties.path.properties.PathMetric pathMetricGnpy : pathMetricList) { gnpyPathMetricList.add( new PathMetricBuilder() diff --git a/pce/src/test/java/org/opendaylight/transportpce/pce/gnpy/consumer/GnpyConsumerTest.java b/pce/src/test/java/org/opendaylight/transportpce/pce/gnpy/consumer/GnpyConsumerTest.java index c8fae69da..28dfdb318 100644 --- a/pce/src/test/java/org/opendaylight/transportpce/pce/gnpy/consumer/GnpyConsumerTest.java +++ b/pce/src/test/java/org/opendaylight/transportpce/pce/gnpy/consumer/GnpyConsumerTest.java @@ -20,7 +20,7 @@ import org.junit.Test; import org.opendaylight.transportpce.common.converter.JsonStringConverter; import org.opendaylight.transportpce.test.AbstractTest; import org.opendaylight.yang.gen.v1.gnpy.gnpy.api.rev220221.Request; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.Result; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.Result; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.codec.gson.JSONCodecFactorySupplier; diff --git a/pce/src/test/java/org/opendaylight/transportpce/pce/gnpy/consumer/GnpyStub.java b/pce/src/test/java/org/opendaylight/transportpce/pce/gnpy/consumer/GnpyStub.java index aa6e86065..c7dfe59a5 100644 --- a/pce/src/test/java/org/opendaylight/transportpce/pce/gnpy/consumer/GnpyStub.java +++ b/pce/src/test/java/org/opendaylight/transportpce/pce/gnpy/consumer/GnpyStub.java @@ -24,7 +24,7 @@ import javax.ws.rs.core.Response; import org.opendaylight.transportpce.common.converter.JsonStringConverter; import org.opendaylight.transportpce.test.AbstractTest; import org.opendaylight.yang.gen.v1.gnpy.gnpy.api.rev220221.Request; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.service.PathRequest; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.service.PathRequest; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.codec.gson.JSONCodecFactorySupplier; diff --git a/pce/src/test/java/org/opendaylight/transportpce/pce/service/PathComputationServiceImplTest.java b/pce/src/test/java/org/opendaylight/transportpce/pce/service/PathComputationServiceImplTest.java index 4d5f0df89..66ee48824 100644 --- a/pce/src/test/java/org/opendaylight/transportpce/pce/service/PathComputationServiceImplTest.java +++ b/pce/src/test/java/org/opendaylight/transportpce/pce/service/PathComputationServiceImplTest.java @@ -17,16 +17,16 @@ import org.mockito.Mockito; import org.opendaylight.transportpce.common.network.NetworkTransactionService; import org.opendaylight.transportpce.pce.utils.PceTestData; import org.opendaylight.transportpce.test.AbstractTest; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.PathBandwidth; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.generic.path.properties.PathPropertiesBuilder; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.generic.path.properties.path.properties.PathMetric; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.generic.path.properties.path.properties.PathMetricBuilder; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.no.path.info.NoPathBuilder; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.result.Response; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.result.ResponseBuilder; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.result.ResponseKey; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.result.response.response.type.NoPathCaseBuilder; -import org.opendaylight.yang.gen.v1.gnpy.path.rev220221.result.response.response.type.PathCaseBuilder; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.PathBandwidth; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.generic.path.properties.PathPropertiesBuilder; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.generic.path.properties.path.properties.PathMetric; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.generic.path.properties.path.properties.PathMetricBuilder; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.no.path.info.NoPathBuilder; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.result.Response; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.result.ResponseBuilder; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.result.ResponseKey; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.result.response.response.type.NoPathCaseBuilder; +import org.opendaylight.yang.gen.v1.gnpy.path.rev220615.result.response.response.type.PathCaseBuilder; public class PathComputationServiceImplTest extends AbstractTest { diff --git a/pce/src/test/resources/gnpy/gnpy_result_with_path.json b/pce/src/test/resources/gnpy/gnpy_result_with_path.json index 0a4c853a9..0b0918216 100644 --- a/pce/src/test/resources/gnpy/gnpy_result_with_path.json +++ b/pce/src/test/resources/gnpy/gnpy_result_with_path.json @@ -23,7 +23,7 @@ }, { "metric-type": "reference_power", - "accumulative-value": 0.0015848931924611136 + "accumulative-value": 0.001584 }, { "metric-type": "path_bandwidth", @@ -396,4 +396,4 @@ } ] } -} \ No newline at end of file +} diff --git a/tox.ini b/tox.ini index 97e5fd72f..44675d93a 100644 --- a/tox.ini +++ b/tox.ini @@ -64,7 +64,7 @@ deps = -r{toxinidir}/tests/requirements.txt -r{toxinidir}/tests/test-requirements.txt setuptools>=7.0 - gnpy4tpce==2.4.5 + gnpy4tpce==2.4.7 whitelist_externals = launch_tests.sh passenv = LAUNCHER USE_LIGHTY USE_ODL_RESTCONF_VERSION basepython = python3.8 -- 2.36.6