From: Martin Skorupski Date: Wed, 25 Sep 2024 12:30:30 +0000 (+0200) Subject: Define the schema X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F38%2F13438%2F1;p=oam.git Define the schema - the model Issue-ID: OAM-415 Change-Id: Icc94fddad9320bd450ca223278b806e00e6a25f3 Signed-off-by: Martin Skorupski --- diff --git a/code/network-generator/network_generation/model/yang/o-ran-sc-network.yang b/code/network-generator/network_generation/model/yang/o-ran-sc-network.yang new file mode 100644 index 0000000..18650af --- /dev/null +++ b/code/network-generator/network_generation/model/yang/o-ran-sc-network.yang @@ -0,0 +1,265 @@ +module o-ran-sc-network { + yang-version 1.1; + namespace "urn:o-ran-sc:yang:o-ran-sc-network"; + prefix onw; + + import ietf-yang-types { + prefix yang; + reference + "RFC 6991: Common YANG Data Types"; + } + import ietf-interfaces { + prefix if; + reference + "RFC 8343: A YANG Data Model for Interface Management"; + } + import ietf-network { + prefix nw; + reference + "RFC 8345: A YANG Data Model for Network Topologies"; + } + import ietf-network-topology { + prefix nt; + reference + "RFC 8345: A YANG Data Model for Network Topologies"; + } + import o-ran-common-identity-refs { + prefix o-ran-iref; + reference + "O-RAN Information Model and Data Models"; + } + + organization + "O-RAN Software Community"; + contact + "www.o-ran-sc.org"; + description + "This module adds a type and an uuid parameter to the node object + class. + + Copyright 2024 the O-RAN Software Community. + + Licensed under the Apache License, Version 2.0 (the 'License'); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an 'AS IS' BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License."; + + revision 2024-09-13 { + description + "Initial version"; + reference + "https://lf-o-ran-sc.atlassian.net/wiki/spaces/OAM/pages/29491658/Hybrid+and+Hierarchical+OAM+Architecture"; + } + + identity o-ran-sc-network-base { + base o-ran-iref:o-ran-function-base; + description + "Base identity from which extend the o-ran-function-base + The identities are used to define the value of a topological + type of the abstract topological node from ietf-network. + + This identity is abstract and MUST NOT be used as a value."; + } + + identity smo { + base o-ran-sc-network-base; + description + "An identity corresponding to a Service, Maintenance and + Orchestration Framework (SMO) topology node."; + } + + identity near-rt-ric { + base o-ran-sc-network-base; + description + "An identity corresponding to a near real-time radio access + network intelligent controller (NearRtRic) topology node."; + } + + identity o-cloud { + base o-ran-sc-network-base; + description + "An identity corresponding to a near real-time O-RAN cloud + resource pool instance (O-Cloud) topology node."; + } + + identity tower { + base o-ran-sc-network-base; + description + "An identity corresponding to a telecommunication network tower + offering mount points for network elements."; + } + + identity o-ran-sc-interface-type { + base if:interface-type; + description + "This identity is used as a base for all interface types + defined in the context of O-RAN-SC. + This identity is abstract and MUST NOT be used as a value."; + } + + identity phy { + base o-ran-sc-interface-type; + description + "An identity corresponding to an physical interface"; + } + + identity a1 { + base o-ran-sc-interface-type; + description + "An identity corresponding to an O-RAN A1 interface"; + } + + identity e2 { + base o-ran-sc-interface-type; + description + "An identity corresponding to an O-RAN A1 interface"; + } + + identity o1 { + base o-ran-sc-interface-type; + description + "An identity corresponding to an O-RAN O1 interface"; + } + + identity o2 { + base o-ran-sc-interface-type; + description + "An identity corresponding to an O-RAN O2 interface"; + } + + identity ofhm { + base o-ran-sc-interface-type; + description + "An identity corresponding to an O-RAN WG4 OpenFronthaul Management Plane + interface"; + } + + identity ofhc { + base o-ran-sc-interface-type; + description + "An identity corresponding to an O-RAN WG4 OpenFronthaul Control Plane + interface"; + } + + identity ofhu { + base o-ran-sc-interface-type; + description + "An identity corresponding to an O-RAN WG4 OpenFronthaul User Plane + interface"; + } + + identity ofhs { + base o-ran-sc-interface-type; + description + "An identity corresponding to an O-RAN WG4 OpenFronthaul Synchronization + Plane interface"; + } + + identity cell { + base o-ran-sc-interface-type; + description + "An identity corresponding to a 3GPP NRCellDu."; + reference + "3GPP TS 28.541 5G Network Resource Model (NRM)"; + } + + typedef o-ran-sc-node-type { + type identityref { + base o-ran-iref:o-ran-function-base; + } + description + "Type reference to a node type identity."; + } + + + typedef o-ran-sc-interface-type { + type identityref { + base o-ran-sc-interface-type; + } + description + "Type reference to a termination point type identity."; + } + + grouping o-ran-sc-network { + description + "An abstract object call hosting O-RAN-SC specific extension + to an ietf-network network object class."; + leaf name { + type string { + length "1..255"; + } + description + "A human readable name for the network of the + O-RAN-SC OAM topology."; + } + } + + grouping o-ran-sc-network-node { + description + "An abstract object call hosting O-RAN-SC specific extension + to an ietf-network node object class."; + leaf uuid { + type yang:uuid; + description + "A Universally Unique IDentifier identifying a topological + ietf-network node type in the context of an + O-RAN-SC OAM topology."; + reference + "RFC 4122 + A Universally Unique IDentifier (UUID) URN Namespace"; + } + leaf type { + type o-ran-sc-node-type; + description + "A parameter which defines the topological ietf-network + node type in the context of an O-RAN-SC OAM topology."; + } + } + + grouping o-ran-sc-network-tp { + description + "An abstract object call hosting O-RAN-SC specific extension + to an ietf-network node object class."; + leaf uuid { + type yang:uuid; + description + "A Universally Unique IDentifier identifying a topological + ietf-network node type in the context of an + O-RAN-SC OAM topology."; + reference + "RFC 4122 + A Universally Unique IDentifier (UUID) URN Namespace"; + } + leaf type { + type o-ran-sc-interface-type; + description + "A parameter which defines the topological ietf-network + termination point type in the context of an O-RAN-SC OAM topology."; + } + } + + augment "/nw:networks/nw:network" { + description + "Augments ietf-network node with a name parameter."; + uses o-ran-sc-network; + } + + augment "/nw:networks/nw:network/nw:node" { + description + "Augments ietf-network node with type and uuid parameters."; + uses o-ran-sc-network-node; + } + + augment "/nw:networks/nw:network/nw:node/nt:termination-point" { + description + "Augments ietf-network node with type and uuid parameters."; + uses o-ran-sc-network-tp; + } +}