1 module o-ran-operations {
3 namespace "urn:o-ran:operations:1.0";
6 import ietf-yang-types {
10 import ietf-netconf-acm {
13 "RFC 8341: Network Configuration Access Control Model";
16 import ietf-hardware {
20 organization "O-RAN Alliance";
26 "This module defines the YANG model used for O-RAN operations.
28 Copyright 2019 the O-RAN Alliance.
30 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
31 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
32 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
33 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
34 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
35 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
36 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
37 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
38 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
39 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
40 POSSIBILITY OF SUCH DAMAGE.
42 Redistribution and use in source and binary forms, with or without
43 modification, are permitted provided that the following conditions are met:
45 * Redistributions of source code must retain the above copyright notice,
46 this list of conditions and the above disclaimer.
47 * Redistributions in binary form must reproduce the above copyright notice,
48 this list of conditions and the above disclaimer in the documentation
49 and/or other materials provided with the distribution.
50 * Neither the Members of the O-RAN Alliance nor the names of its
51 contributors may be used to endorse or promote products derived from
52 this software without specific prior written permission.";
54 revision "2019-07-03" {
58 1) added timezone-name
59 2) added ru-instance-id
60 3) backward compatible changes to introduce groupings.";
62 reference "ORAN-WG4.M.0-v01.00";
65 revision "2019-02-04" {
69 1) imported model from xRAN
70 2) changed namespace and reference from xran to o-ran";
72 reference "ORAN-WG4.M.0-v01.00";
76 typedef timezone-name {
79 "A time zone name as used by the Time Zone Database,
80 sometimes referred to as the 'Olson Database'.
82 The complete set of valid values is defined in
83 https://www.iana.org/time-zones.
85 The exact set of supported values is an
86 implementation-specific matter.";
89 "RFC 6557: Procedures for Maintaining the Time Zone Database
90 IANA Time Zone Database https://www.iana.org/time-zones ";
95 pattern '[0-9]+(\.[0-9]+){1,2}';
98 "this type definition is used to represent the version of the WG4
99 fronthaul interface.";
102 grouping operational-group {
104 // Container used for WG4 specific declarations
105 container declarations {
106 //FIXME - determine whether it is acceptable to WG4 to change this to a presence
107 //container, where the presence indicates the NETCONF server supports WG4
108 //defined functionality
110 description "WG4 Specific Declarations of supported version of standards";
112 leaf ru-instance-id {
114 must "re-match(current(), concat(/hw:hardware/hw:component/hw:mfg-name,
115 '_', /hw:hardware/hw:component/hw:model-name, '_',
116 /hw:hardware/hw:component/hw:serial-num ))";
118 "a unique instance identifier that may be used to identify a
119 particular hardware instance, e.g., when used performing hierarchical
120 management via the O-DU.";
123 leaf supported-mplane-version {
126 description "Parameter provides highest M-Plane specification version device is compliant with.";
129 leaf supported-cusplane-version {
132 description "Parameter provides highest CUS-Plane specification version device is compliant with.";
135 list supported-header-mechanism {
136 description "list provides information regarding type and version of headers.";
143 "Indicates that an O-RU supports the ecpri header format
148 "Indicates that an O-RU supports the 1914.3 header format
152 description "Transport protocol type.";
155 leaf ecpri-concatenation-support {
156 when "../protocol = 'ECPRI'";
160 "This leaf is used to indicate whether the O-RU supports the optional
161 eCPRI concatenation capability";
164 leaf protocol-version {
167 description "Header protocol version.";
172 container operational-state {
175 "Operational state for the O-RAN network element";
180 "Equipment restarted because it was powered on";
182 enum SUPERVISION-WATCHDOG {
184 "Equipment restarted because it's supervision wathcdog timer wasn't reset
185 by a NETCONF client (inferring loss of NETCONF connectivity)";
187 enum MPLANE-TRIGGERED-RESTART {
189 "Equipment restarted because of an M-plane issued rpc";
191 enum SOFTWARE-FAILURE {
193 "Equipment restarted because of software failure";
195 enum OTHER-WATCHDOG-TIMER {
197 "Equipment restarted because of some other non NETCONF watchdog timer";
201 "The restart reason for the Equipment is unknown";
204 description "the cause for the last restart of the O-RAN Network Element";
206 leaf restart-datetime {
207 type yang:date-and-time;
209 "The system date and time when the system last restarted.";
214 // Common cross-WG container used for configuring clock and call home timers
217 "System date and time properties used by all working groups.";
222 "An optional TZ database name to use for the system,
223 such as 'Europe/Stockholm'
225 Time zone name is an informative leaf and is NOT used in the
226 managed element to convert local time zone.
228 The managed element may include time zone name in measurement or
232 leaf timezone-utc-offset {
239 "The number of minutes to add to UTC time to
240 identify the time zone for this system. For example,
241 'UTC - 8:00 hours' would be represented as '-480'.";
245 leaf re-call-home-no-ssh-timer {
250 "A common timer used by the O-RAN equipment to trigger the repeated call
251 home procedure to all identified call home servers to which the O-RAN
252 equipment has not already an established SSH connection.
254 A value of 0 means that the O-RAN equipment shall disable operation
255 of the timer triggered NETCONF call home procedure.";
259 // Top level container
261 container operational-info{
263 "a collection of operational infor for the O-RU";
264 uses operational-group;
271 nacm:default-deny-all;
273 "Management plane triggered restart of the radio unit.
274 A server SHOULD send an rpc reply to the client before
275 restarting the system.";