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