Merge "Create script for SBOM and Vulnerabilities analysis of docker images."
[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 ```
45 sudo apt install python3-pip
46 pip install jproperties
47 ```
48
49 ```
50 It is beneficial (but not mandatory) adding the following line add the
51 end of your ~/.bashrc file. I will suppress warnings when python script
52 do not verify self signed certificates for HTTPS communication.
53
54 ```
55 export PYTHONWARNINGS="ignore:Unverified HTTPS request"
56 ```
57
58 ### ETC Host (DNS function)
59
60 Please modify the /etc/hosts of your system.
61
62 * \<your-system>: is the hostname of the system, where the browser is started
63
64 * \<deployment-system-ipv4>: is the IP address of the system where the solution will be deployed
65
66 For development purposes <your-system> and <deployment-system> may reference the same system.
67
68 ```
69 $ cat /etc/hosts
70 127.0.0.1                      localhost
71 127.0.1.1                      <your-system>
72
73 # SMO OAM development system
74 <deployment-system-ipv4>                   smo.o-ran-sc.org
75 <deployment-system-ipv4>           gateway.smo.o-ran-sc.org
76 <deployment-system-ipv4>          identity.smo.o-ran-sc.org
77 <deployment-system-ipv4>          messages.smo.o-ran-sc.org
78 <deployment-system-ipv4> ves-collector.oam.smo.o-ran-sc.org
79 <deployment-system-ipv4>         odlux.oam.smo.o-ran-sc.org
80 <deployment-system-ipv4>    controller.oam.smo.o-ran-sc.org
81
82 ```
83
84 ## Bring Up Solution
85
86 The following commands should be invoked. More detailed can be found in the
87 next chapters.
88
89 ```
90 docker-compose -f smo/common/docker-compose.yml up -d
91 python smo/common/identity/config.py
92 docker-compose -f smo/oam/docker-compose.yml up -d odlux controller
93 docker-compose -f network/docker-compose.yml up -d ntsim-ng-o-ru-fh-11221
94 python network/config.py
95 ```
96
97 ## Verification Solution
98
99 ### Login into O-RU-Controller UI
100
101     https://odlux.oam.smo.o-ran-sc.org
102
103     User: admin // see .env file
104
105     Password: Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
106
107 In case of trouble, please update the commands with your customized '.env' file.
108
109 ### Connection State of the simulated O-RU
110
111 In the O-RU Controller UI you should see the simulated O-RU connected as a kind of reference implementation.
112
113 ![Connection State](./docs/connect.odlux.o-ru-controller.o-ran-sc.org.png)
114
115 ### Alarm Notification of the simulated O-RU
116
117 In the O-RU Controller UI you should see the generated alarm notifications of the O-RU as a kind of reference implementation.
118
119 ![Alarm Notifications](./docs/fault.odlux.o-ru-controller.o-ran-sc.org.png)
120
121 ## Terminate solution
122
123 To stop all container please respect the following order
124
125 ```
126 docker-compose -f network/docker-compose.yml down
127 docker-compose -f smo/oam/docker-compose.yml down
128 docker-compose -f smo/common/docker-compose.yml down
129 ```