commit | 871fa393844ce1b61b8d5218d27687d9fc05803a | [log] [tgz] |
---|---|---|
author | Balint Uveges <balint.uveges@nokia.com> | Tue Apr 02 20:31:11 2019 +0000 |
committer | Balint Uveges <balint.uveges@nokia.com> | Tue Apr 02 20:38:54 2019 +0000 |
tree | 47ce6352f6121493f13391f56c60d7753326f384 | |
parent | 3b790149556c8d8f3a3701c0e3c4a56e56e078d1 [diff] |
Seed code for Routing Manager (ric-plt/rtmgr). Change-Id: I2f255043d81564550ea9bbc5f3d082346910eb0d Signed-off-by: Balint Uveges <balint.uveges@nokia.com>
Routing Manager is a basic platform serive of RIC. It is responsible for distributing routing policies among the other platform components and xApps.
The implemented logic periodically queries the xApp Manager component for xApps' list. Stores the data then processes it to create routing policies and distributes them to all xApps. The architecture consists of the following five well defined functions:
Current implementation provides support for the followings:
Check the separated RELNOTES
file.
Enter the project root and execute ./build.sh
script. The build script has two main phases. First is the code compilation, where it creates a temporary container for downloading all dependencies then compiles the code. In the second phase it builds the production ready container and taggs it to rtmgr:builder
NOTE: The script puts a copy of the binary into the ./bin
folder for further use cases
Re-Tag the rtmgr
container according to the project release and push it to a registry accessible from all minions of the kubernetes cluster. Edit the container image section of rtmgr-dep.yaml
file according to the rtmgr
image tag
Issue the kubectl create -f {manifest.yaml}
command in the following order
manifests/namespaces.yaml
: creates the example
namespace for routing-manager resourcesmanifests/rtmgr/rtmgr-dep.yaml
: instantiates the rtmgr
deployment in the example
namespacemanifests/rtmgr/rtmgr-svc.yaml
: creates the rtmgr
service in example
namespaceRouting Manager's behaviour can be tested using the mocked xApp Manager, traffic generator xApp and receiver xApp.
adm-ctrl-xapp
binary to ./test/docker/xapp.build
folder. Enter the folder and issue docker build .
. Tag the recently created docker image and push it to the common registry.test-tx
binary to ./test/docker/xapp-tx.build
folder. Enter the folder and issue docker build .
. Tag the recently created docker image and push it to the common registry../test/docker/xmgr.build
folder and issue docker build .
. Tag the recently created docker image and push it to the common registry../test/kubernetes/
folder accordingly then issue the kubectl create -f {manifest.yaml}
on each file.Routing manager binary can be called with -h
flag when it displays the available command line arguments and it's default value.
Example:
root@a3684ff4cdb0:/# ./rtmgr -h Usage of ./rtmgr: -loglevel string INFO | WARN | ERROR | DEBUG (default "INFO") -nbi-httpget string xApp Manager URL (default "http://localhost:3000/xapps") -rpe string Policy Engine Module name (default "rmr") -sbi-nngsub string NNG Subsciption Socket URI (default "tcp://0.0.0.0:4560") -sdl-file string Local file store location (default "/db/rt.json")
For troubleshooting purpose the default logging level can be increased to DEBUG
.
[] Add RESTful NBI based on swagger api definition
[] Support RMR Pipeline
[] Add unit tests
This project is licensed under the Apache License, Version 2.0 - see the LICENSE