Tutorial for end-to-end O-RAN deployment and AI development for the Lipari Summer School 2024.
EXTREMELY IMPORTANT: Since WiFi might drop mid-experiment, you MUST use tmux
extensively as any drop in the ssh
connection will result in scripts getting stopped, and need to redo most steps. So, do a favour to yourself and use tmux
.
In this tutorial, you will learn how to (i) access and make a reservation on Colosseum; (ii) use the SCOPE [1] and ColO-RAN [2] components of OpenRAN Gym [3] to develop O-RAN-compliant Artificial Intelligence (AI)/Machine Learning (ML) solutions; and (iii) deploy them as xApps on the near-RT RAN Intelligent Controller (RIC). In this tutorial, we are going to use 4 nodes, representing one Base Station (BS), two users (UE) and the near-RT RIC. You will learn how to collect data on Colosseum, perform data analysis and design AI-based xApps that perform either forecasting or real-time RAN control of network slicing strategies.
We have pre-allocated 10 accounts exclusively dedicated to the school. Each account follows the nomenclature liparischool<X>
, where <X>
is a number from 1 to 10. For instance, the account for team 5 is liparischool5
. Please take notice of the team number assigned to you, it will be necessary to access your team account on Colosseum. The password for all team accounts will be provided during the tutorial. If you do not know which team number has been assigned to you, please ask one of the instructors. Credentials to access the Colosseum documentation on Freshdesk [3] (i.e., Colosseum helpdesk) will also be provided during the tutorial.
NOTE: In some portions of the tutorial (e.g., when asked to login into the VPN, a couple of lines below), your credentials will also be referred to as LDAP username and password.
-
Connect to Colosseum VPN (instructions here), login to Colosseum website, and upload your SSH public key (instructions here). Please note that only a single SSH key is supported at this time.
-
Complete the setup instructions here.
-
Make a reservation with four Colosseum nodes, called SRNs (see instructions on Making a Reservation). The order of the SRNs shall be the following: for the first three SRNs choose the
scope-with-e2
image, while for the forth choose thecoloran-near-rt-ric-prebuilt
image. It is noted that the RIC should be allocated to the last SRN in the Colosseum reservation. Below you find an example with one BS, one UE, and the RIC. You will need 4 SRNs: 1 BS , 2 UEs, 1 RIC (3xscope-with-e2
images, 1coloran-near-rt-ric-prebuilt
image). -
On the reservation page, you can find the assigned SRNs/nodes and their hostnames by hovering over the nodes.
-
At your scheduled reservation time, open five terminals. Two for the SCOPE BS, one for each SCOPE UE (i.e., two), and one for the RIC. In each terminal, SSH as
root
user into the assigned Colosseum SRNs:ssh root@<srn-hostname>
. The password for thescope-with-e2
container isscope
, while for thecoloran-near-rt-ric-prebuilt
image, the password isChangeMe
. In any of the terminals, run the following command to start a Colosseum Radio-frequency (RF) scenario through the Colosseum CLI API (see instructions here):colosseumcli rf start 1009 -c
. More information about the scenario can be found in Test Scenario All Paths 0 dB (1009). When the scenario starts, an output similar to the following is returned (time is in UTC):
Scenario Start Time is 22:30:45
Instructions on how to run the base stations and UEs can be found here
Instructions on how to run the near-real-time RIC and xApp can be found here
The assignments can be found here
[1] https://openrangym.com/ran-frameworks/scope