Host-Controller-Architektur

Die Architektur des VTS-Test-Frameworks ist in den cloudbasierten Testbereitstellungsdienst eingebunden. Ein VTS-Hostcontroller wird auf einem Hostcomputer ausgeführt und steuert eine Test-Harness-Instanz (z. B. Tradefed), wie unten dargestellt:

Hostcontroller-Architektur

Abbildung 1: VTS-Hostcontroller-Architektur

Der Controller ruft Befehle von einem Cluster-Commander ab, der als Google App Engine-Instanz (GAE) ausgeführt wird, und leitet Befehle und Antworten zwischen dem Cluster-Commander und der Test-Harness-Instanz weiter.

Diese Architektur bietet folgende Vorteile:

  • Da es von jeder Test-Harness-Instanz entkoppelt ist, kann es verschiedene Arten von Test-Harnesses steuern und ist robuster. Das alternative Design (Einbetten der Hoststeuerungslogik in einen Test-Harness) verhindert nicht, dass Fehler weitergegeben werden.
  • Da er ein pullbasiertes C&C-Modell (Command-and-Control) verwendet, kann er mit verschiedenen Arten von cloudbasierten Cluster-Commandern sowie Hosts hinter einer Firewall (für Ingress-Verbindungen) verwendet werden. Das alternative Design (pushbasiertes C&C-Modell) ermöglicht es einem Cloud-Commander möglicherweise nicht, auf Hostcontroller-Instanzen zuzugreifen, die auf Hostcomputern in einem privaten Netzwerk vorhanden sind.