Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Near Realtime RIC Installation 

The goal of this tutorial is to install and run the Near Realtime RIC 

Hello World xApp Use Case Flows

This is a step by step tutorial to on-board, deploy and run a Hello World xApp in a Near Realtime RAN Intelligent Controller (RIC) instance.

RICNR

For more information on the Non-Realtime RIC please see the NONRTRIC Project wiki

SMO Installation

The goal of this tutorial is to install and run the Service Management Orchestrator

Running A1 and O1 Use Case Flows (outdated)

Outdated The goal of this tutorial is to run the A1 and O1 interface

O-RAN Alliance Components Definition

For the purposes of the present document, the terms and definitions given in 3GPP TR 21.905 [1] and the following apply. A term defined in the present document takes precedence over the definition of the same term, if any, in 3GPP TR 21.905 [1].

near-RT RIC: O-RAN near-real-time RAN Intelligent Controller: a logical function that enables near-real-time control and optimization of O-RAN elements and resources via fine-grained data collection and actions over E2 interface.

Non-RT RIC: O-RAN non-real-time RAN Intelligent Controller: a logical function that enables non-real-time control and optimization of RAN elements and resources, AI/ML workflow including model training and updates, and policy-based guidance of applications/features in near-RT RIC.

NMS: A Network Management System

O-CU: O-RAN Central Unit: a logical node hosting RRC, SDAP and PDCP protocols

O-CU-CP: O-RAN Central Unit – Control Plane: a logical node hosting the RRC and the control plane part of the PDCP protocol

O-CU-UP: O-RAN Central Unit – User Plane: a logical node hosting the user plane part of the PDCP protocol and the SDAP protocol

O-DU: O-RAN Distributed Unit: a logical node hosting RLC/MAC/High-PHY layers based on a lower layer functional split.

O-RU: O-RAN Radio Unit: a logical node hosting Low-PHY layer and RF processing based on a lower layer functional split. This is similar to 3GPP’s “TRP” or “RRH” but more specific in including the Low-PHY layer (FFT/iFFT, PRACH extraction).

O1: Interface between management entities in Service Management and Orchestration Framework and O-RAN managed elements, for operation and management, by which FCAPS management, Software management, File management shall be achieved.

O1*: Interface between Service Management and Orchestration Framework and Infrastructure Management Framework supporting O-RAN virtual network functions.

xAPP: Independent software plug-in to the Near-RT RIC platform to provide functional extensibility to the RAN by third parties.

Image Added

Figure 2: O-RAN architecture overview

In the O-RAN architecture, the radio side includes Near-RT RIC, O-CU-CP, O-CU-UP, O-DU, and O-RU. The management side includes Service Management and Orchestration Framework that contains a Non-RT-RIC function.

...

Note: sudo access is required for installation

Getting Started PDF

...

Note:  cd to your directory where installation will be, i.e. /home/user

Run ...

$ git clone http://gerrit.o-ran-sc.org/r/it/dep

$ cd dep
$ git submodule update --init --recursive --remote

...

$ sudo -i
$ cd tools/k8s/bin
./gen-cloud-init.sh   # will generate the stack install script for what RIC needs

...

Run ...

$ ../etc
$ vi infra.rc   # Review and edit the versions, using the combination for ONAP Frankfurt
$ cd ../bin
$ ./gen-cloud-init.sh   # The stack install script for ONAP will be generated.

...

Run ...

$ ./k8s-1node-cloud-init-k_1_16-h_2_12-d_cur.sh

NOTE: Upon completion of this script, the VM will be rebooted.  You will then need to login once again! Do not forget to "sudo -i"

$ kubectl get pods --all-namespace  # There should be 8 or 9 pods running in kube-system namespace.

...

$ cd dep/bin
$ ./deploy-ric-platform -f ../RECIPE_EXAMPLE?PLATFORM/example_recipe.yaml
$ kubectl get pods -n ricplt   # There should be X pods running in the ricplt namespace.  

...

Run...

...

Run..

#  Verify xApp is not running...

kubectl get pods -n ricxapp

# Call xApp Manager to deploy HelloWorld xApp...

curl --location --request POST "http://$(hostname):32080/appmgr/ric/v1/xapps"  --header 'Content-Type: application/json'  --data-raw '{"xappName": "hwxapp"}'

# Verify xApp is running...

kubectl get pods -n ricxapp

# View logs...

$ kubectl logs -n ricxapp <name of POD retrieved from statement above>

...

Kubectl commads:

kubectl get pods -n nampespace - gets a list of Pods running

kubectl get logs -n namespace name_of_running_pod

Complete these tasks to get started

Recent space activity

Recently Updated
typespage, comment, blogpost
max5
hideHeadingtrue
themesocial

Space contributors

...