Testgrid has three main components.
- TGAPI: API is the main player that store and retrive the data to and from the database
- Web: is the web interface for tests
- TGrun: a daemon that polls the api for queued runs and starts new vms and tests.
- Testgrid supports multi node clusters.
- You can achieve this by putting the following lines in specs file, adjusting the number of nodes as desired
numPrimaryNodes: 1
numSecondaryNodes: 1
- The previous example will make the cluster run with one primary node and one secondary node.
The process will be divided into three stages:
-
Main process before the actual node run
-
Initial primary node process
-
Normal nodes process (other primary and secondary nodes)
- The following chart explains what happens in the main process:
The primary node can be in any one of the following statuses:
-
running
when the VMI start -
JoincommandStored
when it does store the join command -
Success
when the test run successfully -
Failed
when any steps during the test fail
The following chart explains what happens in the initial primary node:
Additional nodes can be in the following status:
-
Running
when the VMI starts -
WaitingJoinCommand
when waiting on the process to start -
Joined
When the node is joined successfully to the cluster -
Success
when the test runs successfully and the initial primary node finishes the test -
failed
when it fails to run any step
The following chart explains what happens in the normal node (secondary and normal primary nodes):