Skip to content

Releases: thc1006/oran-e2-node

v1.0.0 - Initial Release

15 Nov 23:09

Choose a tag to compare

🎉 Initial Release: v1.0.0

Overview

E2 Node Simulator for O-RAN RIC Platform - Production-ready HTTP-based E2 interface traffic generator.


✨ Features

Multi-xApp Support

  • ✅ KPIMON (port 8081)
  • ✅ Traffic Steering (port 8081)
  • ✅ QoE Predictor (port 8090)
  • ✅ RAN Control (port 8100)
  • ✅ Federated Learning (port 8110)

Realistic KPI Data Generation

  • PRB utilization (DL/UL)
  • Active UE count
  • Throughput metrics (Mbps)
  • Latency measurements (ms)
  • RSRP/RSRQ values (dBm)
  • CQI/MCS values

Kubernetes-Native Deployment

  • Containerized deployment
  • Resource limits configured
  • Health check endpoints
  • Service discovery via DNS

📦 Components

simulator/
├── src/
│   └── e2_simulator.py      # Main simulator logic
├── deploy/
│   └── deployment.yaml      # Kubernetes deployment
├── Dockerfile               # Container build
├── requirements.txt         # Python dependencies
└── README.md               # Documentation

🚀 Quick Start

Deploy to Kubernetes:

kubectl apply -f deploy/deployment.yaml

Verify Deployment:

kubectl get pods -n ricxapp | grep e2-simulator
kubectl logs -n ricxapp -l app=e2-simulator -f

Build Custom Image:

docker build -t localhost:5000/e2-simulator:1.0.0 .
docker push localhost:5000/e2-simulator:1.0.0

🔧 Configuration

Simulation Parameters:

  • Iteration interval: 30 seconds (configurable)
  • Cell ID: 1234567 (configurable)
  • xApp targets: 5 xApps (extensible)

Resource Requirements:

resources:
  requests:
    memory: 64Mi
    cpu: 50m
  limits:
    memory: 128Mi
    cpu: 100m

📊 Generated Metrics

Sample KPI Data:

{
  "cell_id": 1234567,
  "prb_usage_dl": 45.2,
  "prb_usage_ul": 32.8,
  "active_ue_count": 25,
  "throughput_dl_mbps": 120.5,
  "throughput_ul_mbps": 45.3,
  "latency_ms": 12.5,
  "rsrp_dbm": -85,
  "rsrq_db": -10,
  "cqi": 12,
  "mcs": 18
}

🔗 Integration

Parent Project:

Usage:
This simulator is designed to be used as a git submodule in the main RIC Platform project:

cd oran-ric-platform
git submodule add https://github.com/thc1006/oran-e2-node.git simulator/e2-simulator

📚 Documentation

Complete documentation available in README.md:

  • Architecture overview
  • Configuration guide
  • Troubleshooting tips
  • Extension guide

🎯 Use Cases

  1. xApp Development - Test xApp logic without real RAN equipment
  2. Metrics Validation - Verify Prometheus metrics integration
  3. Performance Testing - Simulate various network conditions
  4. CI/CD Integration - Automated testing in deployment pipelines

🐛 Known Limitations

  • HTTP-based (not full E2AP protocol)
  • Simplified KPI data model
  • Single cell simulation
  • No RAN state management

🙏 Credits

Author: 蔡秀吉 (thc1006)

Related Projects:


📝 Technical Details

Dependencies:

  • Python 3.9+
  • requests
  • Kubernetes DNS

Base Image:

  • python:3.9-slim

Image Size:

  • ~150MB

🔮 Future Enhancements

Planned features for v2.0.0:

  • Full E2AP protocol support
  • Multi-cell simulation
  • Scenario configuration files
  • Advanced KPI models
  • gNB state machine

Released: 2025-11-15
Commit: 6ee03a0