2 * Copyright © 2017 AT&T, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.transportpce.pce.utils;
10 import java.util.List;
13 import org.opendaylight.transportpce.common.ResponseCodes;
14 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev240205.PathComputationRequestInput;
15 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev240205.PathComputationRequestInputBuilder;
16 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev240205.PathComputationRequestOutput;
17 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev240205.PathComputationRequestOutputBuilder;
18 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev240205.PathComputationRerouteRequestInput;
19 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev240205.PathComputationRerouteRequestInputBuilder;
20 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev240205.path.computation.request.input.ServiceAEndBuilder;
21 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev240205.path.computation.request.input.ServiceZEndBuilder;
22 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev240205.path.computation.reroute.request.input.EndpointsBuilder;
23 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.node.types.rev210528.NodeIdType;
24 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.ConnectionType;
25 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.configuration.response.common.ConfigurationResponseCommon;
26 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.configuration.response.common.ConfigurationResponseCommonBuilder;
27 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.sdnc.request.header.SdncRequestHeaderBuilder;
28 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.service.endpoint.RxDirectionKey;
29 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.service.endpoint.TxDirectionKey;
30 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.service.port.PortBuilder;
31 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209.constraints.CoRoutingBuilder;
32 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209.constraints.DiversityBuilder;
33 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209.constraints.ExcludeBuilder;
34 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209.constraints.IncludeBuilder;
35 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209.constraints.LatencyBuilder;
36 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209.constraints.co.routing.ServiceIdentifierListBuilder;
37 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209.diversity.existing.service.constraints.ServiceIdentifierListKey;
38 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209.routing.constraints.HardConstraintsBuilder;
39 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209.routing.constraints.SoftConstraintsBuilder;
40 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209.service.applicability.g.ServiceApplicabilityBuilder;
41 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.format.rev191129.ServiceFormat;
42 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.ServiceCreateInput;
43 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.ServiceCreateInputBuilder;
44 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev230501.path.description.AToZDirectionBuilder;
45 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev230501.path.description.ZToADirectionBuilder;
46 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.PceMetric;
47 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.response.parameters.sp.ResponseParametersBuilder;
48 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.response.parameters.sp.response.parameters.PathDescription;
49 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.response.parameters.sp.response.parameters.PathDescriptionBuilder;
50 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.RxDirectionBuilder;
51 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.service.endpoint.sp.TxDirectionBuilder;
52 import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.service.handler.header.ServiceHandlerHeaderBuilder;
53 import org.opendaylight.yangtools.yang.common.Decimal64;
54 import org.opendaylight.yangtools.yang.common.Uint32;
55 import org.opendaylight.yangtools.yang.common.Uint8;
57 public final class PceTestData {
59 private PceTestData() {
62 public static PathComputationRequestInput getEmptyPCERequest() {
63 return new PathComputationRequestInputBuilder()
64 .setServiceHandlerHeader(
65 new ServiceHandlerHeaderBuilder()
66 .setRequestId("request1")
71 public static PathComputationRequestInput getEmptyPCERequestServiceNameWithRequestId() {
72 return new PathComputationRequestInputBuilder()
73 .setServiceName("serviceName")
74 .setServiceHandlerHeader(
75 new ServiceHandlerHeaderBuilder()
76 .setRequestId("request1")
81 public static PathComputationRequestInput getEmptyPCERequestServiceNameWithOutRequestId() {
82 return new PathComputationRequestInputBuilder()
83 .setServiceName("serviceName")
84 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder().build())
88 public static PathComputationRequestInput getPathComputationRequestInputWithCoRoutingOrGeneral2() {
89 return new PathComputationRequestInputBuilder()
90 .setServiceName("service1")
91 .setResourceReserve(true)
92 .setPceRoutingMetric(PceMetric.HopCount)
93 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
94 .setRequestId("request1")
96 .setServiceAEnd(new ServiceAEndBuilder()
97 .setServiceFormat(ServiceFormat.ODU)
98 .setServiceRate(Uint32.valueOf(100))
100 .setNodeId("XPONDER-2-2")
101 .setTxDirection(new TxDirectionBuilder()
102 .setPort(new PortBuilder()
103 .setPortDeviceName("Some port-device-name")
104 .setPortType("Some port-type")
105 .setPortName("Some port-name")
106 .setPortRack("Some port-rack")
107 .setPortShelf("Some port-shelf")
108 .setPortSlot("Some port-slot")
109 .setPortSubSlot("Some port-sub-slot")
112 .setRxDirection(new RxDirectionBuilder()
113 .setPort(new PortBuilder()
114 .setPortDeviceName("Some port-device-name")
115 .setPortType("Some port-type")
116 .setPortName("Some port-name")
117 .setPortRack("Some port-rack")
118 .setPortShelf("Some port-shelf")
119 .setPortSlot("Some port-slot")
120 .setPortSubSlot("Some port-sub-slot")
124 .setServiceZEnd(new ServiceZEndBuilder()
125 .setServiceFormat(ServiceFormat.ODU)
126 .setServiceRate(Uint32.valueOf(0))
127 .setClli("Some clli11")
128 .setNodeId("XPONDER-1-2")
129 .setTxDirection(new TxDirectionBuilder()
130 .setPort(new PortBuilder()
131 .setPortDeviceName("Some port-device-name")
132 .setPortType("Some port-type")
133 .setPortName("Some port-name")
134 .setPortRack("Some port-rack")
135 .setPortShelf("Some port-shelf")
136 .setPortSlot("Some port-slot")
137 .setPortSubSlot("Some port-sub-slot")
140 .setRxDirection(new RxDirectionBuilder()
141 .setPort(new PortBuilder()
142 .setPortDeviceName("Some port-device-name")
143 .setPortType("Some port-type")
144 .setPortName("Some port-name")
145 .setPortRack("Some port-rack")
146 .setPortShelf("Some port-shelf")
147 .setPortSlot("Some port-slot")
148 .setPortSubSlot("Some port-sub-slot")
152 .setHardConstraints(new HardConstraintsBuilder()
153 .setCustomerCode(Set.of("Some customer-code"))
154 .setCoRouting(new CoRoutingBuilder()
155 .setServiceIdentifierList(Map.of(
156 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209
157 .constraints.co.routing.ServiceIdentifierListKey("Some existing-service"),
158 new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service").build()))
161 .setSoftConstraints(new SoftConstraintsBuilder()
162 .setCustomerCode(Set.of("Some customer-code"))
163 .setCoRouting(new CoRoutingBuilder()
164 .setServiceIdentifierList(Map.of(
165 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209
166 .constraints.co.routing.ServiceIdentifierListKey("Some existing-service"),
167 new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service").build()))
173 public static PathComputationRequestInput getPathComputationRequestInputWithCoRoutingOrGeneral() {
174 return new PathComputationRequestInputBuilder()
175 .setServiceName("service1")
176 .setResourceReserve(true)
177 .setPceRoutingMetric(PceMetric.HopCount)
178 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
179 .setRequestId("request1")
181 .setServiceAEnd(new ServiceAEndBuilder()
182 .setServiceFormat(ServiceFormat.Ethernet)
183 .setServiceRate(Uint32.valueOf(100))
185 .setNodeId("XPONDER-2-2")
186 .setTxDirection(new TxDirectionBuilder()
187 .setPort(new PortBuilder()
188 .setPortDeviceName("Some port-device-name")
189 .setPortType("Some port-type")
190 .setPortName("Some port-name")
191 .setPortRack("Some port-rack")
192 .setPortShelf("Some port-shelf")
193 .setPortSlot("Some port-slot")
194 .setPortSubSlot("Some port-sub-slot")
197 .setRxDirection(new RxDirectionBuilder()
198 .setPort(new PortBuilder()
199 .setPortDeviceName("Some port-device-name")
200 .setPortType("Some port-type")
201 .setPortName("Some port-name")
202 .setPortRack("Some port-rack")
203 .setPortShelf("Some port-shelf")
204 .setPortSlot("Some port-slot")
205 .setPortSubSlot("Some port-sub-slot")
209 .setServiceZEnd(new ServiceZEndBuilder()
210 .setServiceFormat(ServiceFormat.Ethernet)
211 .setServiceRate(Uint32.valueOf(0))
212 .setClli("Some clli11")
213 .setNodeId("XPONDER-1-2")
214 .setTxDirection(new TxDirectionBuilder()
215 .setPort(new PortBuilder()
216 .setPortDeviceName("Some port-device-name")
217 .setPortType("Some port-type")
218 .setPortName("Some port-name")
219 .setPortRack("Some port-rack")
220 .setPortShelf("Some port-shelf")
221 .setPortSlot("Some port-slot")
222 .setPortSubSlot("Some port-sub-slot")
225 .setRxDirection(new RxDirectionBuilder()
226 .setPort(new PortBuilder()
227 .setPortDeviceName("Some port-device-name")
228 .setPortType("Some port-type")
229 .setPortName("Some port-name")
230 .setPortRack("Some port-rack")
231 .setPortShelf("Some port-shelf")
232 .setPortSlot("Some port-slot")
233 .setPortSubSlot("Some port-sub-slot")
237 .setHardConstraints(new HardConstraintsBuilder()
238 .setCustomerCode(Set.of("Some customer-code"))
239 .setCoRouting(new CoRoutingBuilder()
240 .setServiceIdentifierList(Map.of(
241 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209
242 .constraints.co.routing.ServiceIdentifierListKey("Some existing-service"),
243 new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service").build()))
246 .setSoftConstraints(new SoftConstraintsBuilder()
247 .setCustomerCode(Set.of("Some customer-code"))
248 .setCoRouting(new CoRoutingBuilder()
249 .setServiceIdentifierList(Map.of(
250 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209
251 .constraints.co.routing.ServiceIdentifierListKey("Some existing-service"),
252 new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service").build()))
258 public static PathComputationRequestInput getPCERequest() {
259 return new PathComputationRequestInputBuilder()
260 .setServiceName("service1")
261 .setResourceReserve(true)
262 .setPceRoutingMetric(PceMetric.HopCount)
263 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
264 .setRequestId("request1")
266 .setServiceAEnd(new ServiceAEndBuilder()
267 .setServiceFormat(ServiceFormat.Ethernet)
268 .setServiceRate(Uint32.valueOf(100))
270 .setNodeId("XPONDER-2-2")
271 .setTxDirection(new TxDirectionBuilder()
272 .setPort(new PortBuilder()
273 .setPortDeviceName("Some port-device-name")
274 .setPortType("Some port-type")
275 .setPortName("Some port-name")
276 .setPortRack("Some port-rack")
277 .setPortShelf("Some port-shelf")
278 .setPortSlot("Some port-slot")
279 .setPortSubSlot("Some port-sub-slot")
282 .setRxDirection(new RxDirectionBuilder()
283 .setPort(new PortBuilder()
284 .setPortDeviceName("Some port-device-name")
285 .setPortType("Some port-type")
286 .setPortName("Some port-name")
287 .setPortRack("Some port-rack")
288 .setPortShelf("Some port-shelf")
289 .setPortSlot("Some port-slot")
290 .setPortSubSlot("Some port-sub-slot")
294 .setServiceZEnd(new ServiceZEndBuilder()
295 .setServiceFormat(ServiceFormat.Ethernet)
296 .setServiceRate(Uint32.valueOf(0))
297 .setClli("Some clli11")
298 .setNodeId("XPONDER-1-2")
299 .setTxDirection(new TxDirectionBuilder()
300 .setPort(new PortBuilder()
301 .setPortDeviceName("Some port-device-name")
302 .setPortType("Some port-type")
303 .setPortName("Some port-name")
304 .setPortRack("Some port-rack")
305 .setPortShelf("Some port-shelf")
306 .setPortSlot("Some port-slot")
307 .setPortSubSlot("Some port-sub-slot")
310 .setRxDirection(new RxDirectionBuilder()
311 .setPort(new PortBuilder()
312 .setPortDeviceName("Some port-device-name")
313 .setPortType("Some port-type")
314 .setPortName("Some port-name")
315 .setPortRack("Some port-rack")
316 .setPortShelf("Some port-shelf")
317 .setPortSlot("Some port-slot")
318 .setPortSubSlot("Some port-sub-slot")
322 .setHardConstraints(new HardConstraintsBuilder()
323 .setCustomerCode(Set.of("Some customer-code"))
324 .setCoRouting(new CoRoutingBuilder()
325 .setServiceIdentifierList(Map.of(
326 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209
327 .constraints.co.routing.ServiceIdentifierListKey("Some existing-service"),
328 new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service").build()))
331 .setSoftConstraints(new SoftConstraintsBuilder()
332 .setCustomerCode(Set.of("Some customer-code"))
333 .setCoRouting(new CoRoutingBuilder()
334 .setServiceIdentifierList(Map.of(
335 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209
336 .constraints.co.routing.ServiceIdentifierListKey("Some existing-service"),
337 new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service").build()))
343 public static PathComputationRerouteRequestInput getPCERerouteRequest() {
344 return new PathComputationRerouteRequestInputBuilder()
345 .setPceRoutingMetric(PceMetric.HopCount)
346 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
347 .setRequestId("request1")
349 .setServiceAEnd(new org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev240205
350 .path.computation.reroute.request.input.ServiceAEndBuilder()
351 .setServiceFormat(ServiceFormat.Ethernet)
352 .setServiceRate(Uint32.valueOf(100))
354 .setNodeId("XPONDER-2-2")
355 .setTxDirection(new TxDirectionBuilder()
356 .setPort(new PortBuilder()
357 .setPortDeviceName("Some port-device-name")
358 .setPortType("Some port-type")
359 .setPortName("Some port-name")
360 .setPortRack("Some port-rack")
361 .setPortShelf("Some port-shelf")
362 .setPortSlot("Some port-slot")
363 .setPortSubSlot("Some port-sub-slot")
366 .setRxDirection(new RxDirectionBuilder()
367 .setPort(new PortBuilder()
368 .setPortDeviceName("Some port-device-name")
369 .setPortType("Some port-type")
370 .setPortName("Some port-name")
371 .setPortRack("Some port-rack")
372 .setPortShelf("Some port-shelf")
373 .setPortSlot("Some port-slot")
374 .setPortSubSlot("Some port-sub-slot")
378 .setServiceZEnd(new org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev240205
379 .path.computation.reroute.request.input.ServiceZEndBuilder()
380 .setServiceFormat(ServiceFormat.Ethernet)
381 .setServiceRate(Uint32.valueOf(0))
382 .setClli("Some clli11")
383 .setNodeId("XPONDER-1-2")
384 .setTxDirection(new TxDirectionBuilder()
385 .setPort(new PortBuilder()
386 .setPortDeviceName("Some port-device-name")
387 .setPortType("Some port-type")
388 .setPortName("Some port-name")
389 .setPortRack("Some port-rack")
390 .setPortShelf("Some port-shelf")
391 .setPortSlot("Some port-slot")
392 .setPortSubSlot("Some port-sub-slot")
395 .setRxDirection(new RxDirectionBuilder()
396 .setPort(new PortBuilder()
397 .setPortDeviceName("Some port-device-name")
398 .setPortType("Some port-type")
399 .setPortName("Some port-name")
400 .setPortRack("Some port-rack")
401 .setPortShelf("Some port-shelf")
402 .setPortSlot("Some port-slot")
403 .setPortSubSlot("Some port-sub-slot")
407 .setHardConstraints(new HardConstraintsBuilder()
408 .setCustomerCode(Set.of("Some customer-code"))
409 .setCoRouting(new CoRoutingBuilder()
410 .setServiceIdentifierList(Map.of(
411 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209
412 .constraints.co.routing.ServiceIdentifierListKey("test"),
413 new ServiceIdentifierListBuilder().setServiceIdentifier("test").build()))
416 .setSoftConstraints(new SoftConstraintsBuilder()
417 .setCustomerCode(Set.of("Some customer-code"))
418 .setCoRouting(new CoRoutingBuilder()
419 .setServiceIdentifierList(Map.of(
420 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209
421 .constraints.co.routing.ServiceIdentifierListKey("test"),
422 new ServiceIdentifierListBuilder().setServiceIdentifier("test").build()))
425 .setEndpoints(new EndpointsBuilder()
432 public static PathComputationRequestOutput getFailedPCEResultYes() {
433 return new PathComputationRequestOutputBuilder()
434 .setConfigurationResponseCommon(
435 new ConfigurationResponseCommonBuilder()
436 .setAckFinalIndicator("Yes")
437 .setRequestId("request1")
438 .setResponseCode("Path not calculated")
439 .setResponseMessage("Service Name is not set")
441 .setResponseParameters(null)
445 public static PathComputationRequestOutput getPCEResultOk(Long wl) {
446 return new PathComputationRequestOutputBuilder()
447 .setConfigurationResponseCommon(createCommonSuccessResponse())
448 .setResponseParameters(
449 new ResponseParametersBuilder()
450 .setPathDescription(createPathDescription(0L, wl, 0L, wl))
456 * Generate Data for Test 1 request 5-4.
459 * "pce:service-name": "service 1",
460 * "pce:resource-reserve": "true",
461 * "pce:service-handler-header": {
462 * "pce:request-id": "request 1"
464 * "pce:service-a-end": {
465 * "pce:service-rate": "0",
466 * "pce:node-id": "XPONDER-1-2"
468 * "pce:service-z-end": {
469 * "pce:service-rate": "0",
470 * "pce:node-id": "XPONDER-3-2"
472 * "pce:pce-metric": "hop-count"
475 * @return input PathComputationRequestInput data
477 public static PathComputationRequestInput getPCE_test1_request_54() {
478 return new PathComputationRequestInputBuilder()
479 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
480 .setRequestId("request 1")
482 .setServiceName("service 1")
483 .setResourceReserve(true)
484 .setPceRoutingMetric(PceMetric.HopCount)
485 .setServiceAEnd(new ServiceAEndBuilder()
486 .setServiceRate(Uint32.valueOf(0))
487 .setNodeId("XPONDER-1-2")
489 .setServiceZEnd(new ServiceZEndBuilder()
490 .setServiceRate(Uint32.valueOf(0))
491 .setNodeId("XPONDER-3-2")
497 * Generate Data for Test 1 result 5-4.
498 * @param wl WaveLength
499 * @return output PathComputationRequestOutput data
501 public static PathComputationRequestOutput getPCE_test_result_54(Long wl) {
502 return new PathComputationRequestOutputBuilder()
503 .setConfigurationResponseCommon(createCommonSuccessResponse())
504 .setResponseParameters(
505 new ResponseParametersBuilder()
506 .setPathDescription(createPathDescription(0L, wl, 0L, wl))
512 * Generate Data for Test 2 request 5-4.
515 * "pce:service-name": "service 1",
516 * "pce:resource-reserve": "true",
517 * "pce:service-handler-header": {
518 * "pce:request-id": "request 1"
520 * "pce:service-a-end": {
521 * "pce:service-rate": "0",
522 * "pce:node-id": "XPONDER-1-2"
524 * "pce:service-z-end": {
525 * "pce:service-rate": "0",
526 * "pce:node-id": "XPONDER-3-2"
528 * "pce:hard-constraints": {
530 * "node-id": [ "OpenROADM-2-2" ]
533 * "pce:pce-metric": "hop-count"
536 * @return input PathComputationRequestInput data
538 public static PathComputationRequestInput getPCE_test2_request_54() {
539 return new PathComputationRequestInputBuilder()
540 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
541 .setRequestId("request 1")
543 .setServiceName("service 1")
544 .setResourceReserve(true)
545 .setPceRoutingMetric(PceMetric.HopCount)
546 .setServiceAEnd(new ServiceAEndBuilder()
547 .setServiceRate(Uint32.valueOf(0))
548 .setNodeId("XPONDER-1-2")
550 .setServiceZEnd(new ServiceZEndBuilder()
551 .setServiceRate(Uint32.valueOf(0))
552 .setNodeId("XPONDER-3-2")
554 .setHardConstraints(new HardConstraintsBuilder()
555 .setExclude(new ExcludeBuilder()
556 .setNodeId(List.of(new NodeIdType("OpenROADM-2-2")))
558 .setInclude(new IncludeBuilder()
559 .setNodeId(List.of(new NodeIdType("XPONDER-1-2")))
561 .setLatency(new LatencyBuilder()
562 .setMaxLatency(Decimal64.valueOf("3223"))
569 * Generate Data for Test 2 result 5-4.
570 * @return output PathComputationRequestOutput data
572 public static PathComputationRequestOutput getPCE_test2_result_54() {
573 return new PathComputationRequestOutputBuilder()
574 .setConfigurationResponseCommon(createCommonSuccessResponse())
575 .setResponseParameters(
576 new ResponseParametersBuilder()
577 .setPathDescription(createPathDescription(0L, 9L, 0L, 9L))
582 public static PathComputationRerouteRequestInput getPCEReroute() {
583 return new PathComputationRerouteRequestInputBuilder()
584 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
585 .setRequestId("request 1")
587 .setPceRoutingMetric(PceMetric.HopCount)
588 .setServiceAEnd(new org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev240205
589 .path.computation.reroute.request.input.ServiceAEndBuilder()
590 .setServiceRate(Uint32.valueOf(100))
591 .setServiceFormat(ServiceFormat.Ethernet)
592 .setNodeId("XPONDER-1-2")
594 .setServiceZEnd(new org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev240205
595 .path.computation.reroute.request.input.ServiceZEndBuilder()
596 .setServiceRate(Uint32.valueOf(0))
597 .setServiceFormat(ServiceFormat.Ethernet)
598 .setNodeId("XPONDER-3-2")
600 .setHardConstraints(new HardConstraintsBuilder()
601 .setExclude(new ExcludeBuilder()
603 new NodeIdType("OpenROADM-2-1"),
604 new NodeIdType("OpenROADM-2-2")))
607 .setEndpoints(new EndpointsBuilder()
615 * Generate Data for Test 2 request 5-4.
618 * "pce:service-name": "service 1",
619 * "pce:resource-reserve": "true",
620 * "pce:service-handler-header": {
621 * "pce:request-id": "request 1"
623 * "pce:service-a-end": {
624 * "pce:service-rate": "0",
625 * "pce:node-id": "XPONDER-1-2"
627 * "pce:service-z-end": {
628 * "pce:service-rate": "0",
629 * "pce:node-id": "XPONDER-3-2"
631 * "pce:hard-constraints": {
633 * "node-id": [ "OpenROADM-2-1", "OpenROADM-2-2" ]
636 * "pce:pce-metric": "hop-count"
639 * @return input PathComputationRequestInput data
641 public static PathComputationRequestInput getPCE_test3_request_54() {
642 return new PathComputationRequestInputBuilder()
643 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
644 .setRequestId("request 1")
646 .setServiceName("service 1")
647 .setResourceReserve(true)
648 .setPceRoutingMetric(PceMetric.HopCount)
649 .setServiceAEnd(new ServiceAEndBuilder()
650 .setServiceRate(Uint32.valueOf(100))
651 .setServiceFormat(ServiceFormat.Ethernet)
652 .setNodeId("XPONDER-1-2")
654 .setServiceZEnd(new ServiceZEndBuilder()
655 .setServiceRate(Uint32.valueOf(0))
656 .setServiceFormat(ServiceFormat.Ethernet)
657 .setNodeId("XPONDER-3-2")
659 .setHardConstraints(new HardConstraintsBuilder()
660 .setExclude(new ExcludeBuilder()
662 new NodeIdType("OpenROADM-2-1"),
663 new NodeIdType("OpenROADM-2-2")))
670 * Generate Data for Test 3 result 5-4.
671 * @return output PathComputationRequestOutput data
673 public static PathComputationRequestOutput getPCE_test3_result_54() {
674 return new PathComputationRequestOutputBuilder()
675 .setConfigurationResponseCommon(createCommonSuccessResponse())
676 .setResponseParameters(new ResponseParametersBuilder()
677 .setPathDescription(createPathDescription(0L, 9L, 0L, 9L))
682 public static PathComputationRequestInput getPCE_simpletopology_test1_requestSetHardAndSoftConstrains() {
683 return new PathComputationRequestInputBuilder()
684 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
685 .setRequestId("request 1")
687 .setServiceName("service 1")
688 .setResourceReserve(true)
689 .setPceRoutingMetric(PceMetric.HopCount)
690 .setServiceAEnd(new ServiceAEndBuilder()
691 .setServiceRate(Uint32.valueOf(0))
692 .setNodeId("XPONDER-1-2")
694 .setServiceZEnd(new ServiceZEndBuilder()
695 .setServiceRate(Uint32.valueOf(0))
696 .setNodeId("XPONDER-3-2")
698 .setHardConstraints(new HardConstraintsBuilder().build())
699 .setSoftConstraints(new SoftConstraintsBuilder().build())
703 public static PathComputationRequestInput getPCE_simpletopology_test1_request() {
704 return new PathComputationRequestInputBuilder()
705 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder()
706 .setRequestId("request 1")
708 .setServiceName("service 1")
709 .setResourceReserve(true)
710 .setPceRoutingMetric(PceMetric.HopCount)
711 .setServiceAEnd(new ServiceAEndBuilder()
712 .setServiceRate(Uint32.valueOf(0))
713 .setNodeId("XPONDER-1-2")
715 .setServiceZEnd(new ServiceZEndBuilder()
716 .setServiceRate(Uint32.valueOf(0))
717 .setNodeId("XPONDER-3-2")
722 public static PathComputationRequestOutput getPCE_simpletopology_test1_result(Long wl) {
723 return new PathComputationRequestOutputBuilder()
724 .setConfigurationResponseCommon(createCommonSuccessResponse())
725 .setResponseParameters(new ResponseParametersBuilder()
726 .setPathDescription(createPathDescription(0L, wl, 0L, wl))
731 private static ConfigurationResponseCommon createCommonSuccessResponse() {
732 return new ConfigurationResponseCommonBuilder()
733 .setAckFinalIndicator(ResponseCodes.FINAL_ACK_YES)
734 .setRequestId("request 1")
735 .setResponseCode(ResponseCodes.RESPONSE_OK)
736 .setResponseMessage("Path is calculated")
740 private static PathDescription createPathDescription(long azRate, long azWaveLength, long zaRate,
742 return new PathDescriptionBuilder()
743 .setAToZDirection(new AToZDirectionBuilder()
744 .setRate(Uint32.valueOf(azRate))
745 .setAToZWavelengthNumber(Uint32.valueOf(azWaveLength))
747 .setZToADirection(new ZToADirectionBuilder()
748 .setRate(Uint32.valueOf(zaRate))
749 .setZToAWavelengthNumber(Uint32.valueOf(zaWaveLength))
755 * Generate Data for Test Diversity test 1 request 5-4.
758 * "pce:service-name": "service 1",
759 * "pce:resource-reserve": "true",
760 * "pce:service-handler-header": {
761 * "pce:request-id": "request 1"
763 * "pce:service-a-end": {
764 * "pce:service-rate": "0",
765 * "pce:node-id": "XPONDER-1-1"
767 * "pce:service-z-end": {
768 * "pce:service-rate": "0",
769 * "pce:node-id": "XPONDER-3-1"
771 * "pce:hard-constraints": {
773 * "existing-service": ["Path test-1-54"],
774 * "existing-service-applicability": {
779 * "pce:pce-metric": "hop-count"
782 * @param base Path Computation Request Input base
783 * @return input PathComputationRequestInput data
785 public static PathComputationRequestInput build_diversity_from_request(PathComputationRequestInput base) {
786 return new PathComputationRequestInputBuilder(base)
787 .setServiceName("service 2")
788 .setServiceAEnd(new ServiceAEndBuilder()
789 .setServiceRate(Uint32.valueOf(0))
790 .setNodeId("XPONDER-1-1")
792 .setServiceZEnd(new ServiceZEndBuilder()
793 .setServiceRate(Uint32.valueOf(0))
794 .setNodeId("XPONDER-3-1")
796 .setHardConstraints(new HardConstraintsBuilder()
797 .setLatency(new LatencyBuilder()
798 .setMaxLatency(Decimal64.valueOf("3223"))
800 .setDiversity(new DiversityBuilder()
801 .setServiceIdentifierList(Map.of(
802 new ServiceIdentifierListKey(base.getServiceName()),
803 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209
804 .diversity.existing.service.constraints.ServiceIdentifierListBuilder()
805 .setServiceIdentifier(base.getServiceName())
806 .setServiceApplicability(new ServiceApplicabilityBuilder()
815 public static ServiceCreateInput buildServiceCreateInput() {
816 return new ServiceCreateInputBuilder()
817 .setCommonId("commonId")
818 .setConnectionType(ConnectionType.Service)
819 .setCustomer("Customer")
820 .setServiceName("service 1")
822 new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526
823 .service.create.input.ServiceAEndBuilder()
825 .setServiceRate(Uint32.valueOf(0))
826 .setNodeId(new NodeIdType("XPONDER-1-2"))
827 .setTxDirection(Map.of(
828 new TxDirectionKey(Uint8.ZERO),
829 new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526
830 .service.endpoint.TxDirectionBuilder()
831 .setPort(new PortBuilder().build())
833 .setRxDirection(Map.of(
834 new RxDirectionKey(Uint8.ZERO),
835 new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526
836 .service.endpoint.RxDirectionBuilder()
837 .setPort(new PortBuilder().build())
841 new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526
842 .service.create.input.ServiceZEndBuilder()
844 .setServiceRate(Uint32.valueOf(0))
845 .setNodeId(new NodeIdType("XPONDER-3-2"))
846 .setTxDirection(Map.of(
847 new TxDirectionKey(Uint8.ZERO),
848 new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526
849 .service.endpoint.TxDirectionBuilder()
850 .setPort(new PortBuilder().build())
852 .setRxDirection(Map.of(
853 new RxDirectionKey(Uint8.ZERO),
854 new org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526
855 .service.endpoint.RxDirectionBuilder()
856 .setPort(new PortBuilder().build())
859 .setSdncRequestHeader(
860 new SdncRequestHeaderBuilder()
861 .setRequestId("request 1")
866 public static PathComputationRequestInput getGnpyPCERequest(String nodeA, String nodeZ) {
867 return new PathComputationRequestInputBuilder()
868 .setServiceName("service1")
869 .setResourceReserve(true)
870 .setPceRoutingMetric(PceMetric.HopCount)
871 .setServiceHandlerHeader(new ServiceHandlerHeaderBuilder().setRequestId("request1").build())
872 .setServiceAEnd(new ServiceAEndBuilder()
873 .setServiceFormat(ServiceFormat.Ethernet)
874 .setServiceRate(Uint32.valueOf(100))
877 .setTxDirection(new TxDirectionBuilder()
878 .setPort(new PortBuilder()
879 .setPortDeviceName("Some port-device-name")
880 .setPortType("Some port-type")
881 .setPortName("Some port-name")
882 .setPortRack("Some port-rack")
883 .setPortShelf("Some port-shelf")
884 .setPortSlot("Some port-slot")
885 .setPortSubSlot("Some port-sub-slot")
888 .setRxDirection(new RxDirectionBuilder()
889 .setPort(new PortBuilder()
890 .setPortDeviceName("Some port-device-name")
891 .setPortType("Some port-type")
892 .setPortName("Some port-name")
893 .setPortRack("Some port-rack")
894 .setPortShelf("Some port-shelf")
895 .setPortSlot("Some port-slot")
896 .setPortSubSlot("Some port-sub-slot")
900 .setServiceZEnd(new ServiceZEndBuilder()
901 .setServiceFormat(ServiceFormat.Ethernet)
902 .setServiceRate(Uint32.valueOf(0))
903 .setClli("Some clli11")
905 .setTxDirection(new TxDirectionBuilder()
906 .setPort(new PortBuilder()
907 .setPortDeviceName("Some port-device-name")
908 .setPortType("Some port-type")
909 .setPortName("Some port-name")
910 .setPortRack("Some port-rack")
911 .setPortShelf("Some port-shelf")
912 .setPortSlot("Some port-slot")
913 .setPortSubSlot("Some port-sub-slot")
916 .setRxDirection(new RxDirectionBuilder()
917 .setPort(new PortBuilder()
918 .setPortDeviceName("Some port-device-name")
919 .setPortType("Some port-type")
920 .setPortName("Some port-name")
921 .setPortRack("Some port-rack")
922 .setPortShelf("Some port-shelf")
923 .setPortSlot("Some port-slot")
924 .setPortSubSlot("Some port-sub-slot")
928 .setHardConstraints(new HardConstraintsBuilder()
929 .setCustomerCode(Set.of("Some customer-code"))
930 .setCoRouting(new CoRoutingBuilder()
931 .setServiceIdentifierList(Map.of(
932 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209
933 .constraints.co.routing.ServiceIdentifierListKey("Some existing-service"),
934 new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service").build()))
937 .setSoftConstraints(new SoftConstraintsBuilder()
938 .setCustomerCode(Set.of("Some customer-code"))
939 .setCoRouting(new CoRoutingBuilder()
940 .setServiceIdentifierList(Map.of(
941 new org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209
942 .constraints.co.routing.ServiceIdentifierListKey("Some existing-service"),
943 new ServiceIdentifierListBuilder().setServiceIdentifier("Some existing-service").build()))