Files
git.stella-ops.org/docs/features/checked/releaseorchestrator/a-b-release-manager.md
2026-02-14 09:11:48 +02:00

1.9 KiB

A/B Release Manager (Traffic Splitting Between Versions)

Module

ReleaseOrchestrator

Status

VERIFIED

Description

A/B release management for running parallel control/treatment versions with configurable traffic weight distribution, experiment metrics tracking, and promote/rollback based on results.

Implementation Details

  • Modules: src/ReleaseOrchestrator/__Libraries/StellaOps.ReleaseOrchestrator.Progressive/AbRelease/
  • Key Classes:
    • AbReleaseManager (src/ReleaseOrchestrator/__Libraries/StellaOps.ReleaseOrchestrator.Progressive/AbRelease/AbReleaseManager.cs) - manages A/B release lifecycle with traffic weight distribution
    • InMemoryAbReleaseStore (src/ReleaseOrchestrator/__Libraries/StellaOps.ReleaseOrchestrator.Progressive/AbRelease/InMemoryAbReleaseStore.cs) - in-memory store for A/B release state
    • TrafficRouterRegistry (src/ReleaseOrchestrator/__Libraries/StellaOps.ReleaseOrchestrator.Progressive/Routing/TrafficRouterRegistry.cs) - registry of traffic routers for A/B splits
    • InMemoryTrafficRouter (src/ReleaseOrchestrator/__Libraries/StellaOps.ReleaseOrchestrator.Progressive/Routing/InMemoryTrafficRouter.cs) - in-memory traffic routing implementation
  • Interfaces: IAbReleaseManager, IAbReleaseStore, ITrafficRouter
  • Source: SPRINT_20260110_110_001_PROGDL_ab_release_manager.md

E2E Test Plan

  • Create an A/B release with 80/20 traffic split and verify both versions receive traffic at configured weights
  • Verify promote: promote the treatment version and confirm all traffic shifts to it
  • Verify rollback: rollback the A/B release and confirm all traffic returns to control version
  • Verify AbReleaseManager tracks experiment metrics during the A/B test period
  • Verify invalid state transitions are rejected (e.g., promoting an already-concluded experiment)

Verification

  • Verified: 2026-02-13T21:00:00Z
  • Method: Tier 2d integration tests
  • Result: PASS