1 module org-openroadm-pm {
2 namespace "http://org/openroadm/pm";
3 prefix org-openroadm-pm;
5 import ietf-yang-types {
7 revision-date 2013-07-15;
9 import org-openroadm-common-types {
10 prefix org-openroadm-common-types;
11 revision-date 2017-12-15;
13 import org-openroadm-resource {
14 prefix org-openroadm-resource;
15 revision-date 2017-12-15;
17 import org-openroadm-resource-types {
18 prefix org-openroadm-resource-types;
19 revision-date 2017-12-15;
21 import org-openroadm-pm-types {
22 prefix org-openroadm-pm-types;
23 revision-date 2017-12-15;
31 "YANG definitions of performance management.
33 Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
34 AT&T Intellectual Property. All other rights reserved.
36 Redistribution and use in source and binary forms, with or without modification,
37 are permitted provided that the following conditions are met:
39 * Redistributions of source code must retain the above copyright notice, this
40 list of conditions and the following disclaimer.
41 * Redistributions in binary form must reproduce the above copyright notice,
42 this list of conditions and the following disclaimer in the documentation and/or
43 other materials provided with the distribution.
44 * Neither the Members of the Open ROADM MSA Agreement nor the names of its
45 contributors may be used to endorse or promote products derived from this software
46 without specific prior written permission.
48 THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
49 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
50 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
51 IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
52 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
53 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
54 OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
55 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
56 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
57 POSSIBILITY OF SUCH DAMAGE";
69 "Version 2.0.1 - added revision-date to imports";
80 grouping current-pm-group {
82 "PM Data with current values - both realtime (granularity=notApplicable)
83 and binned (granularity=15 minute, 24h))";
84 leaf pm-resource-instance {
85 type instance-identifier;
89 "Retrieves all PM associate with the resource instance";
91 leaf pm-resource-type {
92 type org-openroadm-resource-types:resource-type-enum;
96 "The supported pm-resource-type associated with the given resource instance.";
98 leaf pm-resource-type-extension {
102 "The resource type extension when the type is not defined in the resource-type-enum.";
104 leaf retrieval-time {
105 type yang:date-and-time;
109 "Represents the time when the data is being read, not the bin start or end time.";
112 key "type extension location direction";
114 uses current-pm-val-group;
118 grouping current-pm-val-group {
119 uses org-openroadm-pm-types:pm-names;
121 type org-openroadm-common-types:location;
124 type org-openroadm-common-types:direction;
129 type org-openroadm-pm-types:pm-granularity;
131 uses org-openroadm-pm-types:pm-measurement;
135 grouping historical-pm-group {
137 "PM Data with historical values - binned (granularity=15 minute, 24h))";
138 leaf pm-resource-instance {
139 type instance-identifier;
143 "Retrieves all PM associate with the resource instance";
145 leaf pm-resource-type {
146 type org-openroadm-resource-types:resource-type-enum;
150 leaf pm-resource-type-extension {
154 "The resource type extension when the type is not defined in the resource-type-enum.";
157 key "type extension location direction";
158 uses historical-pm-val-group;
162 grouping historical-pm-val-group {
164 "PM Data with historical values";
165 uses org-openroadm-pm-types:pm-names;
167 type org-openroadm-common-types:location;
170 type org-openroadm-common-types:direction;
173 key "granularity bin-number";
175 type org-openroadm-pm-types:pm-granularity;
185 uses org-openroadm-pm-types:pm-measurement;
186 leaf completion-time {
187 type yang:date-and-time;
191 "The time at the end of the period; For example if bin starts at
192 01:15:00 and ends at 01:29:59, the completion-time is 01:29:59";
197 grouping collect-history-pm-group {
203 "The file name to write the historical PM data.
204 The controller should be able to use this name to retrieve the file via ftp/sftp.
205 The file name should be unique for each RPC request since a new RPC request
206 could be initiated while the file transfer of the previous file is still in progress.
208 The file content should be written in xml format based on the historical-pm-list
209 yang definition and the file should be gzip compressed.";
211 uses org-openroadm-common-types:rpc-response-status;
216 "Command to initialize PM data";
218 uses org-openroadm-resource:resource;
231 type org-openroadm-pm-types:pm-granularity;
236 uses org-openroadm-common-types:rpc-response-status;
239 rpc collect-historical-pm-file {
241 "Command to query historical PM data.
242 The device should be able to process an rpc request for 15min data
243 and a separate request for 24hour data in parallel.";
245 leaf from-bin-number {
251 "The start bin-number of the range";
259 "The end bin-number of the range";
262 type org-openroadm-pm-types:pm-granularity;
265 "The granularity of the retrieve, default to 15 minitues PM";
269 uses collect-history-pm-group;
272 notification historical-pm-collect-result {
274 "This Notification is sent when the pm collection is succesful or failed.";
275 uses collect-history-pm-group;
277 container current-pm-list {
280 "List of current PMs.";
281 list current-pm-entry {
282 key "pm-resource-type pm-resource-type-extension pm-resource-instance";
283 uses current-pm-group;
286 container historical-pm-list {
289 "List of historical PM";
290 list historical-pm-entry {
291 key "pm-resource-type pm-resource-type-extension pm-resource-instance";
292 uses historical-pm-group;