Job Management - autotest-rpc-client job¶
The following actions are used to manage jobs:
# autotest-rpc-client job help
usage: autotest-rpc-client job [create|list|stat|abort] [options] <job_ids>
options:
-h, --help show this help message and exit
-g, --debug Print debugging information
--kill-on-failure Stop at the first failure
--parse Print the output using colon separated key=value
fields
-v, --verbose
-w WEB_SERVER, --web=WEB_SERVER
Specify the autotest server to talk to
Creating a Job¶
# autotest-rpc-client job create help
usage: autotest-rpc-client job create [options] job_name
options:
-h, --help show this help message and exit
-g, --debug Print debugging information
--kill-on-failure Stop at the first failure
--parse Print the output using colon separated key=value
fields
-v, --verbose
-w WEB_SERVER, --web=WEB_SERVER
Specify the autotest server to talk to
-p PRIORITY, --priority=PRIORITY
Job priority (low, medium, high, urgent),
default=medium
-y, --synchronous Make the job synchronous
-c, --container Run this client job in a container
-f FILE, --control-file=FILE
use this control file
-s, --server This is server-side job
-t TESTS, --tests=TESTS
Run a job with these tests
-k KERNEL, --kernel=KERNEL
Install kernel from this URL before beginning job
-m MACHINE, --machine=MACHINE
List of machines to run on (hostnames or n*label)
-M MACHINE_FLIST, --mlist=MACHINE_FLIST
File listing machines to use
You can only create one job at a time. The job will be assigned the name
job_name
and will be run on the machine(s) specified using the
-m|--machine|-M|--mlist
options.
The machines can be specified using their hostnames or if you are just interested in a specific group of machines, you can use any arbitrary label you have defined, both platform and non-platform.
The syntax for those is: n*label
to run on n
machines of type label
e.g., 2*Xeon,3*lab1,hostprovisioning
.
You can omit n if n equals 1.
The options are:
-p|--priority
sets the job scheduling priority to Low, Medium (default), High or Urgent.-s|--server
specifies if the job is a server job, or a client job (default). A server job must specify a control file using the--control-file
option.-y|--synchronous
specifies if the job is synchronous or asynchronous (default).-k|--kernel=<file>
specifies the URL of a kernel to install before running the test(s).-c|--container
runs the test(s) in a container. This is only valid for client-side jobs.
The tests can be specified in 2 mutually exclusive ways:
-f|--control-file=FILE
will run the job described in the control file FILE,-t|--tests=a,b,c
will create a control file to run the tests a, b, and c.
One of these 2 options must be present.
The control file must be specified if your job is:
- synchronous, or
- a server-side job.
The --control-file
option cannot be used with:
- the
--kernel
option. - the
--container
option.
If you want to do any of those, code it in the control file itself.
You can find the list of existing tests using autotest-rpc-client test list
.
# Create a job my_test using known tests on host0:
# autotest-rpc-client job create --test dbench,kernbench -m host0 my_test
Created job:
my_test (id 6749)
# Create a server job using a custom control file on host0:
# cat ./control
job.run_test('sleeptest')
# autotest-rpc-client job create --server -f ./control -m host0 my_test_ctrl_file
Created job:
my_test_ctrl_file (id 6751)
# Create a job on 2 Xeon machines, 3 Athlon and 1 x286:
# Find the platform labels:
# autotest-rpc-client label list -t
Name Valid
Xeon True
Athlon True
x286 True
# autotest-rpc-client job create --test kernbench -m 2*Xeon,3*Athlon,*x286, test_on_meta_hosts
Created job:
test_on_meta_hosts (id 6761)
Listing Jobs¶
# autotest-rpc-client job list help
usage: autotest-rpc-client job list [options] <job_ids>
options:
-h, --help show this help message and exit
-g, --debug Print debugging information
--kill-on-failure Stop at the first failure
--parse Print the output using colon separated key=value
fields
-v, --verbose
-w WEB_SERVER, --web=WEB_SERVER
Specify the autotest server to talk to
-a, --all List jobs for all users.
-r, --running List only running jobs
-u USER, --user=USER List jobs for given user
You can list all the jobs, or filter on specific users, IDs or job
names. You can use the *
wildcard for the job_name filter.
# List all my jobs
# autotest-rpc-client job list
Id Owner Name Status Counts
3590 user0 Thourough test Aborted:31, Completed:128, Failed:74
6626 user0 Job Completed:1
6634 user0 Job name with spaces Aborted:1
6749 user0 my_test Queued:1
6751 user0 my_test_ctrl_file Queued:1
# List all jobs starting with 'my'
# autotest-rpc-client job list my*
Id Owner Name Status Counts
1646 user1 myjob Completed:2
2702 user2 mytestburnin3 Aborted:1
6749 user0 my_test Queued:1
6751 user0 my_test_ctrl_file Queued:1
Getting Jobs Status¶
# autotest-rpc-client job stat help
usage: autotest-rpc-client job stat [options] <job_ids>
options:
-h, --help show this help message and exit
-g, --debug Print debugging information
--kill-on-failure Stop at the first failure
--parse Print the output using colon separated key=value
fields
-v, --verbose
-w WEB_SERVER, --web=WEB_SERVER
Specify the autotest server to talk to
-f, --control-file Display the control file
At least one job ID or name must be specified. The *
wildcard can be
used for the job name but not for the job ID.
# Get status of the previously queued jobs. Note the hostname in this output:
# autotest-rpc-client job stat my_test\*
Id Name Priority Status Counts Host Status
6749 my_test Medium Queued:1 Queued:host0
6751 my_test_ctrl_file Medium Queued:1 Queued:host0
# The stats on a meta host job will show the hostname once the scheduler mapped the platform label to available hosts:
# autotest-rpc-client job stat 6761
Id Name Priority Status Counts Host Status
6761 test_on_meta_hosts Medium Queued:4, Running:1 Running:host42
Aborting Jobs¶
# autotest-rpc-client job abort help
usage: autotest-rpc-client job abort [options] <job_ids>
options:
-h, --help show this help message and exit
-g, --debug Print debugging information
--kill-on-failure Stop at the first failure
--parse Print the output using colon separated key=value
fields
-v, --verbose
-w WEB_SERVER, --web=WEB_SERVER
Specify the autotest server to talk to
You must specify at least one job ID. You cannot use the job name.
# autotest-rpc-client job abort 6749,6751 6761
Aborted jobs:
6749, 6751, 6761