Skip to content

v2.0.0 - Architecture Refactoring & Prometheus Metrics Integration

Latest

Choose a tag to compare

@thc1006 thc1006 released this 15 Nov 23:08
· 42 commits to main since this release

๐ŸŽ‰ Major Release: v2.0.0

๐Ÿ—๏ธ Architecture Refactoring

E2 Node Extraction - Breaking Change

  • Extracted E2 Node Simulator to independent repository: oran-e2-node
  • Set up E2 Node as git submodule at simulator/e2-simulator
  • Enables independent development and version control
  • Migration: Run git submodule update --init --recursive after pulling

Repository Cleanup

  • Removed 10,000+ lines of archived HackMD documentation
  • Updated .gitignore to exclude development artifacts
  • Reduced repository size significantly

โœจ New Features

Prometheus Metrics Integration (Complete)

  • โœ… HTTP endpoints for all xApps (KPIMON, Traffic Steering, QoE Predictor, RC, FL)
  • โœ… Prometheus metrics scraping configuration
  • โœ… 8 comprehensive alert rule categories
  • โœ… Grafana dashboards with dynamic data

E2 Interface Testing

  • โœ… E2 Simulator with realistic KPI generation
  • โœ… Multi-xApp support (5 xApps)
  • โœ… Configurable simulation parameters

Observability Stack

  • โœ… Prometheus server integration
  • โœ… Grafana dashboards
  • โœ… Automated E2E testing with Playwright

๐Ÿ› Bug Fixes

  1. Traffic Steering SDL Error - Added error handling to prevent Pod restarts
  2. Port Configuration Inconsistency - Unified Service, Deployment, Prometheus annotations
  3. E2 Simulator Port Configuration - Fixed QoE Predictor (8090) and RC xApp (8100) ports
  4. KPIMON Metrics Not Incrementing - Added counter increment logic
  5. Playwright Headless Mode Failure - Updated to new headless mode (--headless=new)

๐Ÿ“ฆ Component Versions

Component Version Changes
KPIMON v1.0.1 HTTP endpoint + metrics increment
Traffic Steering v1.0.2 SDL error fix + port configuration
QoE Predictor v1.0.1 HTTP endpoint
RAN Control v1.0.1 HTTP endpoint
Federated Learning v1.0.0 Initial deployment
E2 Simulator v1.0.0 Now in separate repo

๐Ÿ“š Documentation

Complete deployment documentation added:


๐Ÿ”ง Technical Stack

  • Platform: O-RAN SC Near-RT RIC J Release
  • Kubernetes: k3s
  • Monitoring: Prometheus + Grafana
  • Testing: Playwright E2E automation
  • xApps: 5 production-ready applications
  • Container Registry: Local registry (localhost:5000)

๐Ÿ“Š Metrics & KPIs

Performance Targets:

  • E2 indication processing: < 10ms
  • Control command latency: < 100ms
  • xApp startup time: < 30s
  • Prometheus scraping: 8080/metrics

Available Metrics:

kpimon_messages_received_total
kpimon_messages_processed_total
kpimon_processing_time_seconds
kpimon_active_subscriptions
kpimon_kpi_value

๐Ÿš€ Deployment

Prerequisites:

  • Kubernetes cluster (k3s recommended)
  • Helm 3.x
  • O-RAN RIC Platform deployed

Quick Deploy:

# Clone with submodules
git clone --recurse-submodules https://github.com/thc1006/oran-ric-platform.git
cd oran-ric-platform

# Deploy xApps
sudo bash scripts/redeploy-xapps-with-metrics.sh

# Deploy E2 Simulator (from submodule)
cd simulator/e2-simulator
kubectl apply -f deploy/deployment.yaml

โš ๏ธ Breaking Changes

  1. E2 Simulator Location: Now requires submodule initialization

    git submodule update --init --recursive
  2. Directory Structure: simulator/e2-simulator is now a git submodule


๐Ÿ™ Credits

Author: ่”ก็ง€ๅ‰ (thc1006)

Related Projects:


๐Ÿ“ Full Changelog

See CHANGELOG.md for detailed changes.

Commits in this release:

  • 9d2c0d8 - refactor: Extract E2 Node to separate repo and clean up mono-repo
  • 2f0e21c - docs: ๆทปๅŠ ๅฎŒๆ•ด็š„้ƒจ็ฝฒ่ˆ‡ๆ•…้šœๆŽ’้™คๆ–‡ๆช”
  • 0b5f96e - feat: ๆทปๅŠ  Prometheus ็›ฃๆŽง่ˆ‡ Grafana ่‡ชๅ‹•ๅŒ–ๆธฌ่ฉฆๅŸบ็คŽ่จญๆ–ฝ
  • f6aaa56 - feat: ็‚บๆ‰€ๆœ‰ xApps ๆทปๅŠ  HTTP endpoints ไธฆๅฏฆไฝœ E2 Simulator