From 72384f4cf8aa066e18cf4712a545c70ec23638f4 Mon Sep 17 00:00:00 2001 From: Ravi Pendurty Date: Tue, 3 Aug 2021 15:41:28 +0530 Subject: New devicemanager for OpenROADM version 7.1 Support for org.openroadm.device yang revision 7.1 and related yangs Issue-ID: CCSDK-3412 Signed-off-by: Ravi Pendurty Change-Id: Ie9f5b42947c725ed2cdc4f8b3c4ad7f6cdfd7b82 Signed-off-by: Ravi Pendurty --- .../src/main/yang/org-openroadm-resource.yang | 366 +++++++++++++++++++++ 1 file changed, 366 insertions(+) create mode 100644 sdnr/wt/devicemanager-onap/openroadm71/provider/src/main/yang/org-openroadm-resource.yang (limited to 'sdnr/wt/devicemanager-onap/openroadm71/provider/src/main/yang/org-openroadm-resource.yang') diff --git a/sdnr/wt/devicemanager-onap/openroadm71/provider/src/main/yang/org-openroadm-resource.yang b/sdnr/wt/devicemanager-onap/openroadm71/provider/src/main/yang/org-openroadm-resource.yang new file mode 100644 index 000000000..d8c2b4245 --- /dev/null +++ b/sdnr/wt/devicemanager-onap/openroadm71/provider/src/main/yang/org-openroadm-resource.yang @@ -0,0 +1,366 @@ +module org-openroadm-resource { + namespace "http://org/openroadm/resource"; + prefix org-openroadm-resource; + + import org-openroadm-interfaces { + prefix org-openroadm-interfaces; + revision-date 2019-11-29; + } + import org-openroadm-otn-common-types { + prefix org-openroadm-otn-common-types; + revision-date 2020-03-27; + } + import org-openroadm-common-optical-channel-types { + prefix org-openroadm-common-optical-channel-types; + revision-date 2020-05-29; + } + import org-openroadm-resource-types { + prefix org-openroadm-resource-types; + revision-date 2019-11-29; + } + + organization + "Open ROADM MSA"; + contact + "OpenROADM.org"; + description + "YANG definitions of resources. + + 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 2020-05-29 { + description + "Version 7.1.0"; + } + revision 2020-03-27 { + description + "Version 7.0.0"; + } + 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-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"; + } + + grouping eth-attributes { + leaf speed { + type uint32; + description + "Set speed of the interface, unit mbps. + This is for ETH facility. "; + } + } + + grouping mc-ttp-attributes { + description + "Media channel termination point. Models bandwidth allocation in physical media. Network media channels may be provisioned in the spectrum characterized by the frequency limits."; + leaf min-freq { + type org-openroadm-common-optical-channel-types:frequency-THz; + config true; + description + "Minimum Frequency in THz. Granularity is hardware dependent, based on pixel resolution. eg. ITU 12.5GHz frequency slots. Range covers C+L"; + } + leaf max-freq { + type org-openroadm-common-optical-channel-types:frequency-THz; + config true; + description + "Maximum Frequency in THz. Granularity is hardware dependent, based on pixel resolution. eg. ITU 12.5GHz frequency slots. Range covers C+L"; + } + } + + grouping nmc-ctp-attributes { + description + "Network Media Channel attributes"; + leaf frequency { + type org-openroadm-common-optical-channel-types:frequency-THz; + config true; + description + "Center Frequency in THz. This is not constrained by mc-capabilities. It must fit (when combined with width) inside any containing media channel."; + } + leaf width { + type org-openroadm-common-optical-channel-types:frequency-GHz; + config true; + description + "Frequency width in GHz. This is not constrained by mc-capabilities. It must fit (when combined with frequency) inside any containing media channel."; + } + } + + grouping och-attributes { + description + "Optical Channel attributes"; + leaf rate { + type identityref { + base org-openroadm-common-optical-channel-types:och-rate-identity; + } + description + "rate"; + } + leaf frequency { + type org-openroadm-common-optical-channel-types:frequency-THz; + description + "Center Frequency in THz."; + } + leaf width { + type org-openroadm-common-optical-channel-types:frequency-GHz; + config false; + description + "Frequency width in GHz."; + } + leaf modulation-format { + type org-openroadm-common-optical-channel-types:modulation-format; + description + "Modulation format"; + } + } + + grouping odu-attributes { + description + "ODU attributes"; + leaf rate { + type identityref { + base org-openroadm-otn-common-types:odu-rate-identity; + } + description + "rate identity of the ODU. 'identityref' is used + to allow to extend for future higher rates"; + } + container parent-odu-allocation { + description + "parent odu allocation"; + leaf trib-port-number { + type uint16 { + range "1 .. 80"; + } + description + "Assigned tributary port number in parent OPU"; + } + leaf-list trib-slots { + type uint16 { + range "1 .. 80"; + } + min-elements 1; + max-elements 80; + description + "Assigned trib slots occupied in parent OPU MSI"; + } + } + } + + grouping otu-attributes { + description + "OTU attributes"; + leaf rate { + type identityref { + base org-openroadm-otn-common-types:otu-rate-identity; + } + description + "rate identity of the OTU. 'identityref' is used + to allow to extend for future higher rates"; + } + } + + grouping resource-reporting { + leaf type { + type identityref { + base org-openroadm-interfaces:interface-type; + } + mandatory true; + description + "The type of the interface."; + } + container ethernet { + when "../type = 'ethernetCsmacd'"; + description + "Ethernet Interfaces"; + uses eth-attributes; + } + container mc-ttp { + when "../type = 'mediaChannelTrailTerminationPoint'"; + description + "Media Channel Trail Termination Point (MC-TTP)"; + uses mc-ttp-attributes; + } + container nmc-ctp { + when "../type = 'networkMediaChannelConnectionTerminationPoint'"; + description + "Network Media Channel Connection Termination Point (NMC-CTP)"; + uses nmc-ctp-attributes; + } + container och { + when "../type = 'opticalChannel'"; + description + "Optical Channel (OCh): + Models the optical channel interfaces for an Optical White Box."; + uses och-attributes; + } + container odu { + when "../type = 'otnOdu'"; + presence "Attribute Nodes for Optical Data Unit (ODU)"; + description + "Optical Channel Data Unit (ODU)"; + uses odu-attributes; + } + container otu { + when "../type = 'otnOtu'"; + description + "Optical Channel Transport Unit (OTU)"; + uses otu-attributes; + } + } + + grouping resource { + description + "This resource identifier is intended to provide a generic identifier + for any resource that can be used without specific knowledge of + the resource."; + container device { + description + "Device of the resource, used only when the system using this + model report on more than one device. "; + uses org-openroadm-resource-types:device-id; + } + container resource { + choice resource { + case circuit-pack { + uses org-openroadm-resource-types:circuit-pack-name; + } + case port { + container port { + uses org-openroadm-resource-types:port-name; + } + } + case connection { + uses org-openroadm-resource-types:connection-name { + refine "connection-name" { + mandatory true; + } + } + } + case physical-link { + uses org-openroadm-resource-types:physical-link-name; + } + case internal-link { + uses org-openroadm-resource-types:internal-link-name; + } + case shelf { + uses org-openroadm-resource-types:shelf-name; + } + case srg { + uses org-openroadm-resource-types:srg-number { + refine "srg-number" { + mandatory true; + } + } + } + case degree { + uses org-openroadm-resource-types:degree-number { + refine "degree-number" { + mandatory true; + } + } + } + case service { + uses org-openroadm-resource-types:service-name; + } + case interface { + uses org-openroadm-resource-types:interface-name; + } + case odu-sncp-pg { + uses org-openroadm-resource-types:odu-sncp-pg-name; + } + case other { + uses org-openroadm-resource-types:other-resource-id; + } + case device { + uses org-openroadm-resource-types:device-id { + refine "node-id" { + mandatory true; + } + } + } + case line-amplifier { + uses org-openroadm-resource-types:amp-number; + } + case xponder { + uses org-openroadm-resource-types:xpdr-number; + } + case versioned-service { + uses org-openroadm-resource-types:versioned-service-name; + } + case temp-service { + uses org-openroadm-resource-types:temp-service-name; + } + } + } + container resourceType { + uses org-openroadm-resource-types:resource-type; + } + } +} -- cgit 1.2.3-korg