..
..  Copyright (c) 2019 AT&T Intellectual Property.
..  Copyright (c) 2019 Nokia.
..
..  Licensed under the Creative Commons Attribution 4.0 International
..  Public License (the "License"); you may not use this file except
..  in compliance with the License. You may obtain a copy of the License at
..
..    https://creativecommons.org/licenses/by/4.0/
..
..  Unless required by applicable law or agreed to in writing, documentation
..  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.
..

Developer-Guide
===============

.. contents::
   :depth: 3
   :local:

Overview
--------
Routing Manager is a basic platform service of RIC. It is responsible for distributing routing policies among the other platform components and xApps.

Architecture
------------
The architecture consists of the following five well defined functions:

* NorthBound Interface (__NBI__): Maintains the communication channels towards RIC manager components
* Routing Policy Engine (__RPE__): Provides the logic to calculate routing policies
* Shared Data Layer (__SDL__): Provides access to different kind persistent data stores
* SouthBound Interface (__SBI__): Maintains the communication channels towards RIC tenants and control components
* Control Logic (__RTMGR__): Controls the operation of above functions

Configuration Settings for Routing Manager
------------------------------------------
The configuration related parameters for routing manager are provided in the following files -

ConfigMap: ric-dep/helm/rtmgr/config.yaml:
------------------------------------------
This file has the major configurations. The description for each of them is given below -

* PlatformComponents : Represents the platform components that needs route table to be distributed. They usually contain the hard coded name(used internally by Routing Manager), the FQDN name and the port.

* XMURL : The URL used by RM to query Appmgr to provide the Xapp list during start-up

* EMURL : The URL used by RM to query E2Mgr to provide the E2Termination list during start-up

* RTFILE: File based data store that RM uses to store the route table information and other internal details.

* CFGFILE: Stores the path of config file in RTE. Mandatorily needed to start RM.

* RPE/SBI/SBIURL/NBI/NBIURL/SDL : Derived from the RM helm chart and needed for respective module initialization.

* logger : To change the log level setting

* local : Http server that listens on the specified port. This port used for dumping RTFILE contains.

* rmr : RMR messaging related attributes needed by xapp-framework.

  * protPort: RMR Listening Port
  * maxSize: Maximum Transmission Buffer size
  * threadType: Always set to 1 so that RM doesn't wait for static Route table initialization.

* PlatformRoutes: Static platform routes between the Platform Components. Based on these rules the routes wll get populated. The syntax is based on the RMR route table syntax.

  * messagetype: Message types as defined in mtypes.go(rmr.h) in xapp-framework(RMR)
  * senderendpoint: Message originating address in the form IP:PORT
  * subscriptionid: Subscription ID to be filled, mostlt "-1" for all static routes
  * endpoint: Message reception address in the form IP:PORT
  * meid: meid entry is required to be populated by "%meid"
  
  
Env File: ric-dep/helm/rtmgr/env.yaml:
---------------------------------------
This file contains attributes based that are required by RMR.


Installing RIC Platform - Routing Manager gets deployed automatically
---------------------------------------------------------------------
Follow the procedure found in 

https://docs.o-ran-sc.org/projects/o-ran-sc-ric-plt-ric-dep/en/latest/

This will be the best way to test the bugs and integrate new features. 

Testing and Troubleshooting
---------------------------

1. Routing Manager is in Continous Reboot loop.
  
   1a. Check if the appmgr POD is running by running the command. This command should show it as "Running"
   1b. If appmgr is running as expected, check the logs of appmgr,if helm is properly initialised.

.. code:: bash

   1a .#kubectl get pods -n ricplt | grep appmgr
   deployment-ricplt-appmgr-77bcbb8886-p4zvq          2/2     Running   0          2d3h

   2a .# kubectl logs  deployment-ricplt-appmgr-77bcbb8886-p4zvq -n ricplt container-ricplt-appmgr | grep "Helm init done successfully"
   {"ts":1585551084410,"crit":"INFO","id":"appmgr","mdc":{"time":"2020-03-30T06:51:24Z","xm":"0.4.1"},"msg":"Helm init done successfully!"}

   
2. Check the Routes generated by Routing Manager and its internal map.

   If this REST API is command fired, it should return the list of routes generated for platform components and the file contents. This should match with the user expectations while debugging.

.. code:: bash

   curl -X GET "http://<KONGPROXY_IP>:3800/ric/v1/getdebuginfo" -H  "accept: application/json" | json_pp

   # curl -X GET "http://10.101.18.182:3800/ric/v1/getdebuginfo" -H  "accept: application/json" | json_pp
   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                  Dload  Upload   Total   Spent    Left  Speed
   100  3765    0  3765    0     0  71037      0 --:--:-- --:--:-- --:--:-- 71037
   {
    "RouteConfigs" : "{\n\"XApps\": null,\n\"E2Ts\": {\n\"10.102.131.163:38000\": {\n\"name\": \"E2TERMINST\",\n\"fqdn\": \"10.102.131.163:38000\",\n\"ranlist\": []\n},\n\"10.103.165.47:38000\": {\n\"name\": \"E2TERMINST\",\n\"fqdn\": \"10.103.165.47:38000\",\n\"ranlist\": []\n},\n\"10.104.160.127:38000\": {\n\"name\": \"E2TERMINST\",\n\"fqdn\": \"10.104.160.127:38000\",\n\"ranlist\": []\n},\n\"10.104.30.46:38000\": {\n\"name\": \"E2TERMINST\",\n\"fqdn\": \"10.104.30.46:38000\",\n\"ranlist\": []\n},\n\"10.108.90.168:38000\": {\n\"name\": \"E2TERMINST\",\n\"fqdn\": \"10.108.90.168:38000\",\n\"ranlist\": []\n},\n\"10.110.3.220:38000\": {\n\"name\": \"E2TERMINST\",\n\"fqdn\": \"10.110.3.220:38000\",\n\"ranlist\": []\n},\n\"10.97.122.250:38000\": {\n\"name\": \"E2TERMINST\",\n\"fqdn\": \"10.97.122.250:38000\",\n\"ranlist\": []\n},\n\"10.98.173.62:38000\": {\n\"name\": \"E2TERMINST\",\n\"fqdn\": \"10.98.173.62:38000\",\n\"ranlist\": []\n}\n},\n\"MeidMap\": [],\n\"Pcs\": [\n{\n\"name\": \"E2TERM\",\n\"fqdn\": \"service-ricplt-e2term-rmr.ricplt\",\n\"port\": 38000\n},\n{\n\"name\": \"SUBMAN\",\n\"fqdn\": \"service-ricplt-submgr-rmr.ricplt\",\n\"port\": 4560\n},\n{\n\"name\": \"E2MAN\",\n\"fqdn\": \"service-ricplt-e2mgr-rmr.ricplt\",\n\"port\": 3801\n},\n{\n\"name\": \"RSM\",\n\"fqdn\": \"service-ricplt-rsm-rmr.ricplt\",\n\"port\": 4801\n},\n{\n\"name\": \"A1MEDIATOR\",\n\"fqdn\": \"service-ricplt-a1mediator-rmr.ricplt\",\n\"port\": 4562\n}\n]\n}",
   "RouteTable" : [
      "newrt|start\n",
      "mse|12010,service-ricplt-submgr-rmr.ricplt:4560|-1|%meid\n",
      "mse|12020,service-ricplt-submgr-rmr.ricplt:4560|-1|%meid\n",
      "mse|12011|-1|service-ricplt-submgr-rmr.ricplt:4560\n",
      "mse|12021|-1|service-ricplt-submgr-rmr.ricplt:4560\n",
      "mse|12012|-1|service-ricplt-submgr-rmr.ricplt:4560\n",
      "mse|12022|-1|service-ricplt-submgr-rmr.ricplt:4560\n",
      "mse|10060,service-ricplt-e2mgr-rmr.ricplt:3801|-1|%meid\n",
      "mse|10070,service-ricplt-e2mgr-rmr.ricplt:3801|-1|%meid\n",
      "mse|10071,service-ricplt-e2mgr-rmr.ricplt:3801|-1|%meid\n",
      "mse|10360,service-ricplt-e2mgr-rmr.ricplt:3801|-1|%meid\n",
      "mse|10081,service-ricplt-e2mgr-rmr.ricplt:3801|-1|%meid\n",
      "mse|10082,service-ricplt-e2mgr-rmr.ricplt:3801|-1|%meid\n",
      "mse|10371,service-ricplt-e2mgr-rmr.ricplt:3801|-1|%meid\n",
      "mse|10372,service-ricplt-e2mgr-rmr.ricplt:3801|-1|%meid\n",
      "mse|1100|-1|service-ricplt-e2mgr-rmr.ricplt:3801\n",
      "mse|10061|-1|service-ricplt-e2mgr-rmr.ricplt:3801\n",
      "mse|10062|-1|service-ricplt-e2mgr-rmr.ricplt:3801\n",
      "mse|10070|-1|service-ricplt-e2mgr-rmr.ricplt:3801\n",
      "mse|10071|-1|service-ricplt-e2mgr-rmr.ricplt:3801\n",
      "mse|10361|-1|service-ricplt-e2mgr-rmr.ricplt:3801\n",
      "mse|10362|-1|service-ricplt-e2mgr-rmr.ricplt:3801\n",
      "mse|10370|-1|service-ricplt-e2mgr-rmr.ricplt:3801\n",
      "mse|1080|-1|service-ricplt-e2mgr-rmr.ricplt:3801\n",
      "mse|10030|-1|service-ricplt-e2mgr-rmr.ricplt:3801\n",
      "mse|10080|-1|service-ricplt-e2mgr-rmr.ricplt:3801\n",
      "mse|10020|-1|service-ricplt-e2mgr-rmr.ricplt:3801\n",
      "mse|1102|-1|service-ricplt-e2mgr-rmr.ricplt:3801\n",
      "mse|1200,service-ricplt-e2mgr-rmr.ricplt:3801|-1|\n",
      "mse|1210,service-ricplt-e2mgr-rmr.ricplt:3801|-1|\n",
      "mse|1220,service-ricplt-e2mgr-rmr.ricplt:3801|-1|\n",
      "mse|20012|-1|service-ricplt-a1mediator-rmr.ricplt:4562\n",
      "mse|20011|-1|service-ricplt-a1mediator-rmr.ricplt:4562\n",
      "mse|1090,service-ricplt-e2mgr-rmr.ricplt:3801|-1|10.104.160.127:38000;10.108.90.168:38000;10.102.131.163:38000;10.97.122.250:38000;10.98.173.62:38000;10.103.165.47:38000;10.110.3.220:38000;10.104.30.46:38000\n",
      "mse|1101,service-ricplt-e2mgr-rmr.ricplt:3801|-1|10.104.160.127:38000;10.108.90.168:38000;10.102.131.163:38000;10.97.122.250:38000;10.98.173.62:38000;10.103.165.47:38000;10.110.3.220:38000;10.104.30.46:38000\n",
      "newrt|end\n",
      "meid_map|start\nmeid_map|end|0\n"
   ]
   }

3. Further debugging can be done by checking the logs of routing manager. Debug flag if enabled in config map will allow more logs to be printed on the console

.. code:: bash

   #To enable debug logs, ensure this variable is as shown below in  ric-dep/helm/rtmgr/templates/config.yaml
           "logger":
                 "level": 4
   #Re-start rtmgr and check for the logs,
           kubectl logs <podname> -n ricplt

Executing unit tests
--------------------
For running unit tests, execute the following command:
   `go test ./pkg/nbi` (or any package - feel free to add your own parameters)

If you wish to execute the full UT set with coverage:

.. code:: bash

   mkdir -p unit-test
   go test ./pkg/sbi ./pkg/rpe ./pkg/nbi ./pkg/sdl -cover -race -coverprofile=$PWD/unit-test/c.out
   go tool cover -html=$PWD/unit-test/c.out -o $PWD/unit-test/coverage.html

