Overview

This design document describes the motivation for adding Remote Runners to Testground, the description of what the feature should look like, how to implement it, open questions, and discuss a few pros & cons,

Authors
Status Ready for review
Published 2022-08-09
Approved Pending…
Epic

Reviewers:

Ack / Nack
Marten go-libp2p maintainer - requested the feature
Bloxico Testground maintainers
Piotr Testground maintainer
Anton Testground legacy maintainer
Marco non-blocking, just want to stay in the loop. (libp2p maintainer)

Motivations

The libp2p team wants to assess libp2p performances against other competing technologies such as HTTP. https://github.com/libp2p/test-plans/issues/27

The way we could solve their problem is with a set of benchmarking scripts that connect to a few machines around the internet. These scripts would take benchmark code, build it, deploy binaries, run them, eventually synchronize instances, then gather results. That looks like reinventing Testground.

One of Testground’s promises is to simulate a credible network. It would be nice to be able to compare Testground runs on a simulated network vs Testground runs on a real network.

Finally, there might be more use cases for these runners, among others:

Feature Description

Currently, Testground provides 3 runners. A runner is an abstraction we use to schedule test instances “somewhere”: