1 module o-ran-file-management {
3 namespace "urn:o-ran:file-management:1.0";
4 prefix "o-ran-file-mgmt";
6 import ietf-crypto-types {
8 revision-date "2019-04-29";
12 organization "O-RAN Alliance";
18 "This module defines the configuration and operations for handling upload.
20 Copyright 2021 the O-RAN Alliance.
22 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
23 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
26 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
27 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
28 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
29 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
30 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
31 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32 POSSIBILITY OF SUCH DAMAGE.
34 Redistribution and use in source and binary forms, with or without
35 modification, are permitted provided that the following conditions are met:
37 * Redistributions of source code must retain the above copyright notice,
38 this list of conditions and the above disclaimer.
39 * Redistributions in binary form must reproduce the above copyright notice,
40 this list of conditions and the above disclaimer in the documentation
41 and/or other materials provided with the distribution.
42 * Neither the Members of the O-RAN Alliance nor the names of its
43 contributors may be used to endorse or promote products derived from
44 this software without specific prior written permission.";
46 revision "2022-08-15" {
50 1) added password for FTPES
51 2) clarified path/folder description ";
53 reference "ORAN-WG4.M.0-v10.00";
56 revision "2021-12-01" {
60 1) typographical corrections";
62 reference "ORAN-WG4.M.0-v07.00";
65 revision "2021-07-26" {
69 1) added FTPES support";
71 reference "ORAN-WG4.M.0-v07.00";
74 revision "2019-07-03" {
78 1) backward compatible changes to correct sFTP Server Authentication .
79 2) minor fixes according to lack of descriptions
80 3) backward compatible changes to introduce groupings";
82 reference "ORAN-WG4.M.0-v01.00";
85 revision "2019-02-04" {
89 1) imported model from xRAN
90 2) changed namespace and reference from xran to o-ran";
92 reference "ORAN-WG4.M.0-v01.00";
95 grouping file-path-grouping {
96 description "Grouping, that provides local path and remote path for the
97 purpose of File Management scenarios.";
100 leaf local-logical-file-path {
103 description "URI specifying the complete logical path relative to the root of the logical file system
104 structure (the common root for o-ran/log, o-ran/pm, o-ran/transceiver or o-ran/beamforming) of the file
105 to upload/download (no wildcard is allowed), including a file name and its extension.
106 Example: 'o-ran/log/file_1.abc', where 'o-ran/log/' represents relative path to folder containing log files
107 as specified by O-RAN, 'file_1' represents desired filename and 'abc' represents desired filename's extension.
108 The content shall conform to RFC3986 'Uniform Resource Identifier (URI): Generic Syntax'";
111 leaf remote-file-path {
114 description "URI specifying the remote-file-path on O-DU/SMO or on stand-alone file server.
115 The content shall conform to RFC3986 'Uniform Resource Identifier (URI): Generic Syntax'.
116 When upload/download is via sftp, the format shall be of the form
117 sftp://<username>@<host>[:port]/path
118 When upload/download is via ftpes, the format shall be of the form
119 ftpes://<username>@<host>[:port]/path
121 Note, ftpes is not an IANA registered URI scheme, but used here to signal
122 that a file transfer should be performed over FTPES";
126 grouping output-status-grouping {
127 description "Status grouping";
136 description "Operation status";
140 when "../status = 'FAILURE'";
146 grouping credential-information {
147 description "Type of authentication to use for file upload or download.";
156 "password used for O-RU authentication to sFTP server for the associated username defined in the remote-file-path.";
159 "password for O-RU authentication method in use. This information
160 shall be ignored by an O-RU that is using FTPES based file transfer";
166 uses ct:public-key-grouping;
168 "List of allowed algorithms with its keys";
171 "SSH Key for file server authentication";
175 container certificate {
178 "certificate authentication method in use";
184 container application-layer-credential{
189 "The parameter represents the password which may be needed for O-RU application level authentication.
190 For example, to perform authenticatation towards an FTPes server which does not allow anonymous account,
191 in addition to X.509v3 certificate for TLS authentication, password configured here need to be used together with username defined in the remote-file-path ";
194 "Application layer credential information";
198 grouping retrieve-input {
199 description "Grouping for information retrieval RPC input";
203 description "URL specifying the logical path relative to the root of the logical file system
204 structure (the common root for o-ran/log, o-ran/pm, o-ran/transceiver or o-ran/beamforming)
205 of the files to be listed.";
207 leaf file-name-filter {
209 description "Filter which needs to be applied on the result list of file names (* is allowed as wild-card).";
213 grouping retrieve-output {
214 description "Grouping for information retrieval RPC output";
215 uses output-status-grouping;
216 leaf-list file-list {
217 when "../status = 'SUCCESS'";
219 description "List of files in the unit with the filter applied.";
226 description "Management plane trigger to upload file from O-RU to file-server";
228 uses file-path-grouping;
229 uses credential-information;
232 uses output-status-grouping;
236 rpc retrieve-file-list {
237 description "List all the files in the logical O-RAN unit (* is allowed as wild-card).";
243 uses retrieve-output;
249 "Management plane trigger to download file from file-server to O-RU.";
251 uses file-path-grouping;
252 uses credential-information;
255 uses output-status-grouping;
259 notification file-upload-notification {
260 uses file-path-grouping;
261 uses output-status-grouping;
265 notification file-download-event {
266 uses file-path-grouping;
267 uses output-status-grouping;