Skip to content

OpenNebula/contract-oneedge5G-uma-5g

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

65 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ONEedge5G - Complete 5G O-RAN Virtualized Setup with OpenNebula

ONEedge5G Logo

ONEedge5G is a comprehensive project for optimized 5G network deployment using OpenNebula as a virtualization platform. The project provides a complete solution that includes automation, installation scripts, optimized configurations, and pre-configured appliances to facilitate the deployment of 5G O-RAN infrastructures with precise timing synchronization.

πŸš€ Project Overview

This repository contains everything needed to deploy a production-ready 5G O-RAN network infrastructure using OpenNebula virtualization platform. The solution supports both manual and automated deployment approaches, with a focus on ultra-low latency, high-precision timing synchronization, and optimal performance for 5G workloads.

Key Features

  • Complete 5G O-RAN Stack: srsRAN Project (CU/DU) + Open5GS (5G Core)
  • High-Precision Timing: ITU-T G.8275.1 PTP synchronization with nanosecond accuracy
  • OpenNebula Appliances: Pre-configured VM images for rapid deployment
  • Performance Optimization: Real-time kernel, DPDK support, and system tuning
  • Hardware Integration: Intel E810 NIC with SR-IOV and PTP support
  • Automation Ready: OneDeploy integration for automated deployment
  • Production Tested: Validated with RU LiteON hardware

πŸ“ Repository Structure

β”œβ”€β”€ automation/                   # Automation tools
β”‚   β”œβ”€β”€ appliances/               # OpenNebula appliances
β”‚   └── onedeploy/                # OneDeploy automation
β”œβ”€β”€ configs/                      # Configuration files
β”‚   β”œβ”€β”€ ptp/                      # PTP synchronization configs
β”‚   β”œβ”€β”€ srsran/                   # srsRAN configurations
β”‚   └── system/                   # System configurations
β”œβ”€β”€ docs/                         # Documentation
β”‚   β”œβ”€β”€ automatic_deployment_guide.md
β”‚   β”œβ”€β”€ manual_deployment_guide.md
β”‚   └── manual_deployment_guide.pdf
β”œβ”€β”€ scripts/                      # Installation and optimization scripts
β”‚   β”œβ”€β”€ install/                  # Installation scripts
β”‚   β”œβ”€β”€ performance/              # Performance optimization
β”‚   └── testing/                  # Testing and validation
└── sources/                      # Source packages
    β”œβ”€β”€ drivers/                  # Hardware drivers
    └── software/                 # Software packages

πŸ—οΈ Architecture

Deployment Components

1. OpenNebula Appliances

  • srsRAN Project Appliance: Complete 5G software radio suite with Split 7.2 support
  • Open5GS (openFGS) Appliance: 5G Core Network implementation

2. Automation Framework

  • OneDeploy: Automated OpenNebula deployment and configuration
  • Packer: Automated appliance construction

3. Installation Scripts

  • Installation of 5G components (srsRAN, Open5GS)
  • PTP synchronization configuration
  • Intel ice driver installation
  • Real-time kernel configuration
  • Performance optimization

4. Configurations

  • PTP configurations for network synchronization
  • srsRAN configurations for different scenarios
  • Optimized system configurations

Network Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    KVM OpenNebula Host                      β”‚
β”‚                   PTP4L Grandmaster                         β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚   srsRAN VM     β”‚         β”‚      Open5GS VM         β”‚    β”‚
β”‚  β”‚   (CU/DU)       │◄─────────    (5G Core)            β”‚    β”‚
β”‚  β”‚ 32 CPU/32GB RAM β”‚         β”‚  8 CPU/16GB RAM         β”‚    β”‚
β”‚  β”‚   VF (SR-IOV)   β”‚         β”‚                         β”‚    β”‚
β”‚  β”‚   ptp_kvm sync  β”‚         β”‚                         β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β”‚           β”‚                                                 β”‚
β”‚           β”‚ VF from PF (SR-IOV)                             β”‚
β”‚           β”‚ Host: PTP4L on PF                               β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
            β”‚ PF with PTP4L
            β”‚
    β”Œβ”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚  RU LiteON   β”‚              β”‚   5G UE     β”‚
    β”‚  (Radio Unit)│◄────────────── (Smartphonesβ”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   RF Link    β”‚  Devices,   β”‚
                                  β”‚  IoT, etc.) β”‚
                                  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“‹ System Requirements

KVM Host Requirements

  • CPU: Intel with SR-IOV support
  • RAM: Minimum 64 GB (recommended 128 GB)
  • Network: Intel E810 NIC with PTP support
  • OS: Ubuntu 24.04 LTS
  • Kernel: Real-time kernel (Linux 6.8.2-rt10)

Critical Hardware Components

  • High-Precision PTP NIC: Intel E810 with nanosecond-level PTP synchronization
  • SR-IOV Support: For direct hardware access to VMs
  • PTP Grandmaster: Host-based PTP4L service for timing distribution

πŸš€ Quick Start

Option 1: Automated Deployment (Recommended)

  1. Clone the repository:

    git clone <repository-url>
    cd contract-oneedge5G-uma-5g
  2. Deploy OpenNebula with OneDeploy:

    cd automation/onedeploy
    # Configure inventory.yml with your hosts
    ./deploy.sh
  3. Deploy using appliances:

    # Follow the automatic deployment guide
    # See docs/automatic_deployment_guide.md

Option 2: Manual Deployment

  1. Install host dependencies:

    # Install Intel ice driver
    ./scripts/install/install_ice_driver.sh
    
    # Install LinuxPTP
    ./scripts/install/install_linuxptp.sh
    
    # Setup PTP grandmaster
    ./scripts/install/install_host_ptp_grandmaster.sh
  2. Optimize host performance:

    # Install real-time kernel
    ./scripts/install/install_rt_kernel.sh
    
    # Optimize KVM host
    ./scripts/performance/optimize_kvm_host.sh
  3. Deploy VMs and configure services:

    # Follow the manual deployment guide
    # See docs/manual_deployment_guide.md

πŸ”§ Key Components

srsRAN Project Appliance

  • Real-time Kernel: Linux 6.8.2-rt10 for ultra-low latency
  • DPDK Support: Dual installation (base + DPDK versions)
  • Intel iavf Driver: v4.13.3 with PTP support
  • LinuxPTP: v4.3 for VM clock synchronization
  • Performance Optimizations: Pre-configured system tuning
  • Split 7.2 Support: Complete Open Fronthaul support
  • Deployment Modes: gNodeB, CU, DU

Open5GS (openFGS) Appliance

  • Complete 5G SA Core: AMF, SMF, UPF, AUSF, UDM, UDR, PCF, NRF, BSF, NSSF
  • WebUI: Web interface for subscriber management
  • MongoDB 8.0: Subscriber database
  • Pre-configured: Ready for immediate deployment
  • Network Optimization: Automatic IP forwarding and NAT configuration

PTP Synchronization

  • ITU-T G.8275.1 Profile: Standard configuration for mobile networks
  • Domain 24: Standard domain for 5G networks
  • Clock Class 6: PRC (Primary Reference Clock) quality
  • Layer 2 Transport: Ethernet for maximum precision

πŸ“Š Performance Metrics

  • PTP Synchronization Latency: < 1ΞΌs
  • 5G Throughput: According to band configuration
  • User Plane Latency: < 1ms
  • VM Clock Synchronization: Nanosecond-level accuracy

πŸ“– Documentation

πŸ§ͺ Testing and Validation

Testing Scripts

  • demo.sh: Demonstration script with UE
  • End-to-end connectivity tests
  • PTP synchronization validation
  • Performance verification

Validation Criteria

  • PTP synchronization accuracy
  • 5G network functionality
  • Performance benchmarks
  • Hardware integration

πŸ”— References

Acknowledgements

Some of the software features included in this repository have been made possible through the funding of the following innovation project: ONEedge5G.

About

Automated deployment of OpenNebula optimized for 5G workloads using Terraform and OneDeploy

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •