
==================================================================================
       Copyright (c) 2020 AT&T Intellectual Property.

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
==================================================================================

Traffic Steering
================

This repository contains the source for the RIC traffic steering application.

This xApp can be onboarded through the xApp Onboarder.  The xapp descriptor
is under the xapp-descriptor/ directory.

Then the xapp can be deployed through the App Manager.

In order for Traffic Steering xApp to carry out the Traffic Steering Use Case,
the following needs to be done:
* QP xApp needs to be onboarded and deployed (see xapp descriptor in that repo)
* QP Driver xApp needs to be onboarded and deployed (see xapp descriptor in that repo)
* SDL must contain network data which required by the QP Driver xApp

Mock network data
=================

KPIMON xApp is in charge of collecting RAN metrics and write to SDL.

However, the Traffic Steering Use Case can be run with mock data.  Everything needed to write this
mock data is included in this repo.  Directions are as follows:

cd test/populatedb

chmod a+x populate_db.sh

./populate_db.sh

This script will build a docker image locally and also install a helm chart in the kubernetes cluster to run the image.

The code that is run will write the necessary data to SDL

Mock applications (Release D)
=============================

There are sample applications in the test/app/ directory that demonstrate a dummy message exchange
among AD, QP Driver, QP, and TS xApps. Currently, there is no Dockerfile to run those mock applications,
but they can be built according to the following:

1. Build the TS xApp
2. $cd test/app/
3. $cmake -S . -B build
4. $cd build/
5. $make

Run xApps in the following order:
1. TS xApp
2. qp_xapp
3. ad_xapp

There is an additional application that mocks a Rest server to demonstrate all control messages
issued by the TS xApp. It is implemented in Python and echoes all messages it receives. This
application is located at the test/app directory.
