diff options
author | shabs2020 <shabnam.sultana@highstreet-technologies.com> | 2020-07-30 12:09:39 +0200 |
---|---|---|
committer | Michael Dürre <michael.duerre@highstreet-technologies.com> | 2020-07-30 15:59:59 +0200 |
commit | 40121bf691d90f3eef45ab467df74bbd25b93188 (patch) | |
tree | 9180fc8a201114f497b4e8f3a783c7e2f89291ef /sdnr/wt/devicemanager-openroadm/provider/src/main/yang/org-openroadm-pm.yang | |
parent | 7f886674d347386800b8ffaee9b1d14ad6ef324e (diff) |
Add sdnr wt devicemanager-openroadm
Add complete sdnr wireless transport device manager for openroadm devices
Issue-ID: CCSDK-2578
Signed-off-by: shabs2020 <shabnam.sultana@highstreet-technologies.com>
Change-Id: Ib09364c44b2a815993fb1182210dad48b681e61f
Signed-off-by: Michael Dürre <michael.duerre@highstreet-technologies.com>
Diffstat (limited to 'sdnr/wt/devicemanager-openroadm/provider/src/main/yang/org-openroadm-pm.yang')
-rw-r--r-- | sdnr/wt/devicemanager-openroadm/provider/src/main/yang/org-openroadm-pm.yang | 350 |
1 files changed, 350 insertions, 0 deletions
diff --git a/sdnr/wt/devicemanager-openroadm/provider/src/main/yang/org-openroadm-pm.yang b/sdnr/wt/devicemanager-openroadm/provider/src/main/yang/org-openroadm-pm.yang new file mode 100644 index 000000000..2cebbb477 --- /dev/null +++ b/sdnr/wt/devicemanager-openroadm/provider/src/main/yang/org-openroadm-pm.yang @@ -0,0 +1,350 @@ +module org-openroadm-pm { + namespace "http://org/openroadm/pm"; + prefix org-openroadm-pm; + + import ietf-yang-types { + prefix yang; + revision-date 2013-07-15; + } + import org-openroadm-common-types { + prefix org-openroadm-common-types; + revision-date 2019-11-29; + } + import org-openroadm-common-alarm-pm-types { + prefix org-openroadm-common-alarm-pm-types; + revision-date 2019-11-29; + } + import org-openroadm-resource { + prefix org-openroadm-resource; + revision-date 2019-11-29; + } + import org-openroadm-resource-types { + prefix org-openroadm-resource-types; + revision-date 2019-11-29; + } + import org-openroadm-pm-types { + prefix org-openroadm-pm-types; + revision-date 2019-11-29; + } + + organization + "Open ROADM MSA"; + contact + "OpenROADM.org"; + description + "YANG definitions of performance management. + + Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, + All other rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. + * Neither the Members of the Open ROADM MSA Agreement nor the names of its + contributors may be used to endorse or promote products derived from this software + without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS'' + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, + OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE"; + + revision 2019-11-29 { + description + "Version 6.1.0"; + } + revision 2019-09-27 { + description + "Version 6.0.0"; + } + revision 2019-05-31 { + description + "Version 5.1.0"; + } + revision 2019-03-29 { + description + "Version 5.0.0"; + } + revision 2018-11-30 { + description + "Version 4.1.0"; + } + revision 2018-09-28 { + description + "Version 4.0.0"; + } + revision 2018-05-30 { + description + "Version 3.1.0"; + } + revision 2018-03-30 { + description + "Version 3.0.0"; + } + revision 2017-12-15 { + description + "Version 2.2"; + } + revision 2017-09-29 { + description + "Version 2.1"; + } + revision 2017-07-28 { + description + "Version 2.0.1 - added revision-date to imports"; + } + revision 2017-06-26 { + description + "Version 2.0"; + } + revision 2016-10-14 { + description + "Version 1.2"; + } + + feature historical-pm-retrieval { + description + "The device supports the ability to directly retrieve the historical + PM data from the YANG model."; + } + + grouping current-pm-group { + description + "PM Data with current values - both realtime (granularity=notApplicable) + and binned (granularity=15 minute, 24h))"; + leaf pm-resource-instance { + type instance-identifier; + config false; + mandatory true; + description + "Retrieves all PM associate with the resource instance"; + } + leaf pm-resource-type { + type org-openroadm-resource-types:resource-type-enum; + config false; + mandatory true; + description + "The supported pm-resource-type associated with the given resource instance."; + } + leaf pm-resource-type-extension { + type string; + config false; + description + "The resource type extension when the type is not defined in the resource-type-enum."; + } + leaf start-time { + type yang:date-and-time; + config false; + mandatory true; + description + "Represents the start time of the bin (15m, 24h granularity) or the start of data collection (notApplicable/untimed granularity)."; + } + leaf retrieval-time { + type yang:date-and-time; + config false; + mandatory true; + description + "Represents the time when the data is being read, not the bin start or end time."; + } + list current-pm { + key "type extension location direction"; + config false; + uses current-pm-val-group; + } + } + + grouping current-pm-val-group { + uses org-openroadm-pm-types:pm-names; + leaf location { + type org-openroadm-common-alarm-pm-types:location; + } + leaf direction { + type org-openroadm-common-alarm-pm-types:direction; + } + list measurement { + key "granularity"; + leaf granularity { + type org-openroadm-pm-types:pm-granularity; + } + uses org-openroadm-pm-types:pm-measurement; + } + } + + grouping historical-pm-group { + description + "PM Data with historical values - binned (granularity=15 minute, 24h))"; + leaf pm-resource-instance { + type instance-identifier; + config false; + mandatory true; + description + "Retrieves all PM associate with the resource instance"; + } + leaf pm-resource-type { + type org-openroadm-resource-types:resource-type-enum; + config false; + mandatory true; + } + leaf pm-resource-type-extension { + type string; + config false; + description + "The resource type extension when the type is not defined in the resource-type-enum."; + } + list historical-pm { + key "type extension location direction"; + uses historical-pm-val-group; + } + } + + grouping historical-pm-val-group { + description + "PM Data with historical values"; + uses org-openroadm-pm-types:pm-names; + leaf location { + type org-openroadm-common-alarm-pm-types:location; + } + leaf direction { + type org-openroadm-common-alarm-pm-types:direction; + } + list measurement { + key "granularity bin-number"; + leaf granularity { + type org-openroadm-pm-types:pm-granularity; + mandatory true; + } + leaf bin-number { + type uint16 { + range "1..max"; + } + config false; + mandatory true; + } + uses org-openroadm-pm-types:pm-measurement; + leaf completion-time { + type yang:date-and-time; + config false; + mandatory true; + description + "The time at the end of the period; For example if bin starts at + 01:15:00 and ends at 01:29:59, the completion-time is 01:29:59"; + } + } + } + + grouping collect-history-pm-group { + leaf pm-filename { + type string { + length "10..255"; + } + mandatory true; + description + "The file name to write the historical PM data. + The controller should be able to use this name to retrieve the file via ftp/sftp. + The file name should be unique for each RPC request since a new RPC request + could be initiated while the file transfer of the previous file is still in progress. + + The file content should be written in xml format based on the historical-pm-list + yang definition and the file should be gzip compressed."; + } + uses org-openroadm-common-types:rpc-response-status; + } + + rpc clear-pm { + description + "Command to initialize PM data"; + input { + uses org-openroadm-resource:resource; + leaf pm-type { + type enumeration { + enum current { + value 1; + } + enum all { + value 2; + } + } + default "current"; + } + leaf granularity { + type org-openroadm-pm-types:pm-granularity; + default "15min"; + } + } + output { + uses org-openroadm-common-types:rpc-response-status; + } + } + rpc collect-historical-pm-file { + description + "Command to query historical PM data. + The device should be able to process an rpc request for 15min data + and a separate request for 24hour data in parallel."; + input { + leaf from-bin-number { + type uint16 { + range "1..max"; + } + default "1"; + description + "The start bin-number of the range"; + } + leaf to-bin-number { + type uint16 { + range "1..max"; + } + default "1"; + description + "The end bin-number of the range"; + } + leaf granularity { + type org-openroadm-pm-types:pm-granularity; + default "15min"; + description + "The granularity of the retrieve, default to 15 minutes PM"; + } + } + output { + uses collect-history-pm-group; + } + } + notification historical-pm-collect-result { + description + "This Notification is sent when the pm collection is successful or failed."; + uses collect-history-pm-group; + } + container current-pm-list { + config false; + description + "List of current PMs."; + list current-pm-entry { + key "pm-resource-type pm-resource-type-extension pm-resource-instance"; + description + "List of current PM entries"; + uses current-pm-group; + } + } + container historical-pm-list { + if-feature "historical-pm-retrieval"; + config false; + description + "List of historical PM"; + list historical-pm-entry { + key "pm-resource-type pm-resource-type-extension pm-resource-instance"; + description + "List of historical PM entries"; + uses historical-pm-group; + } + } +} |