Welcome to O-RAN SC it/dev Documentation¶
Overview¶
This repo is used by the O-RAN SC Integration and Testing project for hosting miscellaneous development codes.
For Amber release this repo contains files for developing Near Realtime RAN Intelligent Controller applications.
Developer-Guide¶
Deployment¶
The following are typical steps used to deploy and run different components of OTF.
OTF Frontend¶
docker build -t otf-frontend:0.0.1-SNAPSHOT .
docker run -e OTF_URL=’http://localhost:8082/ -d –network=”host” otf-frontend:0.0.1-SNAPSHOT
OTF SERVICE API¶
Modify src/main/resources/application.properties according to needs (disable aaf/ssl, set ports)
navigate to otf-service-api folder and run “docker build -t otf-service-api:0.0.1-SNAPSHOT -f docker/Dockerfile .” (maven will run from inside the container, command is inside the Dockerfile)
docker run -d –network=”host” otf-service-api:0.0.1-SNAPSHOT
OTF CAMUNDA¶
Modify src/main/resources/application.yaml according to needs, and validate the yaml is correct format (disable aaf/ssl, set ports)
navigate to otf-camunda folder and run “docker build -t otf-camunda:0.0.1-SNAPSHOT -f docker/Dockerfile .” (maven will run from inside the container, command is inside the Dockerfile)
docker run -d –network=”host” otf-camunda:0.0.1-SNAPSHOT
Virtual Test Head (VTH)¶
VTH can be deployed in many ways. The following is a simple example of running vths via docker and using it on OTF UI.
- Sample vth deployment example
docker build -t [VTH_NAME] .
docker run –rm –network [NETWORK-NAME] –name [VTH-NAME] -dit [DOCKER_IMAGE_NAME]
use url and port to onboard it via OTF UI (instructions can be found in user guide)
To update vth port, you will have to update its python file (App.py). Most of them will default to port 5000.
OTF-DATABASE¶
run sudo installdbs.sh and export PATH=/usr/local/mysql/bin:$PATH to add mysql commands to path
run sudo createMongoUser.sh
- edit mongo to create a replica set by modifying replication and net fields on file /etc/mongod.conf
add security: authorization: ‘enabled’
- after script is ran mysql should be able to be used, connect to mysql using the password set by script and mysql command and
- alter the root password
alter user ‘root’@’localhost’ identified by ‘new_password’
- grant root ability to connect remotely
grant all on . to ‘root’@’%’ identified by ‘password’
- create db and exit mysql shell
create database ‘new_db’
- create tables using mysql scripts
mysql -u root -p db < engine.sql
Common issues¶
Unable to log in to OTF UI as the first user on the platform¶
When registering as a new user, you will eventually need an admin to “enable” you. If you are the first User, there will be no admin and you will be unable to log in even after you register. In order to fix this, you will have to manually go into the mongo database and alter certain enabled and permission attribute for this new user.
make sure enabled is set to true
on the permission section, change role from user to admin
Release-Notes¶
This document provides the release notes for Amber Release of Open Test Framework (OTF).
Version history¶
Date |
Ver. |
Author |
Comment |
2019-11-12 |
0.1.0 |
Rohan Patel (AT&T) |
First draft |
2020-06-16 |
0.1.2 |
Jackie Chen (AT&T) |
new VTH development |
1.0 |
Summary¶
This release(0.1.2) will include new VTHs that were developed for oran community.The following are VTHs were developed:
dmaap
A1-mediator
smo-o1
SDNC
A1-policy-manager
Most of the vth were built according to health-check use cases(Workflow #2,#3,#4) via: https://wiki.o-ran-sc.org/display/RSAC/Health-Check+Use+Case
Release Data¶
Project |
OTF |
Repo/commit-ID |
it/otf |
Release designation |
Bronze |
Release date |
2020-06-16 |
Purpose of the delivery |
update repo with VTHs |
Deliverables¶
Software Deliverables¶
Code: https://gerrit.o-ran-sc.org/r/gitweb?p=it/otf.git;a=summary
Repository contains several applications:
- oran-ric-test-head:
VTH that enables interaction with xAPP manager
Functionality includes list, deploy, delete xApps
- otf-aaf-credential-generator:
contains helm chart for AAF information
- otf-camunda:
Test Control Unit Engine
Application handles deployment and execution of OTF test strategies
- otf-cert-secret-builder:
contains helm chart for certificate and credential information
- otf-frontend:
OTF Portal / GUI
Application provides portal for OTF and allows users to deploy, execute, schedule, and view test executions
- otf-ping-test=head:
VTH that capability to ping a server
- otf-robot-test-head:
VTH that enables the execution of Robot tests
- otf-service-api:
Test Control Unit API
Application exposes apis that allow clients to execute test instances, create test instances, and query execution status.
- otf-sst-test-head:
VTH that enables ssh capability to remote server
- dmaap-vth:
VTH used to subscribe and publish topics/message via dmaap api
- a1-mediator-vth:
VTH used to communicate with A1-mediator
Built according to: https://gerrit.o-ran-sc.org/r/gitweb?p=ric-plt/a1.git;a=blob;f=a1/openapi.yaml
- Functionality includes:
health-check on A1
list registered policy types
GET,DELETE,PUT policy types
list policy instance
GET,DELETE,PUT policy instance
Retrieve policy instance status
- smo-o1-vth:
Performs health checks to verify that O1 interface is alive by getting alarm list
- a1-policy-manager-vth:
Used to communicate with A1 policy management service api
Has all functionality that is available in the above link. The vth will require the action and method necessary information e.g. query values and json data and forward the request to the service
- a1-sdnc-vth:
Used to communicate with SDNC A1 Controller api
Has all functionality that is available in the above link. The vth will require the action and method necessary information e.g. query values and json data and forward the request to the service
Instructions on how to build and run these applications can be found in the otf-installation.txt file located in the it/otf repository.
Documentation Deliverables¶
OTF Documentation can be found in the link below:
Documentation: https://wiki.o-ran-sc.org/pages/viewpage.action?pageId=10715484
The videos and documents located here contain information about how to use the OTF platform, create and execute tests, and troubleshoot workflows.
API-Docs¶
This is the API-docs of <COMPONENT>
User Guide¶
This is the user guide of OSC <COMPONENT>.
Onboarding¶
Register for an account on login page
Verify email via confirmation link that will be sent to your email
To access full features, a site admin will have to enable you
Enabling user¶
Login to a admin account
Go to admin -> user management tab that is located on the side bar
Locate new user and enable them by clicking the switch on the Enabled column
Group Management¶
Users can create new groups that allows you to organize and share workflows easily.
Creating new group¶
- select the group tab (located on the top) and click the + new group sign
Fill in basic information about the new group
Once the group is created, the creator will automatically be a admin for that group
Managing group¶
Go to the group you would like to manage via the group tab located on the top
select Manage Group Tab via side bar and the following feature will be available
Add/remove new users
Create roles with specific permissions
Edit roles
Manage user’s roles
Uploading A Workflow¶
In order to upload a workflow, select the “Test Designer” tab in the left side bar.
Once in the Modeler view, on the top left, select the folder icon which will open up the file explorer.
Choose a local bpmn file to upload. After the bpmn is loaded into the modeler, go to the “Test Definitions” panel on the right hand side and enter a Name and Description.
By default, the group currently selected in the platform will be associated with the workflow. If a different group is desired, that can be selected also within the “Test Definition” panel on the right hand side. Any specific test Input templates can also be included within this panel. When finished, the save icon can be pressed in the top bar on the left side to save the actual workflow. Next to the save icon is the deploy icon which is used to deploy the workflow.
Creating a Test Instance¶
A Test Instance can be created for any Test Definition. To start, navigate to the “Test Definitions” tab on the left side panel.
Select the specific Test Definition that would need a Test Instance. Once a single row (Test Definition) is selected, click the plus icon in the top right.
This action will open up a modal where the properties of the Test Instance are configured. If the latest version of the Test Definition workflow would like to be used, the “Latest Version” option should be in the ON position. If there is a test Input template, this information can be included during this step. For each of the VTH’s within the workflow, the specific template properties defined need to be entered. After all of the data has been entered, clicking the “Save” button in the bottom right will essentially save the Test Instance.
If the Test Instance would also want to be executed at this point, the “Save and Execute” button can be pressed.
There is an additional way to create a Test Instance that follows similar steps as the process documented above. The difference is that the “New” button in the top right of the “Test Instances” page is selected. Once the modal pops up, the specific Test Definition that is being used will be selected here.
Executing the Test Instance¶
Executing a Test Instance is a fairly simple process. Executions are completed from the “Test Instances” page found on the left side panel.
A singular Test Instance row needs to be selected. Once selected, there is a play button icon that appears in the top right.
Clicking the play button will trigger a confirmation window to ensure that the execution is intentional. Once confirmed, the Test Instance will run.
After executing, deselect and reselect the same row which will make the execution appear in the right side panel.
View Details of an Execution¶
Once a Test Instance has started running, the execution can be viewed. To view the execution, navigate to the “Test Instances” page and select the Test Instance which was ran. Once the row containing the instance has been selected, a panel on the right side will open with all of the executions listed.
Select the specific execution which needs to be viewed. In the execution viewer, the workflow can be seen at the top. When a box has been completed successfully, it will appear green. If it has not been completed, it will appear white. If it has failed, it will appear red. The “Overview” tab is where information related to the general execution of the instance is found. The “Test Head Results” tab is where data associated with the specific test heads in the workflow are found. The “Parameters” tab is where the test data and test head inputs can be found. The “Execution Job log” and “Execution External Task Log” tabs are logs used to debugging what occurred during the execution. The “Execution Variables” tab show all the properties associated with each variable during the execution.