F Release Document Upate
[o-du/l2.git] / docs / installation-guide.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. http://creativecommons.org/licenses/by/4.0
3
4 .. contents::
5    :depth: 3
6    :local:
7
8 O-DU High Installation Guide
9 *****************************
10
11 Abstract
12 ========
13
14 This document describes how to install O-DU High, it's dependencies and required system resources.
15
16 .. contents::
17    :depth: 3
18    :local:
19
20 Version history
21
22
23 +--------------------+--------------------+--------------------+--------------------+
24 | **Date**           | **Ver.**           | **Author**         | **Comment**        |
25 |                    |                    |                    |                    |
26 +--------------------+--------------------+--------------------+--------------------+
27 | 2022-06-16         |  4.0.0             |  Radisys,          |  F release         |
28 |                    |                    |  HCL Technologies  |                    |
29 |                    |                    |  Ltd.              |                    |
30 +--------------------+--------------------+--------------------+--------------------+
31 | 2022-01-14         |  3.0.0             |  Radisys,          |  e-release         |
32 |                    |                    |  HCL Technologies  |                    |
33 |                    |                    |  Ltd.              |                    |
34 +--------------------+--------------------+--------------------+--------------------+
35 | 2021-07-07         |  2.0.0             |  Radisys,          |  D Release         |
36 |                    |                    |  HCL Technologies  |                    |
37 |                    |                    |  Ltd.              |                    |
38 +--------------------+--------------------+--------------------+--------------------+
39 | 2020-12-04         |  1.0.1             |  HCL Technologies  |  Cherry Release    |
40 |                    |                    |  Ltd.              |                    |
41 +--------------------+--------------------+--------------------+--------------------+
42 | 2020-12-04         |  1.0               |  Radisys           |  Cherry Release    |
43 |                    |                    |                    |                    |
44 +--------------------+--------------------+--------------------+--------------------+
45
46
47 Introduction
48 ============
49
50 This document describes the hardware and software requirements along with guidelines on how to install O-DU High.
51
52 The audience of this document is assumed to have good knowledge in RAN concepts and Linux system.
53
54
55 Preface
56 =======
57
58 O-DU High images can be built using the source code or corresponding docker images can be downloaded.
59
60
61 Hardware requirements
62 =====================
63
64 Following minimum hardware requirements must be met for installation of O-DU High
65
66 +--------------------+----------------------------------------------------+
67 | **HW Aspect**      | **Requirement**                                    |
68 |                    |                                                    |
69 +--------------------+----------------------------------------------------+
70 | **# of servers**   |  1                                                 |
71 +--------------------+----------------------------------------------------+
72 | **CPU**            |  4                                                 |
73 |                    |                                                    |
74 +--------------------+----------------------------------------------------+
75 | **RAM**            |  8G                                                |
76 |                    |                                                    |
77 +--------------------+----------------------------------------------------+
78 | **Disk**           |  500G                                              |
79 |                    |                                                    |
80 +--------------------+----------------------------------------------------+
81 | **NICs**           |  1                                                 |
82 |                    |                                                    |
83 +--------------------+----------------------------------------------------+
84
85
86 Software installation and deployment
87 ==========================================
88
89 This section describes the installation of the O-DU High on the reference hardware.
90
91 Libraries
92 ----------
93
94 Following libraries are required to compile and execute O-DU High:
95
96 - GCC 
97    - Ubuntu : sudo apt-get install -y build-essential
98    - CentOS : sudo yum groups mark install -y “Development Tools”
99
100    Ensure the version is 4.6.3 and above using
101
102    -    gcc --version
103
104 - LKSCTP
105    - Ubuntu : sudo apt-get install -y libsctp-dev
106    - CentOS : sudo yum install -y lksctp-tools-devel
107
108 - PCAP:
109    - Ubuntu : sudo apt-get install -y libpcap-dev
110    - CentOS : sudo yum install -y libpcap-devel
111
112
113
114 Cloning code
115 --------------
116
117 - Create a folder to clone the O-DU High code into. The folder is hereafter referred to as <O-DU High Directory>.
118
119 - Clone code into <O-DU High Directory> 
120
121   git clone "https://gerrit.o-ran-sc.org/r/o-du/l2"
122
123
124 Setting up Netconf server (Only if O1 interface enabled)
125 --------------------------------------------------------
126  
127   Following steps are required to compile and run ODU with O1 interface enabled.
128
129 - Create a new netconf user
130
131       Switch to root user or use sudo and run following commands
132
133    - Ubuntu :
134       | cd <O-DU High Directory>/l2/build/scripts
135       | sudo ./add_netconf_user.sh
136
137 - Install Netconf libraries:
138
139    libssh, libyang, libnetconf2, sysrepo, netopeer2
140
141    Script is provided in the following folder to install these libraries
142
143    - Ubuntu :
144        | cd <O-DU High Directory>/l2/build/scripts
145        | sudo ./install_lib_O1.sh -c
146
147 - Install the YANG modules and load initial configuration
148
149     - Navigate to config folder and update the desired initial configuration
150
151       | cd <O-DU High Directory>/l2/build/config
152
153       | Open the startup_config.xml and edit the desired IP and Port for CU, DU and RIC.
154       | Open the nacm_config.xml and edit the desired user name to provide the access to that user.
155       | Open the netconf_server_ipv6.xml and edit the desired netconf server configuration.
156       | Open the oamVesConfig.json and edit the details of OAM VES collector.
157       | Open the smoVesConfig.json and edit the details of SMO VES collector.
158       | Open the netconfConfig.json and edit the details of Netopeer server.
159       | Install the yang modules and load initial configuration.
160
161       - Ubuntu :
162       
163       | $cd <O-DU High Directory>/l2/build/scripts
164       | $sudo ./load_yang.sh
165
166     - To enable Standard Defined VES format:      
167       
168       | cd l2/src/o1/ves
169             
170       | Enable the Macro "StdDef" in file VesUtils.h      
171       | #define StdDef
172
173 - Start Netopeer2-server:
174
175    - Ubuntu :
176        | cd <O-DU High Directory>/l2/build/scripts
177        | sudo ./netopeer-server.sh start
178
179
180 Compilation
181 ------------
182
183 - Build O-DU High:
184
185    - Navigate to Build folder
186
187        cd <O-DU High Directory>/l2/build/odu
188
189    - Clean O-DU High binary
190
191        make clean_odu MACHINE=BIT64 MODE=FDD
192        
193
194    - Compile O-DU High binary
195    
196        make odu MACHINE=BIT64 MODE=FDD
197        
198
199 - Build CU Stub :
200
201    - Navigate to Build folder
202    
203        cd <O-DU High Directory>/l2/build/odu
204
205    - Clean CU Stub binary
206    
207        make clean_cu NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
208
209    - Compile CU Stub binary
210    
211        make cu_stub NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
212
213 - Build RIC Stub :
214
215    - Navigate to Build folder
216    
217        cd <O-DU High Directory>/l2/build/odu
218
219    - Clean RIC Stub binary
220    
221        make clean_ric NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
222
223    - Compile RIC Stub binary
224    
225        make ric_stub NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
226
227
228 Compilation with O1 interface enabled
229 --------------------------------------
230
231 - Build O-DU High:
232
233    - Navigate to Build folder
234
235        cd <O-DU High Directory>/l2/build/odu
236
237    - Clean O-DU High binary
238
239        make clean_odu MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
240        
241
242    - Compile O-DU High binary
243    
244        make odu MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
245        
246
247 - Build CU Stub :
248
249    - Navigate to Build folder
250    
251        cd <O-DU High Directory>/l2/build/odu
252
253    - Clean CU Stub binary
254    
255        make clean_cu NODE=TEST_STUB MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
256
257    - Compile CU Stub binary
258    
259        make cu_stub NODE=TEST_STUB MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
260
261 - Build RIC Stub :
262
263    - Navigate to Build folder
264    
265        cd <O-DU High Directory>/l2/build/odu
266
267    - Clean RIC Stub binary
268    
269        make clean_ric NODE=TEST_STUB MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
270
271    - Compile RIC Stub binary
272    
273        make ric_stub NODE=TEST_STUB MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
274
275
276
277 The above generated images can be found at:
278
279 - O-DU High - <O-DU High Directory>/l2/bin/odu
280
281 - CU Stub   - <O-DU High Directory>/l2/bin/cu_stub
282
283 - RIC Stub  - <O-DU High Directory>/l2/bin/ric_stub
284