Host Controller Architecture

The architecture of VTS test framework integrates with its cloud-based test serving service. A VTS Host Controller runs on a host machine and controls a test harness (e.g., TradeFed) instance as shown below:

Host controller architecture

Figure 1. VTS Host Controller architecture

The controller pulls commands from a Cluster Commander running as a Google App Engine (GAE) instance, then relays commands and responses between its cluster commander and the test harness instance.

This architecture includes the following advantages:

  • Because it is decoupled from any test harness instance, it can control different types of test harnesses and is more robust. The alternative design (embedding the host control logic in a test harness) does not block errors from propagating.
  • Because it uses a pull-based command-and-control (C&C) model, it can work with different types of cloud-side cluster commanders as well as hosts that exist behind a firewall (for ingress connections). The alternative design (push-based C&C model) may not allow a cloud commander to access host controller instances that exist on host computers in a private network.