OAM: Deployment Guideline
Table of Contents
1. Introduction
Detail the approach of steps for OAM deployment.
1.1 Description
With respect to Operation and Maintenance (OAM) the SMO implements the O1-interface consumers.
According to the O-RAN OAM Architecture and the O-RAN OAM Interface Specification, the SMO implements a NETCONF Client for configuration and a HTTP/REST/VES server for receiving all kind of events in VES format.
The O-RAN-SC OAM deployment contains an OpenDaylight based NETCONF client and an ONAP VES Collector. Kafka is used as massage router for communication between the components. The Keycloak implementation offers and Identity service, while treafik acts as reverse proxy to terminate all incoming https traffic.
1.2 System topology
2. Minimum Requirements
Detail the hardware and software requirements necessary for the installation.
4x Cores
16 GB RAM
100 GB Storage
Ubuntu 24.04.1 LTS Operating System
Docker version 27.2.0, build 3ab4256
Docker Compose version v2.29.2
git version 2.43.0
Python 3.12.3
pip3 install jproperties
3. Installation
step-by-step instructions for deployment
3.1 Step 1:
The reverse proxy implementation requires fully qualified domain names to route the traffic to the different SMO/OAM components.
Avoiding the setup of a DNS which may interfere with other DNS the following lines should be added in your /etc/hosts file.
<your-system>: is the hostname of the system, where the browser is started
<deployment-system-ipv4>: is the IP address of the system where the solution will be deployed
In addition, please change in the different .env files the environment variable 'HOST_IP' to the IP address of the system where you deploy the solution - search for 'aaa.bbb.ccc.dd' and replace it.
For development purposes <your-system> and <deployment-system> may reference the same system.
# replace xxx.yyy.zzz.www by your routable IP address
grep -arl --include=*\.env 'aaa.bbb.ccc.dd' * | while read -r file; do
sed -i 's/aaa.bbb.ccc.dd/xxx.yyy.zzz.www/g' "$file"
done
Expected Result:
$ cat /etc/hosts
[...]
# SMO OAM development system
<deployment-system-ipv4> smo.o-ran-sc.org
<deployment-system-ipv4> gateway.smo.o-ran-sc.org
<deployment-system-ipv4> identity.smo.o-ran-sc.org
<deployment-system-ipv4> messages.smo.o-ran-sc.org
<deployment-system-ipv4> kafka-bridge.smo.o-ran-sc.org
<deployment-system-ipv4> odlux.oam.smo.o-ran-sc.org
<deployment-system-ipv4> flows.oam.smo.o-ran-sc.org
<deployment-system-ipv4> tests.oam.smo.o-ran-sc.org
<deployment-system-ipv4> controller.dcn.smo.o-ran-sc.org
<deployment-system-ipv4> ves-collector.dcn.smo.o-ran-sc.org
3.2 Step 2:
Create an python environment.
python3 -m venv .oam
source .oam/bin/activate
pip3 install jproperties
pip3 install jinja2
pip3 install requests
# your system IP is required in .env files, please see explanations below
python3 ./adopt_to_environment.py -i <deployment-system-ipv4>
Please remember and ensure that you always run python scripts in this environment using the command
3.3 Step 3:
Docker compose commands are used to bring up the solution. For configurations python scripts are available.
Expected Result:
You can check our deployment using the docker ps command:
4. Post-Installation Verification
Outline how to verify that the installation was successful.
4.1 Step 1: Login
Please see the available users and there default password in file
smo/common/identity/authentication.json
Open the ODLUX UI for login:
https://odlux.oam.smo.o-ran-sc.org
Please click on “ONAP-IDENTITY”.
When the user logs in the first time the default password must be changed.
Expected Result:
successful login
4.2 Step 2:
Please move to “Connect” to see the connection status to the simulated O-RAN.
Expected Result:
5. Troubleshooting
Provide common issues and their solutions.
In case of trouble please look into log files:
6. Additional Resources
List of additional documentation, links, or resources that may be helpful.
Documentation: Please see README.md
Support: @Martin Skorupski at https://o-ran-sc-lf.slack.com/archives/D07CT4MKF2B