@@ -777,6 +777,7 @@ Note: If deployment (ansible controller) is initiated from a remote host (master
```
## Kubernetes cluster Deployment
Once the inventory file is configured, the deployment of the Kubernetes cluster can be initiated using one of the following two commands. The main distinction between them lies in the network plugin they utilize. One command utilizes Calico as the network plugin, while the other employs Flannel. The option that best aligns with the platform and requirements can be selected.
Access the main directory first to launch the command.
```bash
...
...
@@ -864,11 +865,36 @@ The E42 interface enhances the E2 interface by adding five additional procedures
These procedures expand the capabilities of the interface to better manage and control network functions.
### Message Exchange in FlexRIC
1.**Initialization Phase**
-**Initialize**: Both NEAR-RIC and xApp initialize their operations.
2.**Setup Phase**
-**E2 Setup Request**: E2 Node to NEAR-RIC to initiate setup.
-**E2 Setup Response**: NEAR-RIC to E2 Node acknowledging setup.
-**Accept RAN Function**: NEAR-RIC accepts the RAN function.
-**E42 Setup Request**: NEAR-RIC to xApp initiating E42 setup.
-**E42 Setup Response**: xApp to NEAR-RIC acknowledging E42 setup.
3.**Subscription Phase**
-**Subscription Request**: xApp to NEAR-RIC to E2 Node requesting subscription to RAN function reports and metrics.
-**Report stats of RAN Funcs**: E2 Node to NEAR-RIC to xApp reporting RAN function statistics, stored in SQLite.
4.**Indication Phase**
-**Indication**: E2 Node to NEAR-RIC to xApp sending real-time data and performance metrics, stored in SQLite.
5.**Subscription Deletion Phase**
-**Subscription Delete Request**: xApp to NEAR-RIC to E2 Node requesting subscription termination.
-**Subscription Delete Response**: E2 Node to NEAR-RIC to xApp confirming subscription deletion.
Service Models are designed as plug-ins (shared dynamic libraries).Service Models need to be loaded in the nearRT-RIC, as well as in the E2 agent.
Service Models (SMs) are defined sets of operations, metrics, and data structures that specify how RAN functions can be controlled and monitored. They standardize the way different RAN functions interact with the RIC and xApps, ensuring consistency and interoperability. In the flexRIC some of these Service Models support multi-language some others not. Here's the overview:
| SM Supported | C-binding | Python binding |
|--------------|-----------|----------------|
...
...
@@ -882,6 +908,8 @@ Service Models are designed as plug-ins (shared dynamic libraries).Service Model
| RC | YES | NO |
Service Models are designed as plug-ins (shared dynamic libraries). Service Models need to be loaded in the nearRT-RIC, as well as in the E2 agent.
@@ -889,12 +917,12 @@ Service Models are designed as plug-ins (shared dynamic libraries).Service Model
In the [blueprint-flexric](https://repo.nitlab.uth.gr/tsou/blueprint-flexric) repository two FlexRIC deployment versions are provided:
- RF Simulator FlexRIC Connectivity: Enables RIC connectivity with the simulation of radio frequencies (RFsimulator) setup within Kubernetes pods.
- RF Simulator FlexRIC Connectivity: Enables RIC connectivity with the simulation of radio frequencies (RFsimulator) setup within Kubernetes pods (OAI CORE, RF Simulator, FLEXRIC, UE).
- Baremetal FlexRIC Connectivity (USRP RAN): Direct connectivity through Universal Software Radio Peripheral (USRP) for real-world testing and deployment. Supports compiling E2-Enabled RAN and FlexRIC on baremetal as a systemd service.
- Baremetal FlexRIC Connectivity (USRP RAN): Direct connectivity through Universal Software Radio Peripheral (USRP) for real-world testing and deployment. Supports compiling E2-Enabled RAN and FlexRIC on baremetal as a systemd service. (OAI CORE, OAI RAN (USRP), FLEXRIC):
In order to deploy the needed components for the RAN, you need to use a separate ansible playbook, and specify the node on which the RAN software should be added.
...
...
@@ -1062,7 +1104,6 @@ This playbook does the following:
5. Will create a systemd service for FlexRIC and will start the FlexRIC Controller.
#### Core
The AMF adress is static IP adress atatched on the pod via Multus and is well-known: 10.10.20.2
...
...
@@ -1092,7 +1133,7 @@ On the RAN node, do the following:
USRP B210:
```
```bash
cd /root/openairinterface5g
source oaienv
cd cmake_targets/ran_build/build
...
...
@@ -1107,7 +1148,7 @@ To run the OAI RAN:
USRP N300:
```
```bash
cd /root/openairinterface5g
source oaienv
cd cmake_targets/ran_build/build
...
...
@@ -1122,7 +1163,7 @@ To run the OAI RAN:
USRP X300:
```
```bash
cd /root/openairinterface5g/
source oaienv
cd cmake_targets/ran_build/build
...
...
@@ -1146,17 +1187,17 @@ For COTS UE connection and perfomance tips rely on: [this tutorial](https://gitl
- You can check the logs of the FlexRIC controller with this command:
```
```bash
systemctl status flexric.service
```
- You can access the xapp libraries within this directory in your RAN node:
- You can access the xapp executables within this directory in your RAN node:
```
```bash
cd /root/flexric/build/examples/xApp
```
and run you xapp.
and run your xapp.
- You can simply uninstall the blueprint deployment (OAI CORE and FLEXRIC) by simply run this playbook: