Web Frontend HOWTO
The Autotest web frontend can be used for
- browsing existing jobs
- viewing job details and getting to job results and log files
- submitting new jobs
- tracking hosts' statuses
- managing (browsing, creating, modifying, and deleting) hosts, labels, tests, and ACL groups
When you first bring up the frontend, you'll see something like this:
Job List
The interface initially shows the Job List tab, which allows you to browse existing jobs. The three links at the top filter jobs by status - you can view queued, running, or finished (which includes completed and aborted) jobs. You can also filter by job owner. The initial view shows queued jobs owned by you. Most recently submitted jobs are displayed first.
The Hosts column shows how many hosts in each job are currently in each state. You can use the Refresh button at the top to refresh the list (it won't refresh itself). Clicking on a job in the list brings up the View Job tab for the selected job.
View Job
The View Job tab shows details about a single job along with results and a link to log files.
The box at the top allows you to manually fetch a job by ID (or to refresh the page). The page displays basic info about the job, an abort button if the job has not completed, and the full contents of the job's control file. Below this, job results are displayed. These results come from the results backend <link?>, which is a separate application. There are also links to open the results backend in a new windows and to open the directory containing the job's raw logs, which can be useful for monitoring a job in detail while it's running or when a problem occurs and the job is not producing results. Finally, the table at the bottom shows all hosts the job was scheduled on and the current status of the job on each host.
Create Job
This tab allows you to create and submit a new job.
- Job name can be any string.
- Priority affects how your job will be placed in the queue; higher priority jobs with preempt lower priority ones that have not yet started when the jobs are scheduled on the same machine.
- The kernel field allows you to specify a kernel to install on the test machine before testing; leaving this field blank will leave out the kernel install step. Kernel install is currently only supported for client-side jobs.
- The test checkboxes allow you to specify tests to run. You may not select both client- and server-side tests in the same job.
- Clicking "View control file" will display a box that shows the control file being constructed from your choices. You may edit the control file by hand by clicking "Edit control file". This will make the control file field editable, but disables the kernel input and all test checkboxes. If you want to go back and change your selections in these inputs, you'll need to revert your kernel changes.
- The "Available hosts" and "Selected hosts" tables allow you to select hosts on which to run the job. Individual hosts can be selected and deselected by clicking on them. The filters at the top of the Available hosts table can be used to narrow your selection, just like in the Hosts tab. "Add currently displayed" adds all hosts currently visible in the Available hosts table. "Add all filtered" adds all hosts currently matching the filters. The "Run on any" box below that allows you to request that the job be run on any machines from a given platform. The machines will be automatically selected from the set of available machines when the job is run.
- Finally, the "Submit Job" will attempt to submit your job, and any errors will show up in red.
Hosts
This tab allows you to browse all hosts in the system.
The table can be searched and filtered by platform and status using the boxes at the top. The status filter defaults to "Repair failed", which is useful for finding dead hosts that need manual intervention. The columns can be sorted by clicking on the column headers. More functionality is planned for this tab in the future, such as locking hosts and repairing hosts.
Admin interface
Clicking the "Go to admin" link in the upper right corner takes you to the admin interface for managing hosts, labels, tests, and ACL groups.
This is the built-in Django admin system. Here you can browse, create, modify, and delete objects. The link in the upper right corner takes you back to the frontend. The different objects types appear on the Admin index page. Clicking on any object type takes you to a list of that object type.
The list can be sorted, searched, and filtered. The link at the top right allows you to create a new object, and clicking on any object takes you to the edit page for that object.
From this page you can fill in the information in the fields and click "Save" at the lower right corner to add or edit the object. You can also delete the object using the link at the lower left corner.
For help on the meanings of different fields, see the database documentation <link?>.
