The University of Utah uses Kiwi TCMS

inside their Platform for Open Wireless Data-driven Experimental Research environment

Posted by Kiwi TCMS Team on Wed 16 August 2023 under community

"University of Utah + Kiwi TCMS logos"

The University of Utah is a public research university in Salt Lake City, USA. It is the flagship institution of the Utah System of Higher Education and was established in 1850.

The University of Utah's School of Computing, founded as the Computer Science Department in 1965, has a long and distinguished record of high impact research. The university has provided large, automated testbeds since around the year 2000, funded by the National Science Foundation.

The Flux Research Group conducts research in operating systems, networking, security, and virtualization. The group consists of three faculty and over two dozen research staff, graduate students, and undergrads.

POWDER (the Platform for Open Wireless Data-driven Experimental Research) is flexible infrastructure enabling a wide range of software-defined experiments on the future of wireless networks. POWDER supports software-programmable experimentation on 5G and beyond, massive MIMO, ORAN, spectrum sharing and CBRS, RF monitoring, and anything else that can be supported on software-defined radios.

In the words of David M. Johnson, research staff:

The addition of Kiwi TCMS to our POWDER mobile wireless testbed helps to support the complex multi-system, end-to-end functional test and integration scenarios we see in the 5G/O-RAN/beyond mobile wireless space.

We use Kiwi TCMS as part of an on-demand environment that POWDER provides to users that can help them automate testing using a workflow approach, from CI-triggered orchestration from scratch in our cloud-like environment, through resource configuration and running test suites, to finally collecting results into private instances of Kiwi TCMS.

We use both the Stackstorm and Dagster workflow engines to execute our test and integration workflows. The stackstorm-kiwitcms library is a simple Stackstorm "integration pack" (Python source code in this case) that invokes and re-exports much of the core Kiwi TCMS XML-RPC API (with some minor sugar) into Stackstorm, so that each API function is exposed as a Stackstorm action (the fundamental unit of its workflows). This means that the workflows can orchestrate resources into test scenarios; configure the resources; create or instantiate Kiwi TCMS test runs/executions/metadata; execute tests; and push test results/status into Kiwi TCMS records, upload attachments, etc, for persistence.

We use a fork of Kiwi TCMS right now so that we could upload attachments to test runs via the API. That was a trivial change which made its way upstream as part of Kiwi TCMS version 12.1.

If you like what we're doing and how Kiwi TCMS supports various communities please help us!