This section explains how to install the RIC components using RiaB in the ONOS-RIC machine.
$ cd /path/to/sdran-in-a-box
$ sudo apt install build-essential
$ make riab OPT=ric
Note: If we want to deploy a specific RIC version, we should add VER=VERSION
argument; VERSION should be one of {v1.0.0, v1.1.0, v1.2.0, latest, stable}.
After a while, RiaB Makefile completes to install K8s and deploy ONOS-RIC components. Once it is done, you can check with the below command in the ONOS-RIC machine.
NAMESPACE NAME READY STATUS RESTARTS AGE
default router 1/1 Running 0 16m
kube-system atomix-controller-6b6d96775-bc8s4 1/1 Running 0 15m
kube-system atomix-raft-storage-controller-77bd965f8d-785gz 1/1 Running 0 15m
kube-system calico-kube-controllers-6759976d49-zkvjt 1/1 Running 0 3d7h
kube-system calico-node-n22vw 1/1 Running 0 3d7h
kube-system coredns-dff8fc7d-b8lvl 1/1 Running 52 3d7h
kube-system dns-autoscaler-5d74bb9b8f-5948j 1/1 Running 0 3d7h
kube-system kube-apiserver-node1 1/1 Running 64 3d7h
kube-system kube-controller-manager-node1 1/1 Running 64 3d7h
kube-system kube-multus-ds-amd64-wg99f 1/1 Running 0 3d7h
kube-system kube-proxy-cvxz2 1/1 Running 1 3d7h
kube-system kube-scheduler-node1 1/1 Running 62 3d7h
kube-system kubernetes-dashboard-667c4c65f8-5kdcp 1/1 Running 97 3d7h
kube-system kubernetes-metrics-scraper-54fbb4d595-slnlv 1/1 Running 63 3d7h
kube-system nodelocaldns-55nr9 1/1 Running 53 3d7h
kube-system onos-operator-app-d56cb6f55-bbqbp 1/1 Running 0 10m
kube-system onos-operator-config-7986b568b-vj8tj 1/1 Running 0 10m
kube-system onos-operator-topo-76fdf46db5-56rh9 1/1 Running 0 10m
prometheus alertmanager-prometheus-prometheus-oper-alertmanager-0 2/2 Running 46 3d4h
prometheus prometheus-grafana-d6545c767-pjchc 2/2 Running 40 3d4h
prometheus prometheus-kube-state-metrics-c65b87574-w92hj 1/1 Running 98 3d4h
prometheus prometheus-prometheus-node-exporter-khqbv 1/1 Running 84 3d4h
prometheus prometheus-prometheus-oper-operator-5ff8fbd5fb-6dm4g 2/2 Running 0 3d4h
prometheus prometheus-prometheus-prometheus-oper-prometheus-0 3/3 Running 38 3d4h
riab onos-cli-9f75bc57c-vf4mr 1/1 Running 0 7m44s
riab onos-config-5d7cd9dd8c-ml8fk 4/4 Running 0 7m44s
riab onos-consensus-store-0 1/1 Running 0 7m44s
riab onos-e2t-65cddb59cc-jztrn 3/3 Running 0 7m44s
riab onos-kpimon-6bdff5875c-gng64 2/2 Running 0 7m44s
riab onos-rsm-59f79876ff-qhmpm 2/2 Running 0 7m44s
riab onos-topo-775f5f946f-t29b2 3/3 Running 0 7m44s
riab onos-uenib-5b6445d58f-qljqp 3/3 Running 0 7m44s
Note: RIC does not have a fixed IP address by which oai-enb-cu (or another eNB) can communicate with it. The onos-e2t component exposes a service in port 36421, which is associated with the IP address of the eno1 interface (i.e., the default gateway interface) where it is running. To check that IP address run the command "kubectl -n riab get svc". In the output of this command, one of the lines should show something similar to "onos-e2t-external NodePort x.y.w.z 36421:36421/SCTP 0m40s". The IP address "x.y.w.z" shown in the output of the previous command (listed in the onos-e2t-external service) is the one that is accessible from the outside of the RIC VM, i.e., by the oai-enb-cu in case of this tutorial. In a test case with another eNB, that should be the IP address to be configured in the eNB so it can communicate with onos RIC.
If RIC is running outside the OAI-CU/DU machine, run below command:
$ make routing-ric-external-ran
If there are multiple machines, we should manually add routing rules like:
$ sudo route add -host <CU IP address described in CU config file> gw <CU machine IP address> dev <RIC VM network interface name>
$ sudo route add -host <DU IP address described in DU config file> gw <DU machine IP address> dev <RIC VM network interface name>