..
-
Installation Guide
==================
:depth: 3
:local:
-Abstract
---------
-
-This document describes how to install ric-plt/rtmgr, it's dependencies and required system resources.
-
Introduction
------------
-Routing Manager is a basic platform service of RIC. It is responsible for distributing routing policies among the other platform components and xApps.
-
-Pre-requisites
---------------
-* Healthy kubernetes cluster (for Kubernetes testing)
-* Access to the common docker registry (alternatively, you can set up your own private registry for testing: "https://docs.docker.com/registry/deploying/")
-* In case of non-Docker build:
- * golang 11.1 at least
- * go-swagger ("https://github.com/go-swagger/go-swagger", v0.19.0)
- * glide ("https://github.com/Masterminds/glide")
- * XApp Manager spec file (available in ORAN: "https://gerrit.o-ran-sc.org/r/admin/repos/ric-plt/appmgr" under api folder)
-
-Software Installation and Deployment
-------------------------------------
-This section describes the installation of the ric-plt/rtmgr installation.
-
-Docker Image
-------------
-The Dockerfile located in the project root folder does the following three things:
-
-* As a first step, it creates a build container, fetches XApp Manager's spec file, generates rest api code from swagger spec and builds rtmgr.
-* As a second step, it executes UTs on rtmgr source code.
-* As a third step, it creates the final container from rtmgr binary (Ubuntu based).
+Routing Manager is a basic platform service of RIC. It is responsible for distributing routing policies to other platform components and xApps.
-For a docker build execute `docker build --tag=rtmgr-build:test .` in the project root directory (feel free to replace the name:tag with your own)
-
-Linux Binary
-------------
-* Compiling without Docker involves some manual steps before compiling directly with "go build".
-* The XApp manager's spec file must be fetched, then api generated with swagger. (these steps are included in the Dockerfile).
-* After the code is generated, glide can install the dependencies of rtmgr.
-* Make sure you set your GOPATH variable correctly (example: $HOME/go/src/routing-manager)
-* Code generation and building example (from project root folder):
+Installation of routing manager in a k8s environment
+====================================================
- * git clone https://gerrit.o-ran-sc.org/r/ric-plt/appmgr && cp appmgr/api/appmgr_rest_api.yaml api/
- * swagger generate server -f api/routing_manager.yaml -t pkg/ --exclude-main -r LICENSE
- * swagger generate client -f api/appmgr_rest_api.yaml -t pkg/ -m appmgr_model -c appmgr_client -r LICENSE
- * glide install --strip-vendor
- * go build cmd/rtmgr.go
+This deployment guide is for testing routing manager in actual k8s environment.
-NOTE: before doing a docker build it is advised to remove any generated files and vendor packages:
-assuming that you stand in project root dir
+.. include:: ./installation-guide-rtmgr-as-pod.rst
- rm -rf appmgr vendor pkg/appmgr_* pkg/models pkg/restapi
-Command line arguments
-----------------------
-Routing manager binary can be called with `-h` flag when it displays the available command line arguments and it's default value.
+Installation of routing manager in a standalone linux machine
+=============================================================
-Example:
+This deployment guide will be useful for development purposes
-Usage of ./rtmgr:
- -configfile string
- Routing manager's configuration file path (default "/etc/rtmgrcfg.json")
- -filename string
- Absolute path of file where the route information to be stored (default "/db/rt.json")
- -loglevel string
- INFO | WARN | ERROR | DEBUG (default "INFO")
- -nbi string
- Northbound interface module to be used. Valid values are: 'httpGetter | httpRESTful' (default "httpGetter")
- -nbi-if string
- Base HTTP URL where routing manager will be listening on (default "http://localhost:8888")
- -rpe string
- Route Policy Engine to be used. Valid values are: 'rmrpush | rmrpub' (default "rmrpush")
- -sbi string
- Southbound interface module to be used. Valid values are: 'nngpush | nngpub' (default "nngpush")
- -sbi-if string
- IPv4 address of interface where Southbound socket to be opened (default "0.0.0.0")
- -sdl string
- Datastore enginge to be used. Valid values are: 'file' (default "file")
- -xm-url string
- HTTP URL where xApp Manager exposes the entire xApp List (default "http://localhost:3000/xapps")
+.. include:: ./installation-guide-rtmgr-as-exe.rst