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

  1. docker build -t otf-frontend:0.0.1-SNAPSHOT .

  2. docker run -e OTF_URL=’http://localhost:8082/ -d –network=”host” otf-frontend:0.0.1-SNAPSHOT

OTF SERVICE API

  1. Modify src/main/resources/application.properties according to needs (disable aaf/ssl, set ports)

  2. 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)

  3. docker run -d –network=”host” otf-service-api:0.0.1-SNAPSHOT

OTF CAMUNDA

  1. Modify src/main/resources/application.yaml according to needs, and validate the yaml is correct format (disable aaf/ssl, set ports)

  2. 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)

  3. 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
    1. docker build -t [VTH_NAME] .

    2. docker run –rm –network [NETWORK-NAME] –name [VTH-NAME] -dit [DOCKER_IMAGE_NAME]

    3. 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

  1. run sudo installdbs.sh and export PATH=/usr/local/mysql/bin:$PATH to add mysql commands to path

  2. run sudo createMongoUser.sh

  3. edit mongo to create a replica set by modifying replication and net fields on file /etc/mongod.conf
    • add security: authorization: ‘enabled’

  4. 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
    • 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.

_images/mongo-user.PNG
  • 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

Feature Additions

JIRA BACK-LOG:

JIRA REFERENCE

SLOGAN

Bug Corrections

JIRA TICKETS:

JIRA REFERENCE

SLOGAN

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:
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

  1. Register for an account on login page

  2. Verify email via confirmation link that will be sent to your email

  3. To access full features, a site admin will have to enable you

Enabling user

  1. Login to a admin account

  2. Go to admin -> user management tab that is located on the side bar

  3. 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

  1. select the group tab (located on the top) and click the + new group sign
    _images/group-tab.PNG
  2. Fill in basic information about the new group

  3. Once the group is created, the creator will automatically be a admin for that group

Managing group

  1. Go to the group you would like to manage via the group tab located on the top

  2. 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.

_images/testDesignerTab.PNG

Once in the Modeler view, on the top left, select the folder icon which will open up the file explorer.

_images/folderModeler.PNG

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.

_images/testDefinitionTabModeler.PNG

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.

_images/saveAndDeployIcon.PNG

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.

_images/testDefinitionTab.PNG

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.

_images/testDefinitionPlus.PNG

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.

_images/testDefinitionSave.PNG

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.

_images/testInstanceNew.PNG

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.

_images/testInstancesTab.PNG

A singular Test Instance row needs to be selected. Once selected, there is a play button icon that appears in the top right.

_images/testInstancePlay.PNG

Clicking the play button will trigger a confirmation window to ensure that the execution is intentional. Once confirmed, the Test Instance will run.

_images/testInstanceExecutionConfirm.PNG

After executing, deselect and reselect the same row which will make the execution appear in the right side panel.

_images/listExecutionsTI.PNG

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.

_images/listExecutionsTI.PNG

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.

_images/executionTabs.PNG