ebfe31872993aef46be615cf5a7470e298d8070b
[oam.git] / solution / README-O-RU-Controller.md
1 # O-RU Controller
2
3 This documents describes the deployment of an O-RU Controller which could be used 
4 as component for O-DU and/or SMO implementations. 
5
6 ## Prerequisites
7
8 ### Operating (HOST) System
9
10 ```
11 $ cat /etc/os-release | grep PRETTY_NAME
12 PRETTY_NAME="Ubuntu 22.04.2 LTS"
13 ```
14
15 ### Docker
16
17 ```
18 $ docker --version
19 Docker version 23.0.1, build a5ee5b1
20 ```
21 Please follow the required docker daemon configuration as documented in the following README.md:
22 - [./smo/common/docker/README.md](./smo/common/docker/README.md)
23
24 ### Docker Compose
25
26 ```
27 $ docker-compose version
28 Docker Compose version v2.16.0
29 ```
30
31 ### GIT
32
33 ```
34 $ git --version
35 git version 2.34.1
36 ```
37
38 ### Python
39
40 ```
41 $ python3 --version
42 Python 3.10.6
43 ```
44 It is beneficial (but not mandatory) adding the following line add the
45 end of your ~/.bashrc file. I will suppress warnings when python script
46 do not verify self signed certificates for HTTPS communication.
47
48 ```
49 export PYTHONWARNINGS="ignore:Unverified HTTPS request"
50 ```
51
52 ### ETC Host (DNS function)
53
54 Please modify the /etc/hosts of your system.
55
56 * \<your-system>: is the hostname of the system, where the browser is started
57
58 * \<deployment-system-ipv4>: is the IP address of the system where the solution will be deployed
59
60 For development purposes <your-system> and <deployment-system> may reference the same system.
61
62 ```
63 $ cat /etc/hosts
64 127.0.0.1                      localhost
65 127.0.1.1                      <your-system>
66
67 # SMO OAM development system
68 <deployment-system-ipv4>                   smo.o-ran-sc.org
69 <deployment-system-ipv4>           gateway.smo.o-ran-sc.org
70 <deployment-system-ipv4>          identity.smo.o-ran-sc.org
71 <deployment-system-ipv4>          messages.smo.o-ran-sc.org
72 <deployment-system-ipv4> ves-collector.oam.smo.o-ran-sc.org
73 <deployment-system-ipv4>         odlux.oam.smo.o-ran-sc.org
74 <deployment-system-ipv4>    controller.oam.smo.o-ran-sc.org
75
76 ```
77
78 ## Bring Up Solution
79
80 The following commands should be invoked. More detailed can be found in the
81 next chapters.
82
83 ```
84 docker-compose -f smo/common/docker-compose.yml up -d
85 python smo/common/identity/config.py
86 docker-compose -f smo/oam/docker-compose.yml up -d odlux controller
87 docker-compose -f network/docker-compose.yml up -d ntsim-ng-o-ru-fh-11221
88 python network/config.py
89 ```
90
91 ## Verification Solution
92
93 ### Login into O-RU-Controller UI
94
95     https://odlux.oam.smo.o-ran-sc.org
96
97     User: admin // see .env file
98
99     Password: Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
100
101 In case of trouble, please update the commands with your customized '.env' file.
102
103 ### Connection State of the simulated O-RU
104
105 In the O-RU Controller UI you should see the simulated O-RU connected as a kind of reference implementation.
106
107 ![Connection State](./docs/connect.odlux.o-ru-controller.o-ran-sc.org.png)
108
109 ### Alarm Notification of the simulated O-RU
110
111 In the O-RU Controller UI you should see the generated alarm notifications of the O-RU as a kind of reference implementation.
112
113 ![Alarm Notifications](./docs/fault.odlux.o-ru-controller.o-ran-sc.org.png)
114
115 ## Terminate solution
116
117 To stop all container please respect the following order
118
119 ```
120 docker-compose -f network/docker-compose.yml down
121 docker-compose -f smo/oam/docker-compose.yml down
122 docker-compose -f smo/common/docker-compose.yml down
123 ```