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 import o-ran-wg4-features {
24 organization "O-RAN Alliance";
30 "This module defines the YANG model used for O-RAN operations.
32 Copyright 2019 the O-RAN Alliance.
34 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
35 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
36 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
37 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
38 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
39 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
40 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
41 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
42 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
43 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
44 POSSIBILITY OF SUCH DAMAGE.
46 Redistribution and use in source and binary forms, with or without
47 modification, are permitted provided that the following conditions are met:
49 * Redistributions of source code must retain the above copyright notice,
50 this list of conditions and the above disclaimer.
51 * Redistributions in binary form must reproduce the above copyright notice,
52 this list of conditions and the above disclaimer in the documentation
53 and/or other materials provided with the distribution.
54 * Neither the Members of the O-RAN Alliance nor the names of its
55 contributors may be used to endorse or promote products derived from
56 this software without specific prior written permission.";
58 revision "2020-12-10" {
62 1) added pnfRegistration and VES header version fields";
64 reference "ORAN-WG4.M.0-v05.00";
67 revision "2019-07-03" {
71 1) added timezone-name
72 2) added ru-instance-id
73 3) backward compatible changes to introduce groupings.";
75 reference "ORAN-WG4.M.0-v01.00";
78 revision "2019-02-04" {
82 1) imported model from xRAN
83 2) changed namespace and reference from xran to o-ran";
85 reference "ORAN-WG4.M.0-v01.00";
89 typedef timezone-name {
92 "A time zone name as used by the Time Zone Database,
93 sometimes referred to as the 'Olson Database'.
95 The complete set of valid values is defined in
96 https://www.iana.org/time-zones.
98 The exact set of supported values is an
99 implementation-specific matter.";
102 "RFC 6557: Procedures for Maintaining the Time Zone Database
103 IANA Time Zone Database https://www.iana.org/time-zones ";
108 pattern '[0-9]+(\.[0-9]+){1,2}';
111 "this type definition is used to represent the version of the WG4
112 fronthaul interface.";
115 grouping operational-group {
117 // Container used for WG4 specific declarations
118 container declarations {
119 //FIXME - determine whether it is acceptable to WG4 to change this to a presence
120 //container, where the presence indicates the NETCONF server supports WG4
121 //defined functionality
123 description "WG4 Specific Declarations of supported version of standards";
125 leaf ru-instance-id {
127 must "re-match(current(), concat(/hw:hardware/hw:component/hw:mfg-name,
128 '_', /hw:hardware/hw:component/hw:model-name, '_',
129 /hw:hardware/hw:component/hw:serial-num ))";
131 "a unique instance identifier that may be used to identify a
132 particular hardware instance, e.g., when used performing hierarchical
133 management via the O-DU.";
136 leaf supported-mplane-version {
139 description "Parameter provides highest M-Plane specification version device is compliant with.";
142 leaf supported-cusplane-version {
145 description "Parameter provides highest CUS-Plane specification version device is compliant with.";
148 list supported-header-mechanism {
149 description "list provides information regarding type and version of headers.";
156 "Indicates that an O-RU supports the ecpri header format
161 "Indicates that an O-RU supports the 1914.3 header format
165 description "Transport protocol type.";
168 leaf ecpri-concatenation-support {
169 when "../protocol = 'ECPRI'";
173 "This leaf is used to indicate whether the O-RU supports the optional
174 eCPRI concatenation capability";
177 leaf protocol-version {
180 description "Header protocol version.";
183 leaf supported-common-event-header-version {
184 if-feature "or-feat:NON-PERSISTENT-MPLANE";
186 description "Parameter provides highest commonEventheader version device is compliant with.";
188 leaf supported-ves-event-listener-version {
189 if-feature "or-feat:NON-PERSISTENT-MPLANE";
191 description "Parameter provides highest vesEventListener version device is compliant with.";
193 leaf supported-pnf-registration-fields-version {
194 if-feature "or-feat:NON-PERSISTENT-MPLANE";
196 description "Parameter provides highest pnfRegistrationFields version device is compliant with.";
200 container operational-state {
203 "Operational state for the O-RAN network element";
208 "Equipment restarted because it was powered on";
210 enum SUPERVISION-WATCHDOG {
212 "Equipment restarted because it's supervision wathcdog timer wasn't reset
213 by a NETCONF client (inferring loss of NETCONF connectivity)";
215 enum MPLANE-TRIGGERED-RESTART {
217 "Equipment restarted because of an M-plane issued rpc";
219 enum SOFTWARE-FAILURE {
221 "Equipment restarted because of software failure";
223 enum OTHER-WATCHDOG-TIMER {
225 "Equipment restarted because of some other non NETCONF watchdog timer";
229 "The restart reason for the Equipment is unknown";
232 description "the cause for the last restart of the O-RAN Network Element";
234 leaf restart-datetime {
235 type yang:date-and-time;
237 "The system date and time when the system last restarted.";
242 // Common cross-WG container used for configuring clock and call home timers
245 "System date and time properties used by all working groups.";
250 "An optional TZ database name to use for the system,
251 such as 'Europe/Stockholm'
253 Time zone name is an informative leaf and is NOT used in the
254 managed element to convert local time zone.
256 The managed element may include time zone name in measurement or
260 leaf timezone-utc-offset {
267 "The number of minutes to add to UTC time to
268 identify the time zone for this system. For example,
269 'UTC - 8:00 hours' would be represented as '-480'.";
273 leaf re-call-home-no-ssh-timer {
278 "A common timer used by the O-RAN equipment to trigger the repeated call
279 home procedure to all identified call home servers to which the O-RAN
280 equipment has not already an established SSH connection.
282 A value of 0 means that the O-RAN equipment shall disable operation
283 of the timer triggered NETCONF call home procedure.";
287 // Top level container
289 container operational-info{
291 "a collection of operational infor for the O-RU";
292 uses operational-group;
299 nacm:default-deny-all;
301 "Management plane triggered restart of the radio unit.
302 A server SHOULD send an rpc reply to the client before
303 restarting the system.";