1 module org-openroadm-service {
3 namespace "http://org/openroadm/service";
4 prefix org-openroadm-service;
6 import ietf-yang-types {
8 revision-date 2013-07-15;
10 import org-openroadm-routing-constraints {
11 prefix org-openroadm-routing-constraints;
12 revision-date 2021-12-10;
14 import org-openroadm-common-types {
15 prefix org-openroadm-common-types;
16 revision-date 2021-12-10;
18 import org-openroadm-resource-types {
19 prefix org-openroadm-resource-types;
20 revision-date 2021-09-24;
22 import org-openroadm-resource {
23 prefix org-openroadm-resource;
24 revision-date 2021-12-10;
26 import org-openroadm-common-service-types {
27 prefix org-openroadm-common-service-types;
28 revision-date 2021-12-10;
30 import org-openroadm-controller-customization {
31 prefix org-openroadm-controller-customization;
32 revision-date 2021-12-10;
34 import org-openroadm-topology {
35 prefix org-openroadm-topology;
36 revision-date 2021-12-10;
38 import org-openroadm-operational-mode-catalog {
39 prefix org-openroadm-operational-mode-catalog;
40 revision-date 2021-12-10;
42 import org-openroadm-common-optical-channel-types {
43 prefix org-openroadm-common-optical-channel-types;
44 revision-date 2021-12-10;
52 "YANG definitions of services.
54 Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
55 All other rights reserved.
57 Redistribution and use in source and binary forms, with or without modification,
58 are permitted provided that the following conditions are met:
60 * Redistributions of source code must retain the above copyright notice, this
61 list of conditions and the following disclaimer.
62 * Redistributions in binary form must reproduce the above copyright notice,
63 this list of conditions and the following disclaimer in the documentation and/or
64 other materials provided with the distribution.
65 * Neither the Members of the Open ROADM MSA Agreement nor the names of its
66 contributors may be used to endorse or promote products derived from this software
67 without specific prior written permission.
69 THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
70 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
71 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
72 IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
73 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
74 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
75 OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
76 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
77 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
78 POSSIBILITY OF SUCH DAMAGE";
100 revision 2020-09-25 {
104 revision 2020-05-29 {
108 revision 2020-03-27 {
112 revision 2019-11-29 {
116 revision 2019-09-27 {
120 revision 2019-05-31 {
124 revision 2019-03-29 {
128 revision 2018-11-30 {
132 revision 2018-09-28 {
136 revision 2018-05-30 {
140 revision 2018-03-30 {
144 revision 2017-12-15 {
148 revision 2017-09-29 {
152 revision 2017-07-28 {
154 "Version 2.0.1 - added revision-date to imports";
156 revision 2017-06-26 {
160 revision 2016-10-14 {
165 grouping proposed-equipment-g {
166 leaf propose-equipment {
180 "Whether or not this request can propose new equipment that could
181 be used to fulfill this request. If never, the request will just
182 use existing deployed and planned equipment. If ifNeeded, routes using existing equipment
183 will be preferred. If always, a route with proposed equipment shall be returned, if possible";
187 grouping service-feasibility-check-inputs {
188 leaf connection-type {
189 type org-openroadm-common-service-types:connection-type;
191 uses org-openroadm-common-service-types:resource-status;
192 uses org-openroadm-common-service-types:routing-metric;
193 uses org-openroadm-common-service-types:service-resiliency;
194 uses proposed-equipment-g;
195 container service-a-end {
196 uses org-openroadm-common-service-types:service-endpoint;
197 container requesting-interface-properties {
198 when "../../connection-type = 'optical-tunnel'" {
200 "an optical-tunnel service creation request triggers a container
201 that includes the description of the characteristics of the
202 external optical transceiver handled by a 3rd party controller";
204 uses org-openroadm-common-service-types:external-interface-characteristics;
207 container service-z-end {
208 uses org-openroadm-common-service-types:service-endpoint;
209 container requesting-interface-properties {
210 when "../../connection-type = 'optical-tunnel'" {
212 "an optical-tunnel service creation request triggers a container
213 that includes the description of the characteristics of the
214 external optical transceiver handled by a 3rd party controller";
216 uses org-openroadm-common-service-types:external-interface-characteristics;
219 uses org-openroadm-routing-constraints:routing-constraints;
220 uses org-openroadm-common-service-types:service-information;
221 uses org-openroadm-common-service-types:max-regeneration-options;
222 uses org-openroadm-common-service-types:existing-service-grouping {
223 refine "existing-service-attributes/reusable-existing-resources" {
229 grouping service-feasibility-check-outputs {
230 leaf connection-type {
231 type org-openroadm-common-service-types:connection-type;
233 uses org-openroadm-common-service-types:resource-status;
234 uses org-openroadm-common-service-types:routing-metric;
235 uses org-openroadm-common-service-types:service-resiliency;
236 uses proposed-equipment-g;
237 uses org-openroadm-common-service-types:service-information;
238 container service-a-end {
239 uses org-openroadm-common-service-types:service-endpoint;
240 list equipment-required {
241 key "equipment-identifier";
243 "List of required equipment, including equipment type, state and
245 uses org-openroadm-common-service-types:equipment-info;
247 container expected-settings-and-performances {
248 when "(../../connection-type = 'optical-tunnel' or ../../connection-type = 'infrastructure')" {
250 "Performances and settings are provided for wavelength services
251 whether they are based on end to end services or optical-tunnels";
253 uses org-openroadm-resource:common-och-otsi-attributes;
254 uses org-openroadm-resource:path-computation-outputs;
257 container service-z-end {
258 uses org-openroadm-common-service-types:service-endpoint;
259 list equipment-required {
260 key "equipment-identifier";
262 "List of required equipment, including equipment type, state and
264 uses org-openroadm-common-service-types:equipment-info;
266 container expected-settings-and-performances {
267 when "(../../connection-type = 'optical-tunnel' or ../../connection-type = 'infrastructure')" {
269 "Performances and settings are provided for wavelength services
270 whether they are based on end to end services or optical-tunnels";
272 uses org-openroadm-resource:common-och-otsi-attributes;
273 uses org-openroadm-resource:path-computation-outputs;
276 uses org-openroadm-common-service-types:intermediate-site-container;
277 container requested-service-topology {
279 "This corresponds to the topology of the service requested. Includes all the
280 containers: topology, backup topology, network topology, and
281 network backup-topology";
284 "topology corresponds to working-path which is the default path. It defines the initial path
285 to which services defined as revertive may revert to when the failure condition disappear";
286 uses org-openroadm-topology:topology;
288 container backup-topology {
290 key "backup-path-id";
291 leaf backup-path-id {
296 "Several backup paths may be used when backup-paths are pre-calculated.
297 Backup-path-id avoids 0 which is associated with working path in current-active-path";
299 leaf failure-case-id {
302 "A failure case Id can be used to associate a backup-path to a specific failure (srlg, OMS,...)";
304 uses org-openroadm-topology:topology;
307 container network-topology {
308 uses org-openroadm-topology:network-topology;
310 container network-backup-topology {
312 key "backup-path-id";
313 leaf backup-path-id {
318 "Several backup paths may be used when backup-paths are pre-calculated.
319 Backup-path-id avoids 0 which is associated with working path in current-active-path";
321 leaf failure-case-id {
324 "A failure case Id can be used to associate a backup-path to a specific failure (srlg, OMS,...)";
326 uses org-openroadm-topology:network-topology;
330 list supporting-service-hierarchy {
331 key "service-identifier";
333 "This lists all the supporting services and their respective hierarchy, includes the
335 uses org-openroadm-common-service-types:service-hierarchy;
337 uses service-path-metrics;
338 uses org-openroadm-common-service-types:max-regeneration-options;
339 uses org-openroadm-common-service-types:regeneration-option-list;
340 uses org-openroadm-common-service-types:existing-service-grouping {
341 refine "existing-service-attributes/reusable-existing-resources" {
347 grouping service-path-metrics {
348 container primary-path-metrics {
350 "These service metrics are associated with primary
352 uses service-metrics;
354 list backup-path-metrics {
355 key "backup-path-id";
357 "These service metrics are associated with the backup
359 leaf backup-path-id {
364 "Unique identifier for the backup service path";
366 uses service-metrics;
370 grouping service-metrics {
371 container service-metrics {
373 "All the metrics associated with end-to-end service feasibility
374 This container will have all the metrics that have'max' contraint in
375 org-openroadm-routing-constraints";
378 "Provides one-way end-to-end latency (in milliseconds) of a service-path;
379 It can be measured or estimated";
383 units "milliseconds";
391 "Provides end-to-end distance of a service-path";
393 container hop-count {
395 "Maximum hops allowed";
403 container TE-metric {
405 "Maximum cost allowed";
418 "Whether this request passed initial validation and was accepted for processing. Once the request completes processing, a
419 service-rpc-result Notification shall be sent.";
425 "Identifier for the service to be created in
426 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.";
431 "To be used by the ROADM controller to identify the routing constraints received from planning application (PED).";
433 uses org-openroadm-common-service-types:service-order;
434 uses org-openroadm-common-service-types:sdnc-request-header;
435 uses org-openroadm-common-service-types:routing-metric;
436 uses org-openroadm-common-service-types:service-resiliency;
437 leaf connection-type {
438 type org-openroadm-common-service-types:connection-type;
441 uses org-openroadm-common-service-types:resource-status;
442 container service-a-end {
443 uses org-openroadm-common-service-types:service-endpoint;
445 container service-z-end {
446 uses org-openroadm-common-service-types:service-endpoint;
448 uses org-openroadm-routing-constraints:routing-constraints;
449 uses org-openroadm-common-service-types:service-information;
452 uses org-openroadm-common-service-types:configuration-response-common;
453 uses org-openroadm-common-service-types:response-parameters;
457 rpc service-create-bulk {
459 "Whether this request passed initial validation and was accepted for processing.
460 Once the request completes processing, a service-rpc-result Notification shall be
461 sent. This is 'all' or 'nothing' operation, which means that either all services
462 are created or none of them will be created.";
464 uses org-openroadm-common-service-types:sdnc-request-header;
465 list service-request-list {
471 "Identifier for the service to be created in
472 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.";
477 "To be used by the ROADM controller to identify the routing constraints received from planning application (PED).";
479 uses org-openroadm-common-service-types:service-order;
480 uses org-openroadm-common-service-types:routing-metric;
481 uses org-openroadm-common-service-types:service-resiliency;
482 leaf connection-type {
483 type org-openroadm-common-service-types:connection-type;
486 uses org-openroadm-common-service-types:resource-status;
487 container service-a-end {
488 uses org-openroadm-common-service-types:service-endpoint;
490 container service-z-end {
491 uses org-openroadm-common-service-types:service-endpoint;
493 uses org-openroadm-routing-constraints:routing-constraints;
494 uses org-openroadm-common-service-types:service-information;
498 uses org-openroadm-common-service-types:configuration-response-common;
499 list service-response-list {
505 uses org-openroadm-common-service-types:response-parameters;
510 rpc temp-service-create-bulk {
512 uses org-openroadm-common-service-types:sdnc-request-header;
513 list service-request-list {
519 "To be used by the ROADM controller to identify the routing constraints
520 received from planning application (PED).";
522 uses org-openroadm-common-service-types:service-order;
523 uses org-openroadm-common-service-types:routing-metric;
524 uses org-openroadm-common-service-types:service-resiliency;
525 leaf connection-type {
526 type org-openroadm-common-service-types:connection-type;
529 uses org-openroadm-common-service-types:resource-status;
530 container service-a-end {
531 uses org-openroadm-common-service-types:service-endpoint;
533 container service-z-end {
534 uses org-openroadm-common-service-types:service-endpoint;
536 uses org-openroadm-routing-constraints:routing-constraints;
537 uses org-openroadm-common-service-types:service-information;
538 uses org-openroadm-common-service-types:existing-service-grouping {
539 refine "existing-service-attributes/reusable-existing-resources" {
546 uses org-openroadm-common-service-types:configuration-response-common;
547 list service-response-list {
553 uses org-openroadm-common-service-types:response-parameters;
554 uses org-openroadm-common-service-types:existing-service-grouping {
555 refine "existing-service-attributes/reusable-existing-resources" {
563 rpc service-create-result-notification-request {
565 "This is the callback notification that the controller invokes on the carrier system.";
567 uses org-openroadm-common-service-types:configuration-response-common;
568 uses org-openroadm-common-service-types:service-identifiers-container;
569 uses service-path-metrics;
572 uses org-openroadm-common-service-types:configuration-response-common;
576 rpc service-create-complex-result-notification-request {
578 "This is the callback notification that the controller invokes on the carrier system.";
580 uses org-openroadm-common-service-types:configuration-response-common;
581 uses org-openroadm-common-service-types:service-and-supporting-services;
582 uses service-path-metrics;
585 uses org-openroadm-common-service-types:configuration-response-common;
589 rpc service-delete-result-notification-request {
591 "This is the callback notification that the controller invokes on the carrier system.";
593 uses org-openroadm-common-service-types:configuration-response-common;
594 uses org-openroadm-common-service-types:service-identifiers-container;
597 uses org-openroadm-common-service-types:configuration-response-common;
601 rpc service-delete-complex-result-notification-request {
603 "This is the callback notification that the controller invokes on the carrier system.";
605 uses org-openroadm-common-service-types:configuration-response-common;
606 uses org-openroadm-common-service-types:service-and-supporting-services;
609 uses org-openroadm-common-service-types:configuration-response-common;
613 rpc service-feasibility-check {
615 "Whether a service was possible to be created, and if so
616 the routing constraints match and the a and z end connection that have
618 Takes a potential service and determines if it is possible in the network
619 using equipment that is installed on the network, formally planned or proposed for planning.
620 No resources are reserved, provisioned or planned as a result of this operation";
626 "To be used by the ROADM controller to identify the routing constraints
627 received from planning application (PED).";
629 uses org-openroadm-common-service-types:sdnc-request-header;
630 uses service-feasibility-check-inputs;
637 "To be used by the ROADM controller to identify the routing constraints
638 received from planning application (PED).";
640 uses org-openroadm-common-service-types:configuration-response-common;
641 uses org-openroadm-common-service-types:response-parameters;
642 uses service-feasibility-check-outputs;
646 rpc service-feasibility-check-bulk {
648 "Whether a service was possible to be created, and if so
649 the routing constraints match and the a and z end connection that have
652 Takes a list of potential services and determines if they are possible in the network
653 using equipment that is installed on the network, formally planned or proposed for planning.
654 All services are treated collectively to ensure that a given resource is not used more than once.
655 No resources are reserved, provisioned or planned as a result of this operation";
657 uses org-openroadm-common-service-types:sdnc-request-header;
658 list service-request-list {
664 "To be used by the ROADM controller to identify the routing constraints
665 received from planning application (PED).";
667 uses service-feasibility-check-inputs;
671 uses org-openroadm-common-service-types:configuration-response-common;
672 list service-response-list {
678 "To be used by the ROADM controller to identify the routing constraints
679 received from planning application (PED).";
681 uses org-openroadm-common-service-types:response-parameters;
682 uses service-feasibility-check-outputs;
689 "Whether this request passed initial validation and was accepted for processing. Once the request completes processing, a
690 service-rpc-result Notification shall be sent. Once the service has been deleted, it no longer will appear in the service list";
692 uses org-openroadm-common-service-types:sdnc-request-header;
693 container service-delete-req-info {
698 "Identifier for the service to be deleted in
699 the ROADM network, e.g., CLFI, CLCI, etc.";
702 type yang:date-and-time;
704 "date and time service to be turned down. If missing, now.";
706 leaf tail-retention {
711 "tails are left intact ";
724 uses org-openroadm-common-service-types:configuration-response-common;
728 rpc equipment-notification {
730 uses org-openroadm-common-service-types:sdnc-request-header;
735 leaf equipment-name {
738 leaf equipment-type {
742 "The set of valid value is derived from the equipment-type grouping used in the device model.";
744 leaf equipment-vendor {
748 leaf equipment-customer {
751 leaf equipment-clli {
764 uses org-openroadm-common-service-types:configuration-response-common;
768 rpc temp-service-create {
774 "To be used by the ROADM controller to identify the routing constraints received from planning application (PED).";
776 uses org-openroadm-common-service-types:service-order;
777 uses org-openroadm-common-service-types:sdnc-request-header;
778 leaf connection-type {
779 type org-openroadm-common-service-types:connection-type;
782 uses org-openroadm-common-service-types:resource-status;
783 container service-a-end {
784 uses org-openroadm-common-service-types:service-endpoint;
785 container requesting-interface-properties {
786 when "../../connection-type = 'optical-tunnel'" {
788 "an optical-tunnel service creation request triggers a container
789 that includes the description of the characteristics of the
790 external optical transceiver handled by a 3rd party controller";
792 uses org-openroadm-common-service-types:external-interface-characteristics;
795 container service-z-end {
796 uses org-openroadm-common-service-types:service-endpoint;
797 container requesting-interface-properties {
798 when "../../connection-type = 'optical-tunnel'" {
800 "an optical-tunnel service creation request triggers a container
801 that includes the description of the characteristics of the
802 external optical transceiver handled by a 3rd party controller";
804 uses org-openroadm-common-service-types:external-interface-characteristics;
807 uses org-openroadm-routing-constraints:routing-constraints;
808 uses org-openroadm-common-service-types:service-information;
809 uses org-openroadm-common-service-types:routing-metric;
810 uses org-openroadm-common-service-types:service-resiliency;
811 uses org-openroadm-common-service-types:existing-service-grouping {
812 refine "existing-service-attributes/reusable-existing-resources" {
818 uses org-openroadm-common-service-types:configuration-response-common;
819 uses org-openroadm-common-service-types:response-parameters;
820 uses org-openroadm-common-service-types:existing-service-grouping {
821 refine "existing-service-attributes/reusable-existing-resources" {
828 rpc temp-service-delete {
834 uses org-openroadm-common-service-types:sdnc-request-header;
837 uses org-openroadm-common-service-types:configuration-response-common;
843 "This rpc can be use to roll a service according to 2 possible options :
844 A new path may (no path pre-calculation) or may not be calculated according
845 to the parameters provided (which includes metrics). If path computation has been triggered
846 and is successful, a new path is provided, and the service can be rolled according to that path.";
852 "Identifier for the service to be rolled in
853 the ROADM network, e.g., CLFI, CLCI, etc.";
856 type yang:date-and-time;
858 "date and time service to be rolled";
860 uses org-openroadm-common-service-types:sdnc-request-header;
861 uses org-openroadm-common-service-types:routing-metric;
864 uses org-openroadm-common-service-types:configuration-response-common;
868 rpc service-roll-result-notification-request {
870 "This is the callback notification that the controller invokes on the carrier system.";
872 uses org-openroadm-common-service-types:configuration-response-common;
873 uses org-openroadm-common-service-types:service-identifiers-container;
876 uses org-openroadm-common-service-types:configuration-response-common;
880 rpc service-reconfigure {
882 "Whether this request passed initial validation and was accepted for processing. Once the request completes processing, a
883 service-rpc-result Notification shall be sent.";
885 uses org-openroadm-common-service-types:sdnc-request-header;
890 "Existing identifier for the service to be
891 reconfigured in the ROADM network, e.g., CLFI, CLCI, etc.";
893 leaf new-service-name {
896 "New identifier for the service to be
897 reconfigured in the ROADM network, e.g., CLFI, CLCI, etc.";
902 "Indicates whether the data of existing service needs to be refreshed or
903 reloaded. No reprovisioning/reconfiguration should be done to the service,
904 only data is updated. May generate data conflict to existing service
905 after reload. If set true, the data of existing service will be refreshed";
910 "To be used by the ROADM controller to identify the routing
911 constraints received from planning application (PED).";
913 uses org-openroadm-common-service-types:service-order;
914 leaf connection-type {
915 type org-openroadm-common-service-types:connection-type;
917 uses org-openroadm-common-service-types:resource-status;
918 container service-a-end {
919 uses org-openroadm-common-service-types:service-endpoint;
920 container requesting-interface-properties {
921 when "../../connection-type = 'optical-tunnel'" {
923 "an optical-tunnel service creation request triggers a container
924 that includes the description of the characteristics of the
925 external optical transceiver handled by a 3rd party controller";
927 uses org-openroadm-common-service-types:external-interface-characteristics;
930 container service-z-end {
931 uses org-openroadm-common-service-types:service-endpoint;
932 container requesting-interface-properties {
933 when "../../connection-type = 'optical-tunnel'" {
935 "an optical-tunnel service creation request triggers a container
936 that includes the description of the characteristics of the
937 external optical transceiver handled by a 3rd party controller";
939 uses org-openroadm-common-service-types:external-interface-characteristics;
942 uses org-openroadm-routing-constraints:routing-constraints;
943 uses org-openroadm-common-service-types:service-information;
944 uses org-openroadm-common-service-types:routing-metric;
945 uses org-openroadm-common-service-types:service-resiliency;
948 // Augment the reconfigure response with the data-reload
949 uses org-openroadm-common-service-types:configuration-response-common {
950 augment "configuration-response-common" {
951 leaf ack-data-reload-indicator {
954 "This optional, meaning this will be populated only when
955 the data-reload indicator is set true";
959 uses org-openroadm-common-service-types:response-parameters;
963 rpc service-reconfigure-bulk {
965 "Whether bulk of requests passed initial validation and was accepted for
966 processing. Once the request completes processing, a service-rpc-result
967 Notification shall be sent.";
969 uses org-openroadm-common-service-types:sdnc-request-header;
970 list service-reconfigure-list {
976 "Existing identifier for the service to be
977 reconfigured in the ROADM network, e.g., CLFI, CLCI, etc.";
979 leaf new-service-name {
982 "New identifier for the service to be
983 reconfigured in the ROADM network, e.g., CLFI, CLCI, etc.";
988 "Indicates whether the data of existing service needs to be refreshed or
989 reloaded. No reprovisioning/reconfiguration should be done to the service,
990 only data is updated. May generate data conflict to existing service
991 after reload. If set true, the data of existing service will be refreshed";
996 "To be used by the ROADM controller to identify the routing
997 constraints received from planning application (PED).";
999 uses org-openroadm-common-service-types:service-order;
1000 leaf connection-type {
1001 type org-openroadm-common-service-types:connection-type;
1003 uses org-openroadm-common-service-types:resource-status;
1004 container service-a-end {
1005 uses org-openroadm-common-service-types:service-endpoint;
1007 container service-z-end {
1008 uses org-openroadm-common-service-types:service-endpoint;
1010 uses org-openroadm-routing-constraints:routing-constraints;
1011 uses org-openroadm-common-service-types:service-information;
1012 uses org-openroadm-common-service-types:routing-metric;
1013 uses org-openroadm-common-service-types:service-resiliency;
1017 uses org-openroadm-common-service-types:configuration-response-common {
1018 augment "configuration-response-common" {
1019 leaf ack-data-reload-indicator {
1022 "This optional, meaning this will be populated only when
1023 the data-reload indicator is set true";
1027 list service-reconfigure-response-list {
1033 "Existing identifier for the service to be
1034 reconfigured in the ROADM network, e.g., CLFI, CLCI, etc.";
1037 uses org-openroadm-common-service-types:response-parameters;
1044 rpc service-reconfigure-result-notification-request {
1046 "This is the callback notification that the controller invokes on the carrier system.";
1048 uses org-openroadm-common-service-types:configuration-response-common;
1049 uses org-openroadm-common-service-types:service-identifiers-container;
1052 uses org-openroadm-common-service-types:configuration-response-common;
1056 rpc service-restoration {
1058 "Whether this request passed initial validation and was accepted for processing. Once the request completes processing, a
1059 service-rpc-result Notification shall be sent.
1060 This rpc can be use to reroute a service according to 2 possible options :
1061 \t_Option1 : neither the backup-path-id nor the failure-case-id are provided, a new path shall be
1062 calculated according to the parameters provided (which includes metrics). If path computation
1063 is successful, a new path is provided, and the service is rerouted according to that path.
1064 \t_Option2 : if a backup-path-id or a failure-case-id are provided, the service shall
1065 be rerouted according to the corresponding path. If path computation is triggered and successful,
1066 a new path is provided, and the service is rerouted according to that path.";
1072 "Identifier for the service to be restored in
1073 the ROADM network, e.g., CLFI, CLCI, etc.";
1080 "A spare regen can be used to restore the
1081 service permanently without reverting back to the
1087 "a spare regen can be used to restore the
1088 service temporarily. The service needs to be reverted
1089 back to the original regen transponder";
1094 leaf backup-path-id {
1099 "When present, states that the service shall be rerouted according to a specific backup path";
1101 leaf failure-case-id {
1104 "When present, states that the service shall be rerouted according to a specific backup path.
1105 This last corresponds to the provided failure case id";
1107 uses org-openroadm-common-service-types:sdnc-request-header;
1108 uses org-openroadm-common-service-types:routing-metric;
1111 uses org-openroadm-common-service-types:configuration-response-common;
1115 rpc service-restoration-result-notification-request {
1117 "This is the callback notification that the controller invokes on the carrier system.";
1119 uses org-openroadm-common-service-types:configuration-response-common;
1120 uses org-openroadm-common-service-types:service-identifiers-container;
1123 uses org-openroadm-common-service-types:configuration-response-common;
1127 rpc service-reversion {
1129 "Whether this request passed initial validation and was accepted for processing. Once the request completes processing, a
1130 service-rpc-result Notification shall be sent.";
1136 "Identifier for the service to be reverted
1137 in the ROADM network, e.g., CLFI, CLCI, etc. ";
1140 type yang:date-and-time;
1142 "date and time service to be reverted";
1144 uses org-openroadm-common-service-types:sdnc-request-header;
1147 uses org-openroadm-common-service-types:configuration-response-common;
1151 rpc service-reversion-result-notification-request {
1153 "This is the callback notification that the controller invokes on the carrier system.";
1155 uses org-openroadm-common-service-types:configuration-response-common;
1156 uses org-openroadm-common-service-types:service-identifiers-container;
1159 uses org-openroadm-common-service-types:configuration-response-common;
1163 rpc service-reroute {
1165 "Whether this request was validated and processed correctly. If successful, it returns the proposed new route.
1166 If acceptable, this request should be followed by a service-reroute-confirm to complete the reroute operation.";
1172 "Identifier for the service to be re-routed in
1173 the ROADM network, e.g., CLFI, CLCI, etc.";
1175 uses org-openroadm-common-service-types:sdnc-request-header;
1176 uses org-openroadm-common-service-types:routing-metric;
1177 uses org-openroadm-common-service-types:service-resiliency;
1180 uses org-openroadm-common-service-types:configuration-response-common;
1181 uses org-openroadm-routing-constraints:routing-constraints;
1185 rpc service-reroute-confirm {
1187 "Whether this request passed initial validation and was accepted for processing. Once the request completes processing, a
1188 service-rpc-result Notification shall be sent.";
1194 "Identifier for the service to be re-routed in
1195 the ROADM network, e.g., CLFI, CLCI, etc.";
1197 uses org-openroadm-common-service-types:sdnc-request-header;
1198 uses org-openroadm-routing-constraints:routing-constraints;
1201 uses org-openroadm-common-service-types:configuration-response-common;
1205 rpc service-reroute-confirm-result-notification-request {
1207 "This is the callback notification that the controller invokes on the carrier system.";
1209 uses org-openroadm-common-service-types:configuration-response-common;
1210 uses org-openroadm-common-service-types:service-identifiers-container;
1213 uses org-openroadm-common-service-types:configuration-response-common;
1217 rpc optical-tunnel-create {
1219 "This rpc is used in a second step of service creation when the connection-type is
1220 an optical-tunnel. The optical tunnel rendering implies that end terminals optical
1221 interfaces such as router pluggables are tuned to the a correct wavelength and that
1222 the output power is set so that control loop can operate during connection setting.
1223 The rpc is invoked to confirm the optical tunnel can be established.";
1229 "Identifier used in the second step of the optical-tunnel service creation.
1230 Identifies the service (optical tunnel between SRG PPs) to be created
1231 in the ROADM network.";
1237 "Identifier used in the first step of optical-tunnelservice creation using
1238 temp-service-create rpc. Identifies the temporary service for which resources
1239 have been reserved after a successful path computation";
1241 leaf set-frequency {
1242 type org-openroadm-common-optical-channel-types:frequency-THz;
1245 "Center Frequency in THz.";
1247 leaf full-bandwidth-at-3dB {
1248 type org-openroadm-common-optical-channel-types:frequency-GHz;
1251 "Signal full bandwidth at 3dB bellow the peak in GHz.";
1253 leaf full-bandwidth-at-10dB {
1254 type org-openroadm-common-optical-channel-types:frequency-GHz;
1257 "Signal full bandwidth at 10dB bellow the peak in GHz.";
1259 uses org-openroadm-common-service-types:sdnc-request-header;
1262 uses org-openroadm-common-service-types:configuration-response-common;
1266 rpc optical-tunnel-request-cancel {
1268 "This rpc is used to abort service creation when the connection-type is
1269 an optical-tunnel, if the conditions required to set-up the end to end service
1270 can not be met by the end terminals optical interfaces such as router pluggables.
1271 When the rpc is invoked, any resource temporary reserved for the second step of
1272 service creation shall be released : this rpc cancels service path rendering between
1278 "Identifier used in the first step of service creation using service create rpc.";
1283 "Identifier used in the first step of optical-tunnelservice creation using
1284 temp-service-create rpc. Identifies the temporary service for which resources
1285 have been reserved after a successful path computation";
1287 uses org-openroadm-common-service-types:sdnc-request-header;
1290 uses org-openroadm-common-service-types:configuration-response-common;
1294 rpc network-re-optimization {
1299 "Identifier for the service in the ROADM network,
1300 e.g., CLFI, CLCI, etc. whose path is to be checked by the RNC
1301 for re-optimization";
1306 "Services whose A-ends are terminated at the
1307 specified office location are to be checked by the RNC for
1313 "Services whose Z-ends are terminated at the
1314 specified office location are to be checked by the RNC for
1320 "Services that are pass-through (either via
1321 regen or express) at the specified office location are to
1322 be checked by the RNC for re-optimization";
1324 leaf customer-code {
1327 "Services that belong to the specified customer
1328 are to be checked by the RNC for re-optimization ";
1330 uses org-openroadm-common-service-types:sdnc-request-header;
1331 uses org-openroadm-common-service-types:routing-metric;
1334 uses org-openroadm-common-service-types:configuration-response-common;
1335 leaf optimization-candidate {
1341 rpc add-openroadm-operational-modes-to-catalog {
1343 "This rpc is used to feed the operational mode catalog with openroadm operational modes";
1345 uses org-openroadm-common-service-types:sdnc-request-header;
1346 container operational-mode-info {
1347 container grid-parameters {
1349 "Parameters associated with global spectrum use";
1350 uses org-openroadm-operational-mode-catalog:operational-mode-grid-parameters;
1352 container xponders-pluggables {
1354 "Parameters associated with xponders and pluggables";
1355 list xponder-pluggable-openroadm-operational-mode {
1356 key "openroadm-operational-mode-id";
1358 "defines the openroadm operational mode pointing to an official specification ";
1359 leaf openroadm-operational-mode-id {
1362 "openroadm operational mode which points to a specific spreadsheet of optical specifications";
1364 uses org-openroadm-operational-mode-catalog:operational-mode-transponder-parameters;
1369 "Parameters associated with roadms";
1370 uses org-openroadm-operational-mode-catalog:operational-mode-roadm-express-parameters;
1371 uses org-openroadm-operational-mode-catalog:operational-mode-roadm-add-parameters;
1372 uses org-openroadm-operational-mode-catalog:operational-mode-roadm-drop-parameters;
1374 container amplifiers {
1376 "Parameters associated with amplifiers";
1377 uses org-openroadm-operational-mode-catalog:operational-mode-amplifier-parameters;
1382 uses org-openroadm-common-service-types:configuration-response-common;
1386 rpc add-specific-operational-modes-to-catalog {
1388 "This rpc is used to feed the operational mode catalog with specific operational modes for
1389 \txponders or external pluggables";
1391 uses org-openroadm-common-service-types:sdnc-request-header;
1392 container operational-mode-info {
1393 container specific-operational-modes {
1395 "All specific operational modes corresponding to bookended or alien units";
1396 list specific-operational-mode {
1397 key "operational-mode-id";
1399 "List of all declared specific operationnal modes";
1400 leaf operational-mode-id {
1403 "unique identifier which identifies the operational mode";
1405 uses org-openroadm-operational-mode-catalog:operational-mode-grid-parameters;
1406 uses org-openroadm-operational-mode-catalog:operational-mode-transponder-parameters;
1412 uses org-openroadm-common-service-types:configuration-response-common;
1416 rpc service-srlg-get {
1421 "Identifier for the service in the ROADM network,
1422 e.g., CLFI, CLCI, etc. whose path or other risks must be evaluated by the RNC";
1425 type org-openroadm-common-types:SRLG-type;
1427 "Type of SRLG, Site SRLG, Node SRLG, Fiber SRLG or Link SRLG. If SRLG-type is not provided
1428 in input, output should include all types of SRLGs for a given service-name";
1431 type yang:date-and-time;
1433 "Due-date is required to get list of SRLGs for specific validity period. If Due-date is not
1434 provited in the input, RPC should return list of current/active SRLGS";
1443 "unique identifier for SRLG";
1451 type org-openroadm-common-types:SRLG-type;
1453 "Type of SRLG, Site SRLG, Node SRLG, Fiber SRLG or Link SRLG";
1460 "Fiber length in desired distance unit of measure";
1466 notification service-rpc-result {
1468 "This Notification indicates result of service RPC";
1469 leaf notification-type {
1470 type org-openroadm-common-service-types:service-notification-types;
1472 uses org-openroadm-common-types:rpc-response-status;
1473 uses org-openroadm-common-service-types:service-notification-result;
1474 container path-computation-result {
1475 when "../notification-type = 'path-computation-result'" {
1477 "an optical-tunnel service triggers the leaf providing
1478 information on the operationnal mode selected by the pce";
1482 "Describes the settings and the performances for the A to Z path";
1483 uses org-openroadm-resource:common-och-otsi-attributes;
1484 uses org-openroadm-resource:path-computation-outputs;
1488 "Describes the settings and the performances for the Z to A path";
1489 uses org-openroadm-resource:common-och-otsi-attributes;
1490 uses org-openroadm-resource:path-computation-outputs;
1495 notification service-traffic-flow {
1497 "This Notification indicates that traffic is flowing again on the service after an administrative action has completed";
1502 "Identifier for the service being reported on";
1504 leaf version-number {
1507 "Identifier for the versioned service";
1510 type yang:date-and-time;
1512 "Actual date and time traffic started flowing";
1516 notification service-notification {
1518 "This Notification that a service has been added, modified or removed.
1519 A resourceCreation notification shall contain the created service in its entirety.
1520 A resourceModified notification shall contain just the modified field, plus the service identifier
1521 A resourceDeleted notification shall just contain the service identifier";
1522 leaf notificationType {
1523 type org-openroadm-resource-types:resource-notification-type;
1525 "Whether this notification indicates a service creation, service modification or service deletion.";
1527 leaf version-number {
1530 "Identifier for the versioned service";
1532 uses org-openroadm-common-service-types:service;
1535 notification optical-tunnel-created {
1537 "This Notification is used to confirm that an optical-tunnel service has been created.
1538 It shall contain the created service in its entirety";
1539 leaf notificationType {
1540 type org-openroadm-resource-types:resource-notification-type;
1542 "Whether this notification indicates a service creation, or service-reconfigure.";
1544 leaf version-number {
1547 "Identifier for the versioned service";
1550 type yang:date-and-time;
1552 "Actual date and time traffic started flowing";
1554 uses org-openroadm-common-service-types:service;
1557 notification non-rpc-related-notification {
1559 "Used to notify SDN controller that :
1560 _a change occured in the data tree associated with the topology or the service Datastore of the RNC
1561 _the attenuation on a ROADM to ROADM link as exceeded the value that can be accepted with current design
1562 _the restoration of an optical OTN/WDM service";
1563 leaf notificationType {
1564 type org-openroadm-controller-customization:non-rpc-related-notification-type;
1566 "This notification indicates whether a change occured in the data tree
1567 associated with the topology or the service Datastore, an out of limit
1568 attenuation on a WDM link, or the restoration of an optical WDM/OTN service.";
1570 leaf notificationId {
1573 "Unique identifier for the notification.";
1575 leaf notification-time {
1576 type yang:date-and-time;
1578 "Time at which notification is raised";
1581 when "../notificationType = 'service-state-change' or ../notificationType = 'autonomous-optical-restoration-triggered'" {
1583 "When Service Data store is modified, or a restoration has been triggered
1584 service-name is provided";
1588 leaf impacted-resource-type {
1589 when "../notificationType = 'topology-change' or ../notificationType = 'service-state-change'" {
1591 "Used to provide additional information on the type of resource impacted by the
1592 change in the data-store, to target more effectively consecutive request";
1596 leaf impacted-resource-id {
1597 when "../notificationType = 'topology-change' or ../notificationType = 'service-state-change'" {
1599 "Identifies the resource impacted by the change in the data-store";
1603 leaf topology-layer {
1604 when "../notificationType = 'topology-change'" {
1606 "indicates the layer associated with the topological change";
1609 enum openroadm-topology {
1619 container service-list {
1621 "List of service. Can only be created, deleted, modified, etc. using special RPCs. Will only contain one service with a given name.
1622 Does not contain historical (deleted or rather those passed their end time) or draft services. If two services exist with the same
1623 name (with non-lapping start-end times for example), this table will contain the current one. If only planned services exist for
1624 the name, the one with the earliest start time will be present
1628 uses org-openroadm-common-service-types:service;
1631 container versioned-service-list {
1633 "List of service, regardless of lifecycle state. Can only be created, deleted, modified, etc. using special RPCs. Can report more than one
1634 version of a service, if supported by the implementation. May contain deleted services, multiple versions of the same service, as identified
1637 key "service-name version-number";
1638 leaf version-number {
1641 uses org-openroadm-common-service-types:service;
1644 container temp-service-list {
1646 "List of temporary services Can only be created, deleted, modified, etc. using special RPCs.";
1649 uses org-openroadm-common-service-types:service {
1650 refine "service-name" {
1653 augment "service-a-end" {
1654 list equipment-required {
1655 key "equipment-identifier";
1657 "List of required equipment, including equipment type, state and
1659 uses org-openroadm-common-service-types:equipment-info;
1662 augment "service-z-end" {
1663 list equipment-required {
1664 key "equipment-identifier";
1666 "List of required equipment, including equipment type, state and
1668 uses org-openroadm-common-service-types:equipment-info;
1672 uses org-openroadm-common-service-types:intermediate-site-container;
1673 list supporting-service-hierarchy {
1674 key "service-identifier";
1675 uses org-openroadm-common-service-types:service-hierarchy;
1677 "This lists all the supporting services and their respective hierarchy, includes the
1680 uses org-openroadm-common-service-types:existing-service-grouping {
1681 refine "existing-service-attributes/reusable-existing-resources" {
1687 container controller-behaviour-settings {
1689 "Parameters allowing to set the controller behaviour";
1690 uses org-openroadm-controller-customization:controller-parameters;
1692 container operational-mode-catalog {
1694 "Store parameters associated with openroadm specifications and specific operational modes";
1695 uses org-openroadm-operational-mode-catalog:operational-mode-catalog;