1 module o-ran-sc-du-hello-world {
3 namespace "urn:o-ran-sc:yang:o-ran-sc-du-hello-world";
7 "O-RAN Software Community";
11 "This module contains the O-RAN Software Community Distributed Unit
12 API description. This API data model describes Cell and Radio Resource
13 Management (RRM) parameters defined by 3GPP in the context
14 of the O-RAN Software Community E-Release and its
15 'Slice Resource Quota Provisioning and Assurance' use case.
17 The module is inspired by 3GPP TS 28.541 5G Network Resource Model (NRM).
18 The intent is to reduce the implementation efforts. It is not intended
19 to fragment the industry.
21 Due the reduction of the model in terms of scope and completeness this
22 module cannot and must not be used in production environments.
23 The main purpose is to show case the implemented functions by
24 O-RAN-SC O-DU project. The module name 'hello-world' highlights
27 Copyright 2021 the O-RAN Software Community.
29 Licensed under the Apache License, Version 2.0 (the 'License');
30 you may not use this file except in compliance with the License.
31 You may obtain a copy of the License at
33 http://www.apache.org/licenses/LICENSE-2.0
35 Unless required by applicable law or agreed to in writing, software
36 distributed under the License is distributed on an 'AS IS' BASIS,
37 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
38 See the License for the specific language governing permissions and
39 limitations under the License.";
43 "Updates based on the RSAC use case descriptions of O-RAN-SC E-Release.";
45 "https://jira.o-ran-sc.org/browse/OAM-229
46 https://wiki.o-ran-sc.org/download/attachments/35881433/RSY-2021.08.04-OSC-Slice_Discovery%20and%20Registration_v01.pptx?api=v2";
50 "Updates based on the RSAC call 2021-04-08.";
52 "https://wiki.o-ran-sc.org/pages/viewpage.action?pageId=20878423";
58 "https://wiki.o-ran-sc.org/pages/viewpage.action?pageId=20878423";
63 typedef connection-status {
68 "The connection to the remote network function is not established.";
73 "The system is about to connect to the remote network function.";
78 "The system is connected to the remote network function.";
83 "The system is about to disconnect from the remote network
86 enum unable-to-connect {
89 "This value is reported, when the system tried several times
90 to connect and finally gave up.";
94 "A non extensible enumeration representing a connection status.";
97 typedef o-ru-reference {
99 path "/network-function/du-to-ru-connection/name";
102 "A reference to a remote network function representing an O-RU.";
105 // Abstract object classes - groupings
107 grouping connection-grp {
109 "An abstract object class representing a connection or link to an
110 external component.";
114 "It is proposed to use the network unique identifier of the remote
116 Note: After discussion the string was not restricted by a 'length'
117 statement of a 'pattern' statement. Please avoid leading and ending
118 spaces and consecutive spaces and any character outside of UTF-8-";
120 leaf operational-state {
124 "The resource is not functional.";
128 "The resource is functional.";
133 "Operational state of a connection. Indicates
134 whether the resource is functional (ENABLED) or not (DISABLED).";
136 "3GPP TS 28.625 and ITU-T X.731";
138 leaf administrative-state {
142 "LOCKED refers to a situation which is NOT considered as
143 ‘normal operation'. Therefore, the O-DU will shut down the
144 connection to the related O-RU, when the value is set to LOCKED.";
148 "UNLOCKED refers to a situation which is considered as
149 'normal operation'. Therefore, the O-DU will establish the
150 connection to the related O-RU, when the value is set to UNLOCKED.";
154 "This value should not be used. At least the system
155 behavior is not defined.";
160 "Administrative state of a connection.";
162 "3GPP TS 28.625 and ITU-T X.731";
168 "Indicates whether the O-RU is not in use.";
172 "Indicates whether the O-RU is in use but not
173 configured to carry traffic.";
177 "Indicates whether the O-RU is in use and
178 configured to carry traffic.";
183 "Cell state of the O-RU instance.";
188 type connection-status;
189 default "disconnected";
192 "The value represents the connection status. ";
196 grouping network-function-grp {
198 "An abstract object class grouping the O-RAN-SC-DU parameters with
199 focus on RSAC D-release Closed-Loop use case.";
200 list du-to-ru-connection {
203 "A list of connection objects to O-RAN-SC radio units.";
208 grouping rpc-output {
210 "A generic RPC output syntax.";
211 leaf response-status {
216 "The system has successfully performed that request.";
221 "The system has received and accepted the request. It continues
222 processing the request. The final status of the processing
223 procedures are reported by a notification service. This response
224 status is typically for long running transactions.";
226 enum internal-server-error {
229 "The request cannot be performed.";
234 "The response status related to the corresponding request.
235 Its values are inspired by HTTP response status codes.";
237 "RFC 7231 – Response Status Codes - Section 6.3.4";
242 "A human readable text complementary to the response status. ";
248 container network-function {
250 "The root container for the configuration and operational data.
251 The object implements the 'network-function-grp'";
252 uses network-function-grp;
255 // Remote procedure calls - actions on root level
260 "An action to establish the connection to a remote network function.";
262 leaf remote-network-function {
266 "An reference to a remote network function - an O-RU - to which
267 a connection should be established.";
278 "An action to destroy the connection to a remote network function.";
280 leaf remote-network-function {
284 "An reference to a remote network function - an O-RU - to which
285 the connection should be destroyed.";