This page contains step by step tutorials to get you started with installing and running the Bronze Release features.
Section | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Figure 1: Demo deployment architecture
Bronze Demonstrations
Deployment
Minimum deployment for running Bronze use case demos.
SMO Cluster:
- ONAP "Lite" (Minimalistic for running SDNC/SDNR for RSAC Bronze O1)
- Minimum replicas
- VES collector is deployed standalone in ricaux namespace (w/o rest of DCAE, using a helm chart derived from the ONAP VES Cloudify Blueprint)
- Non RT RIC
Near RT RIC Cluster:
- Near RT RIC Platform
- Near RT RIC Applications
Videos
- Hello World xApp on-boarding, deployment, and policy distribution: xapp-hw.mp4
- A1 flow: a1.mp4
- O-DU HIGH - NearRTRic E2 setup: odu-high.mp4
- O1 flow: o1.mp4
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.
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.
- OS: Ubuntu 18.04 LTS (Bionic Beaver)
- CPU(s): 4
- RAM: 16 GB
- Storage: 160 GB
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
Note: After doing sudo -i you will need to return to user home directory. You will need to go /home/user.
$ ./gen-cloud-init.sh # will generate the stack install script for what RIC needs
Run ...
$ cd ../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: Be patient as this takes some time to complete. Upon completion of this script, the VM will be rebooted. You will then need to login once again.
$ sudo -i
$ kubectl get pods --all-namespaces # There should be 9 pods running in kube-system namespace.
Run ...
$ cd /home/user/dep/bin
$ ./deploy-ric-platform -f ../RECIPE_EXAMPLE/PLATFORM/example_recipe.yaml
$ kubectl get pods -n ricplt # There should be ~16 pods running in the ricplt namespace.
Run...
$ cd /home/user/dep# Create the file that will contain the URL used to start the on-boarding process...
$ echo '{ "config-file.json_url": "https://gerrit.o-ran-sc.org/r/gitweb?p=ric-app/hw.git;a=blob_plain;f=init/config-file.json;hb=HEAD" }' > onboard.hw.url
# Start on-boarding process...
$ curl --location --request POST "http://$(hostname):32080/onboard/api/v1/onboard/download" --header 'Content-Type: application/json' --data-binary "@./onboard.hw.url"
NOTE: Message "Created" will b e displayed upon completion# Verify list of all on-boarded xApps...
$ curl --location --request GET "http://$(hostname):32080/onboard/api/v1/charts"
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 | ||||||||
---|---|---|---|---|---|---|---|---|
|
Space contributors
Contributors