1 module servicehandler {
2 namespace "http://org/opendaylight/transportpce/servicehandler";
3 prefix "org-opendaylight-transportpce-servicehandler";
5 import ietf-yang-types {
8 import org-openroadm-routing-constraints {
9 prefix org-openroadm-routing-constraints;
10 revision-date 2016-10-14;
12 import org-openroadm-common-types {
13 prefix org-openroadm-common-types;
14 revision-date 2016-10-14;
17 import org-openroadm-resource-types {
18 prefix org-openroadm-resource-types;
20 import org-openroadm-common-service-types {
21 prefix org-openroadm-common-service-types;
23 import transportpce-common-service-path-types {
24 prefix org-openroadm-common-service-path-types;
25 revision-date 2017-04-26;
34 "YANG definitions of services.
35 Copyright © 2017 Orange, Inc. and others. All rights reserved.
37 This model is derived from the OpenROADM service definition that includes the following notice:
40 Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
41 AT&T Intellectual Property. All other rights reserved.
43 Redistribution and use in source and binary forms, with or without modification,
44 are permitted provided that the following conditions are met:
46 * Redistributions of source code must retain the above copyright notice, this
47 list of conditions and the following disclaimer.
48 * Redistributions in binary form must reproduce the above copyright notice,
49 this list of conditions and the following disclaimer in the documentation and/or
50 other materials provided with the distribution.
51 * Neither the Members of the Open ROADM MSA Agreement nor the names of its
52 contributors may be used to endorse or promote products derived from this software
53 without specific prior written permission.
55 THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
56 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
57 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
58 IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
59 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
60 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
61 OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
62 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
63 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
64 POSSIBILITY OF SUCH DAMAGE";
76 "Identifier for the service to be created in
77 the ROADM network, e.g., CLFI, CLCI, etc. This is reported against the service, but may not get reflected in the service in the network.";
83 "To be used by the ROADM controller to identify the routing constraints received from planning application (PED).";
85 uses org-openroadm-common-service-types:sdnc-request-header;
86 leaf connection-type {
87 type org-openroadm-common-service-types:connection-type;
90 container service-a-end {
91 uses org-openroadm-common-service-types:service-endpoint;
93 container service-z-end {
94 uses org-openroadm-common-service-types:service-endpoint;
96 uses org-openroadm-routing-constraints:routing-constraints;
97 uses org-openroadm-common-service-types:service-information;
100 uses org-openroadm-common-service-types:configuration-response-common;
101 uses org-openroadm-common-service-types:response-parameters;
104 "Whether this request passed initial validation and was accepted for processing. Once the request completes processing, a
105 service-rpc-result Notification shall be sent.";
108 rpc service-feasibility-check {
114 "To be used by the ROADM controller to identify the routing
115 constraints received from planning application (PED).";
117 uses org-openroadm-common-service-types:sdnc-request-header;
118 leaf connection-type {
119 type org-openroadm-common-service-types:connection-type;
121 container service-a-end {
122 uses org-openroadm-common-service-types:service-endpoint;
124 container service-z-end {
125 uses org-openroadm-common-service-types:service-endpoint;
127 uses org-openroadm-routing-constraints:routing-constraints;
128 uses org-openroadm-common-service-types:service-information;
131 uses org-openroadm-common-service-types:configuration-response-common;
132 uses org-openroadm-common-service-types:response-parameters;
133 container service-a-end {
134 uses org-openroadm-common-service-types:service-endpoint;
135 list equipment-required {
137 "List of required equipment, including equipment type and quantity";
138 key "eqipment-identifier";
139 leaf eqipment-identifier {
142 leaf equipment-type {
145 leaf equipment-quantity {
150 container service-z-end {
151 uses org-openroadm-common-service-types:service-endpoint;
152 list equipment-required {
154 "List of required equipment, including equipment type and quantity";
155 key "eqipment-identifier";
156 leaf eqipment-identifier {
159 leaf equipment-type {
162 leaf equipment-quantity {
167 list intermediate-sites {
169 uses org-openroadm-common-service-types:service-endpoint;
170 list equipment-required {
172 "List of required equipment, including equipment type and quantity";
173 key "eqipment-identifier";
174 leaf eqipment-identifier {
177 leaf equipment-type {
180 leaf equipment-quantity {
187 "Whether a service was possible to be created, and if so
188 the routing constraints match and the a and z end connection that have
194 uses org-openroadm-common-service-types:sdnc-request-header;
195 container service-delete-req-info {
199 "Identifier for the service to be deleted in
200 the ROADM network, e.g., CLFI, CLCI, etc.";
204 type yang:date-and-time;
206 "date and time service to be turned down. If missing, now.";
208 leaf tail-retention {
213 "tails are left intact ";
226 uses org-openroadm-common-service-types:configuration-response-common;
229 "Whether this request passed initial validation and was accepted for processing. Once the request completes processing, a
230 service-rpc-result Notification shall be sent. Once the service has been deleted, it no longer will appear in the service list";
233 rpc equipment-notification {
235 uses org-openroadm-common-service-types:sdnc-request-header;
240 leaf equipment-name {
247 leaf equipment-vendor {
251 leaf equipment-customer {
254 leaf equipment-clli {
267 uses org-openroadm-common-service-types:configuration-response-common;
271 rpc temp-service-create {
276 "To be used by the ROADM controller to identify the routing constraints received from planning application (PED).";
279 uses org-openroadm-common-service-types:sdnc-request-header;
280 leaf connection-type {
281 type org-openroadm-common-service-types:connection-type;
284 container service-a-end {
285 uses org-openroadm-common-service-types:service-endpoint;
287 container service-z-end {
288 uses org-openroadm-common-service-types:service-endpoint;
290 uses org-openroadm-routing-constraints:routing-constraints;
291 uses org-openroadm-common-service-types:service-information;
294 uses org-openroadm-common-service-types:configuration-response-common;
295 uses org-openroadm-common-service-types:response-parameters;
299 rpc temp-service-delete {
307 uses org-openroadm-common-service-types:configuration-response-common;
317 "Identifier for the service to be rolled in
318 the ROADM network, e.g., CLFI, CLCI, etc.";
321 type yang:date-and-time;
323 "date and time service to be rolled";
327 //uses org-openroadm-common-types:rpc-response-status;
328 uses org-openroadm-common-service-path-types:rpc-response-status-ex;
332 rpc service-reconfigure {
338 "Existing identifier for the service to be
339 reconfigured in the ROADM network, e.g., CLFI, CLCI, etc.";
341 leaf new-service-name {
344 "New identifier for the service to be
345 reconfigured in the ROADM network, e.g., CLFI, CLCI, etc.";
350 "To be used by the ROADM controller to identify the routing
351 constraints received from planning application (PED).";
353 /**Add by Martial **/
354 leaf notification-url {
357 leaf connection-type {
358 type org-openroadm-common-service-types:connection-type;
360 container service-a-end {
361 uses org-openroadm-common-service-types:service-endpoint;
363 container service-z-end {
364 uses org-openroadm-common-service-types:service-endpoint;
366 uses org-openroadm-routing-constraints:routing-constraints;
367 uses org-openroadm-common-service-types:service-information;
370 //uses org-openroadm-common-types:rpc-response-status;
371 uses org-openroadm-common-service-path-types:rpc-response-status-ex;
374 "Whether this request passed initial validation and was accepted for processing. Once the request completes processing, a
375 service-rpc-result Notification shall be sent.";
378 rpc service-restoration {
384 "Identifier for the service to be restored in
385 the ROADM network, e.g., CLFI, CLCI, etc.";
387 /**Add by Martial **/
388 leaf notification-url {
396 "A spare regen can be used to restore the
397 service permanently without reverting back to the
403 "a spare regen can be used to restore the
404 service temporarily. The service needs to be reverted
405 back to the original regen transponder";
412 //uses org-openroadm-common-types:rpc-response-status;
413 uses org-openroadm-common-service-path-types:rpc-response-status-ex;
416 "Whether this request passed initial validation and was accepted for processing. Once the request completes processing, a
417 service-rpc-result Notification shall be sent.";
420 rpc service-reversion {
426 "Identifier for the service to be reverted
427 in the ROADM network, e.g., CLFI, CLCI, etc. ";
430 type yang:date-and-time;
432 "date and time service to be reverted";
436 //uses org-openroadm-common-types:rpc-response-status;
437 uses org-openroadm-common-service-path-types:rpc-response-status-ex;
440 "Whether this request passed initial validation and was accepted for processing. Once the request completes processing, a
441 service-rpc-result Notification shall be sent.";
444 rpc service-reroute {
450 "Identifier for the service to be re-routed in
451 the ROADM network, e.g., CLFI, CLCI, etc.";
455 //uses org-openroadm-common-types:rpc-response-status;
456 uses org-openroadm-common-service-path-types:rpc-response-status-ex;
457 uses org-openroadm-routing-constraints:routing-constraints;
460 "Whether this request was validated and processed correct. If sucessful, it return the proposed new route.
461 If acceptable, this request should be followed by a service-reroute-confirm to complete the reroute operation.";
464 rpc service-reroute-confirm {
470 "Identifier for the service to be re-routed in
471 the ROADM network, e.g., CLFI, CLCI, etc.";
473 uses org-openroadm-routing-constraints:routing-constraints;
476 //uses org-openroadm-common-types:rpc-response-status;
477 uses org-openroadm-common-service-path-types:rpc-response-status-ex;
480 "Whether this request passed initial validation and was accepted for processing. Once the request completes processing, a
481 service-rpc-result Notification shall be sent.";
484 rpc network-re-optimization {
489 "Identifier for the service in the ROADM network,
490 e.g., CLFI, CLCI, etc. whose path is to be checked by the RNC
491 for re-optimization";
496 "Services whose A-ends are terminated at the
497 specified office location are to be checked by the RNC for
503 "Services whose Z-ends are terminated at the
504 specified office location are to be checked by the RNC for
510 "Services that are pass-through (either via
511 regen or express) at the specified office location are to
512 be checked by the RNC for re-optimization";
517 "Services that belong to the specified customer
518 are to be checked by the RNC for re-optimization ";
522 //uses org-openroadm-common-types:rpc-response-status;
523 uses org-openroadm-common-service-path-types:rpc-response-status-ex;
524 leaf optimization-candidate {
530 container service-list {
532 "List of service. Can only be created, deleted, modified, etc. using special RPCs.";
535 uses org-openroadm-common-service-types:service;
539 container temp-service-list {
541 "List of temporary services Can only be created, deleted, modified, etc. using special RPCs.";
544 uses org-openroadm-common-service-types:service {
545 refine "service-name" {
552 notification service-rpc-result {
554 "This Notification indicates result of service RPC";
555 leaf notification-type {
556 type org-openroadm-common-service-types:service-notification-types;
558 //uses org-openroadm-common-types:rpc-response-status;
559 uses org-openroadm-common-service-path-types:rpc-response-status-ex;
560 uses org-openroadm-common-service-types:service-notification-result;
563 notification service-traffic-flow {
565 "This Notification indicates that traffic is flowing again on the service after an administrative action has completed";
569 "Identifier for the service being reported on";
573 type yang:date-and-time;
575 "Actual date and time traffic started flowing";
579 notification service-notification {
581 "This Notification that a service has been added, modified or removed.
582 A resourceCreation notification shall contain the created service in its entirety.
583 A resourceMofified notification shall contain just the modified field, plus the service identifier
584 A resourceDeleted notification shall just contain the service identifier";
585 leaf notificationType {
586 type org-openroadm-resource-types:resource-notification-type;
588 "Whether this notification indicates a service creation, service modification or service deletion.";
590 uses org-openroadm-common-service-types:service;