-
Notifications
You must be signed in to change notification settings - Fork 34
Manage Tester
A tester system is one where the assignment testing occurs, most often by running a virtual machine and testing the assignment inside that. Assignments are sent from a storer system, they are placed in a queue for the tester and then picked up from the queue and tested/checked (inside an environment such as a virtual machine). Results from the testing/checking phase are sent out back to the storer.
A tester system for vmchecker consists of two sets of components: executors and queue managers.
An executor is a process that starts up the testing environment (most often a virtual machine), grabs an assignment and a test archive, kick off the checking phase and grabs back the results. An executor manages a given kind of environment (for example VMware, VirtualBox, KVM and so on). There is usually only a single executor type on a given tester system, for a particular type of environment (i.e. virtual machine implementation/hypervisor).
There is a queue manager for each class. Each class uses a Unix account and stores information about the executor and queue manager. A queue manager would handle check requests for a given class and kick of the executor for the class virtual machine.
Each class requires a Unix account. Inside the Unix account one stores the folder structure for queue managers and virtual machines for the class. Typically you would store the queue manager configuration in a tester/
subfolder and the virtual machines in a vm/
subfolder. A sample folder listing (for the asm
account on the checker.cs.pub.ro
tester system) is shown below:
asm@checker:~$ tree --charset ASCII -L 3 -F
.
|-- tester/
| |-- callback_sftp.log
| |-- config
| |-- queue/
| |-- queue-manager.log
| `-- tmpunzip/
`-- vm/
`-- 2015/
|-- iocla-linux/
`-- iocla.zip
In the folder listing, the vm/
subfolder stores the iocla-linux/
virtual machine and the tester/
subfolder stores the queue manager configuration files:
-
config
is the actual configuration file for the queue manager - the
queue/
subfolder is the assignment queue; assignments sent out from the storer are placed in this folder - the
queue-manager.log
file stores logging messages output by the queue manager - the
tmpunzip/
subfolder is used for unpacking the current assignment - the
callback_sftp.log
file stores logging information from when results from an assignment are sent back to the storer system