The softwarization of network functionality—software-defined networking, network function virtualization, network programmability, network virtualization—hat has fundamentally changed networking over the last decade is now also being applied to mobile networks in general and the radio access network (RAN) in particular. Specifically, the 'Open RAN' concept has evolved from early research prototypes (e.g. FlexRAN) to consortia with broad participation (O-RAN Alliance) and has also attracted interest from regulators (e.g. FCC).
It's straightforward to run experiments in Powder that use the Near Real Time Radio Intelligent Controller (Near-RT RIC), xApps, the O-CU Subsystem, and open software for the SMO.
Powder has already done the work for you to add RAN RAN slicing functionality to the srsRAN software and exposed that to the RIC via a custom E2 RAN slicing service model. We also implemented the O-RAN key performance measurement (KPM) E2 service model in the srsRAN code to allow xApps to obtain RAN related statistics. Our implementation includes an xApp (the NexRAN xApp) which realizes policy driven RAN slicing using these two service models.
Powder provides StackStorm and Ansible plugins that expose Powder workflow APIs and configuration as first-class entities in those tools. At a high level, the StackStorm workflow engine executes the entire test scenario, modeled as a collection of StackStorm workflows. This allows StackStorm to allocate Powder experiments by instantiating (parameterized) Powder profiles; (re) configure them (e.g., with Ansible playbooks wrapped in StackStorm workflows); and (re)execute tests (e.g., with StackStorm).
Both workflows and tests can manipulate the Powder environment to change the test scenario through their respective plugins. Our design enables straightforward integration of other test frameworks, such as Cucumber, since a StackStorm workflow is extensible to invoke any toolchain.