History log of /external/autotest/cli/job.py
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
335f2162d379440c49d9d4a834532c4551f49442 01-Feb-2017 Allen Li <ayatane@chromium.org> [autotest] [atomic] Remove atomic groups from cli

BUG=chromium:681906
TEST=Run unittest suite

Change-Id: I2f9edaa074e4ce7f7d658f79d1256413c34a7a1c
Reviewed-on: https://chromium-review.googlesource.com/434108
Commit-Ready: Allen Li <ayatane@chromium.org>
Tested-by: Allen Li <ayatane@chromium.org>
Reviewed-by: Richard Barnette <jrbarnette@google.com>
/external/autotest/cli/job.py
352b86a33c78c0ad35f55c14ffba11896d27556c 14-Dec-2016 Allen Li <ayatane@chromium.org> [autotest] Remove old priority hack

This is from 2013, Im assuming the priorities have all been migrated
over.

The reason for doing this is that the sole purpose of this function is
to remove invalid keywords from passing locals() to create_job_common,
so this is a step toward removing locals() and this function.

BUG=None
TEST=CQ

Change-Id: Ia5b527b509863bbe12ff047628c23a988dbc32c9
Reviewed-on: https://chromium-review.googlesource.com/420178
Commit-Ready: Allen Li <ayatane@chromium.org>
Tested-by: Allen Li <ayatane@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>
/external/autotest/cli/job.py
41e617b8ad86c84e19fc74dd47b44d93c57cb8cd 20-May-2016 Richard Barnette <jrbarnette@chromium.org> [autotest] Remove atest cli support for specifying a test kernel.

The `atest job create` command provided a -k option for specifying
a kernel to be tested. The option was a non-functional legacy not
applicable to Chrome OS.

This deletes the legacy atest CLI code. The underlying RPC calls
and features made obsolete by this change will be removed in
subsequent CLs.

BUG=None
TEST=run `atest job create` in a local Autotest instance, plus unit tests

Change-Id: I882f96bf940f9de8af1ffd502e7b3f59e6fdddb5
Reviewed-on: https://chromium-review.googlesource.com/346058
Commit-Ready: Richard Barnette <jrbarnette@chromium.org>
Tested-by: Richard Barnette <jrbarnette@chromium.org>
Reviewed-by: Dan Shi <dshi@google.com>
/external/autotest/cli/job.py
ec1d47d85cc83f30631518d8fbb6406036a3ac39 13-Feb-2015 Dan Shi <dshi@chromium.org> [autotest] Add support for scheduler to honor require_ssp attribute in control file

This CL adds changes to pipe require_ssp attribute in control file to autoserv
command. Following are the work flow:

1. The control file parser stores require_ssp attribute value in afe_jobs table.
2. QueueTask compiles command line list, --require-ssp option will be added to
the command line list if following conditions are met:
a. AUTOSERV/enable_ssp_container in global config is True
b. The test is a server-side test
c. require_ssp for the job entry is None or True.
3. When agent_task tries to call run method to run the command, it will check if
there is any drone supporting server-side packaging first. If no drone is found,
the agent task will will run the command in a drone without using server-side
packaging. A warning will be posted in the autoserv log.
4. If a drone without SSP supported is assigned to a test requires SSP, the test
will be run without ssp.

BUG=chromium:453624
TEST=unittest, local test:
set AUTOSERV/enable_ssp_container to True in shadow config;
Create a job for dummy_PassServer in AFE, check require SSP, confirm the job
succeeds but with a warning in the autoserv log.

Create a job for dummy_PassServer_nossp in AFE, uncheck require SSP, confirm
the job passes without warning in the autoserv log.

set AUTOSERV/enable_ssp_container to False in shadow config, restart scheduler.
Create a job for dummy_PassServer in AFE, check require SSP, confirm the job
succeeds without warning in the autoserv log.

also run test_that in local chroot to make sure test_that is not affected.

DEPLOY=apache,scheduler, db migrate must be done before push this CL to prod.

Change-Id: I02f3d137186676ae570e8380d975a1bcd9ffbb94
Reviewed-on: https://chromium-review.googlesource.com/249841
Reviewed-by: Dan Shi <dshi@chromium.org>
Commit-Queue: Dan Shi <dshi@chromium.org>
Trybot-Ready: Dan Shi <dshi@chromium.org>
Tested-by: Dan Shi <dshi@chromium.org>
/external/autotest/cli/job.py
7e60574f3baa0b3928623216a74a770f19d2c316 12-Nov-2013 Simran Basi <sbasi@chromium.org> Autotest: Update RPC, Scheduler and AFE to use timeout_mins.

Now that timeout_mins is in the database, we need to update the
infrastructure to display and utilize timeout_mins rather than
timeout.

The scheduler now aborts based off of timeout_mins.

The afe displays/creates jobs using timeout_mins rather than timeout.

The RPC's take in timeout and timeout_min depending on what is inputted
to the system. Note the value supplied for timeout_mins takes precedence
over timeout.

BUG=chromium:221264
TEST=Created job through AFE, run_suite with smoke suite, job_unittest
and rpc_unittests.
DEPLOY=apache, afe, scheduler

CQ-DEPEND=I09f8b6023a31dcef37e98c298dc0d63b37bc0a9e

Change-Id: I838cd1ff85a2ce6bd49fe96bf18fd82be608c758
Reviewed-on: https://chromium-review.googlesource.com/176605
Reviewed-by: Simran Basi <sbasi@chromium.org>
Commit-Queue: Simran Basi <sbasi@chromium.org>
Tested-by: Simran Basi <sbasi@chromium.org>
/external/autotest/cli/job.py
3dd8beb386f7298ffe84d7410d00cce26973e170 14-May-2013 Aviv Keshet <akeshet@chromium.org> [autotest] make a consistent CONTROL_TYPE enum across the codebase

Prior to this CL, there were a multitude of duplicate defitions of the
two control files types (Client or Server), incluiding a difference
between the afe Job model (1 = Server) and the afe Test model (1 =
Client). This CL introduces enums CONTROL_TYPE and CONTROL_TYPE_NAMES to
control_data, to act as the central and consistent defition across the
codebase. In order to avoid needing to mangle the running Jobs table, we
have adopted the existing Job model convention (1 = Server); the Test
table will be re-written with the new consistent convention during test
import.

BUG=chromium:240643
TEST=All existing unit tests pass;
In local autotest without this patch applied, started a suite. Halfway
through suite, applied this patch, ran test importer, restarted apache,
and restarted scheduler. Suite finished successfully.
Verified manually that Client/Server type control files show up
correctly in afe Create Job view.
DEPLOY=scheduler
DEPLOY=apache
DEPLOY=test_importer

Change-Id: Ia5b2573e1d08d96b3826f2837903ef407dcae303
Reviewed-on: https://gerrit.chromium.org/gerrit/51191
Commit-Queue: Aviv Keshet <akeshet@chromium.org>
Reviewed-by: Aviv Keshet <akeshet@chromium.org>
Tested-by: Aviv Keshet <akeshet@chromium.org>
/external/autotest/cli/job.py
34217022229b755bc1ee52f83665acba76bd5044 06-Nov-2012 Simran Basi <sbasi@chromium.org> Autotest: Increase run timeout granularity

This CL modifies all references to max_runtime_hrs to instead be
max_runtime_mins. This includes the django models, rpc interfaces, the
cleanup timeout code, and the frontend java views.

The frontend java code will need to be recompiled once this commits to
prevent the frontend from breaking.

The cleanup timeout pathway has been adjusted to find all timedout jobs
by minute, and has been changed to run every 5 minutes vs every hour as
before.

BUG=chromium-os:36067
TEST=Ran on my local afe, ensure that jobs can still be created correctly,
and jobs with short timeouts do indeed get aborted when expected.

Change-Id: Idfdeb3f1d4947d6b2e6b48127a31db535704e972
Reviewed-on: https://gerrit.chromium.org/gerrit/37827
Tested-by: Simran Basi <sbasi@chromium.org>
Reviewed-by: Scott Zawalski <scottz@chromium.org>
Reviewed-by: Simran Basi <sbasi@chromium.org>
Commit-Ready: Simran Basi <sbasi@chromium.org>
/external/autotest/cli/job.py
a8a0d75c2591ab872f695d7b8f22f2ca10493dab 08-Nov-2012 Scott Zawalski <scottz@chromium.org> Revert "Autotest: Increase run timeout granularity"

This causes autoupdate problems, see bug crosbug.com/36183

This reverts commit daffa57a6738c2a80caee1f311a527313ece1207

Change-Id: Iad65be9bf1b0ea329866bfdc764b0089c4f9b2a5
Reviewed-on: https://gerrit.chromium.org/gerrit/37657
Commit-Ready: Scott Zawalski <scottz@chromium.org>
Reviewed-by: Scott Zawalski <scottz@chromium.org>
Tested-by: Scott Zawalski <scottz@chromium.org>
/external/autotest/cli/job.py
daffa57a6738c2a80caee1f311a527313ece1207 06-Nov-2012 Simran Basi <sbasi@chromium.org> Autotest: Increase run timeout granularity

This CL modifies all references to max_runtime_hrs to instead be
max_runtime_mins. This includes the django models, rpc interfaces, the
cleanup timeout code, and the frontend java views.

The frontend java code will need to be recompiled once this commits to
prevent the frontend from breaking.

The cleanup timeout pathway has been adjusted to find all timedout jobs
by minute, and has been changed to run every 5 minutes vs every hour as
before.

BUG=chromium-os:36067
TEST=Ran on my local afe, ensure that jobs can still be created correctly,
and jobs with short timeouts do indeed get aborted when expected.

Change-Id: Id7668bbd05a9b02c22e7c549fac232fae02fc728
Reviewed-on: https://gerrit.chromium.org/gerrit/37479
Reviewed-by: Scott Zawalski <scottz@chromium.org>
Commit-Ready: Simran Basi <sbasi@chromium.org>
Tested-by: Simran Basi <sbasi@chromium.org>
/external/autotest/cli/job.py
8adf78936c915df6fd1edb6c592f40a7ed8350a5 09-Sep-2011 Dale Curtis <dalecurtis@chromium.org> Autotest upstream merge.

Merged from d9d64b855363d214996b187380532d4cc9991d29 to
7bad38846fe9c74e42018131ce85aec2b5e6c7a9

BUG=none
TEST=emerge autotest, run bvt, smoke.

Change-Id: Ibe6462198e84e0d41fa160af086283cd712da4a6
Reviewed-on: http://gerrit.chromium.org/gerrit/7440
Tested-by: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
/external/autotest/cli/job.py
74a314b490ff542c4dd2ae4aa0d11c6394d92960 23-Jun-2011 Dale Curtis <dalecurtis@chromium.org> Upstream Autotest merge.

As titled, a merge up to 93fc426ca133e775eb495f34d138fc57d92fb55e.

- Removes a bunch of deprecated code.
- Moves several private utilities into the private repo.
- Couple changes ported upstream and resynced.

BUG=None
TEST=In progress... will spin up new Autotest server and use
run_remote_tests for bvt, regression, smoke.

Change-Id: Id3e2ad529bb7b05f148e5d98aea46bb9ea828200
Reviewed-on: http://gerrit.chromium.org/gerrit/3350
Tested-by: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
/external/autotest/cli/job.py
8a12e800f05f6862fc39c6a45c9c57d9051b795e 17-Feb-2011 Eric Li <ericli@chromium.org> Merge remote branch 'cros/upstream' into master.

Merged to upstream autotest @5216~@5235.

Most of the stuff are from Olof's arm cross compiling and some misc changes from Dale Curtis.

As usual,the entire change list description is too big to enlist here. Please refer to upstream (http://autotest.kernel.org/browser) for more details.

BUG=none
TEST=1. emerge-arm-generic autotest autotest-deps autotest-tests
2. emerge-x86-generic autotest autotest-deps autotest-tests
3. run bvt from both src/third_party and inside emerged
chroot/..usr/local/autotest.
Seems fine. No regression found.

Review URL: http://codereview.chromium.org/6539001

Change-Id: I613929ec9c29849db5110ae8234bc68a80f4d2d5
/external/autotest/cli/job.py
861b2d54aec24228cdb3895dbc40062cb40cb2ad 04-Feb-2011 Eric Li <ericli@chromium.org> Merge remote branch 'cros/upstream' into master

Merged to upstream autotest @4749~@5215.

The entire change list description is too big to enlist here. Please refer to upstream (http://autotest.kernel.org/browser) for more details.

BUG=
TEST=emerged both x86 and arm build.
Tested emerged x86 build bvt against a chromeos device.

Review URL: http://codereview.chromium.org/6246035

Change-Id: I8455f2135c87c321c6efc232e2869dc8f675395e
/external/autotest/cli/job.py
5a8c6ad7e67d86090ed6c4ef216b82e45c0f9283 01-Feb-2011 Paul Pendlebury <pauldean@chromium.org> Add support for an --image flag to atest.

This enables creating jobs from the CLI that use autoserv to install a new OS image before running the requested test.

This was not added to the database like the reboot before/reboot after flags to maintain backward compatibility and avoid any changes to the database schema.

Also it is not working as a pure parameterized job as the current implementation is not 100% complete and would require more work to finish. And since mixed jobs are not allowed it would also mean moving existing control file jobs to parameterized jobs.

So the implementation of adding a parameterized id to control jobs and using a known test to hold the OS image path is the most straight forward of the options.

Change-Id: I77cdda0c50c222a4c594da2626a71fa55f5957cb

BUG=chromium-os:11486
TEST=Manual testing using atest cli to create jobs with --image parameters and verifying the value is passed to autoserv.

Review URL: http://codereview.chromium.org/6181003
/external/autotest/cli/job.py
bdaab795cffa33f9a37995bb283047cb03699272 07-Jan-2011 Kenneth Waters <kwaters@chromium.org> Revert "Merge remote branch 'cros/upstream' into autotest-rebase"

This reverts commit 7edb30498d75a29a3287fe07070f2b51a116c5d4.

TEST=Built for tegra2_seaboard
BUG=10756

Review URL: http://codereview.chromium.org/6124004

Change-Id: Ifcd1a2279f5a62b99552a8f961c1430889a3a928
/external/autotest/cli/job.py
7edb30498d75a29a3287fe07070f2b51a116c5d4 07-Jan-2011 Eric Li <ericli@chromium.org> Merge remote branch 'cros/upstream' into autotest-rebase

Merged to upstream trunk@5066, from trunk@4749.

There is no way I could enlist each individual CL from the upstream here since it will blow up the changelist description field.

BUG=
TEST=
Had patched this CL into a fresh cut client to avoid any side effect.
run_remote_test bvt from both emerged location and third_party/autotest/file.

Both test passed!

We should also keep any eye on this to see how it gets propagated into cautotest server.
TBR=dalecurtis

Change-Id: I72f2bc7a9de530178484aea1bfb5ace68bcad029
/external/autotest/cli/job.py
c2863163f0305e441e3178b88ab5a80656ca777b 12-Jul-2010 jamesren <jamesren@592f7852-d20e-0410-864c-8624ca9c26a4> (Submitting for dalecurtis. For some reason, Patchwork doesn't want to pick
up his patches...)

All,

First off, sorry for the spam, hopefully this will be last message and
Patchwork will finally pick up the patch. Reposted with modifications from
prior discussion per James Ren. Credit for suggestion to split on commas
goes to Jongki Suwandi.

The "host list", "host create", and "job create" command line options for
the atest CLI module do not support labels with commas. In our deployment we
have several labels which contain commas, leading to some bad parsing when
trying to use the CLI tools. I've added escaped comma support to the
topic_common.item_parse_info.get_values.__get_items(...) function to fix
this.

For example, atest host list --label "label0,comma\,label" will now parse
the labels as 'label0' and 'comma,label'.

Any option using topic_common.item_parse_info gets this behavior for free.
Specifically for our needs, I've changed the "atest host list" and "atest
job create" methods from using <string>.split(',') to
topic_common.item_parse_info for labels.

Implementation wise, I modified the
topic_common.item_parse_info.get_values.__get_items(...) regex so that it
would only split commas not preceded by slashes. In order to handle labels
that may end in slashes, I replace double slashes with a null character
before splitting and then put a single slash back afterwards. The new regex
is r'(?<!\),|\s' if space splitting is enabled and r'(?<!\),' otherwise.

Testing was done through 11 new unit tests, exercising escaped commas with
and without preceding escaped slashes. As well as manual testing on our own
deployment.

All unit tests pass and existing deployments should not be affected. A minor
quibble is consistency from a user point of view. I've only added support
for escaped commas to the topic_common.item_parse_info class, but there are
a couple other areas which are still using <string>.split(',') to parse
their options. Specifically status names, host names, test names, and
dependencies in the host.py and job.py files. I've left these alone for now,
but if anyone objects I can roll them in.

I've attached the patch file for the changes, but if you prefer a more GUI
driven experience, you can see the change list here:

http://codereview.chromium.org/2740001/show

Risk: Low-Medium (CLI infrastructure and tests modified)
Visibility: CLI users
Signed-off-by: Dale Curtis

Regards,

Dale Curtis
Software Engineer in Test @ Google



git-svn-id: http://test.kernel.org/svn/autotest/trunk@4718 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/cli/job.py
12b45582c04b2417036a6f11afc843ac5fddea50 11-Jan-2010 lmr <lmr@592f7852-d20e-0410-864c-8624ca9c26a4> Massive permission fix

Fix permissions for all the development tree

Signed-off-by: Lucas Meneghel Rodrigues <lmr@redhat.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4094 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/cli/job.py
fca5ed16315cef727b62664815848b773fb6de64 06-Nov-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> * Add ability to CLI job_stat to display only a list of hosts for a given
job with --list-hosts. Also adds --list-hosts-status which takes a
list of statuses as an argument and displays hosts in each status.
* Remove the check that prevents running a server side job with both
the --control-file and --kernel options. This works now.


Risk(Low): New functionality could possibly break job_stat
Visibility(Low): Useful for grabbing machine lists from Autotest jobs

Signed-off-by: Ryan Kubiak <rkubiak@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3901 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/cli/job.py
6aaab2e8cd8428456959b1aeeb1eebccb4908048 03-Sep-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fixed frontend and CLI for space delimited multiple kernel versions.

Signed-off-by: Mihai Rusu <dizzy@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3643 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/cli/job.py
a3c58d20be69a292bdfafbea735c7503f4995b4c 25-Aug-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Added support to specify cmdline for the booted kernels for both the CLI
and the frontend. For the CLI there is a new "--kernel-cmdline" option
that will be used for all the kernels configured to be booted with the
"-k" parameter. For the frontend there's a new textbox under the kernel
version one where cmdline can be provided.

Signed-off-by: Mihai Rusu <dizzy@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3599 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/cli/job.py
56f1f4a9bc430f6bc41cbdc6b1cc88ffebe518aa 03-Aug-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Allow to specify hosts when cloning a job.

Signed-off-by: Jean-Marc Eurin <jmeurin@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3481 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/cli/job.py
5a496088c7daa10aad13580615bfd157c4cd8180 03-Aug-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Make 'job clone --id' an action instead of 'job create --clone'.
Add the backward compatibility method and call.

This is a first step in allowing to specify different hosts when cloning,
but it's just a code restructuring, it doesn't fix anything (and hopefully
doesnt' break new things either).

Signed-off-by: Jean-Marc Eurin <jmeurin@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3480 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/cli/job.py
12f3e3212795a539d95973f893ac570e669e3a22 13-May-2009 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Add job maximum runtime, a new per-job timeout that counts time since the job actually started.
* added started_on field to host_queue_entries, so that we could actually compute this timeout
* added max_runtime_hrs to jobs, with default in global config, and added option to create_job() RPC
* added the usual controls to AFE and the CLI for the new job option
* added new max runtime timeout method to
* added migration to add new fields and set a safe default max runtime for existing jobs

Signed-off-by: Steve Howard <showard@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3132 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/cli/job.py
a1e74b3e9d68792fae0c926f89b6de1736b1fe21 12-May-2009 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Add job option for whether or not to parse failed repair results as part of a job, with a default value in global_config. Since the number of options associated with a job is getting out of hand, I packaged them up into a dict in the RPC entry point and passed them around that way from then on.

Signed-off-by: Steve Howard <showard@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@3110 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/cli/job.py
9deeefadc178834bf322d03e27e28e0fbdb2594f 02-May-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Re-factor the option parsing following a suggestion from Greg.
Eliminate the <topic>.parse altogether.

Signed-off-by: Jean-Marc Eurin <jmeurin@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3081 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/cli/job.py
648a35c560f78874c05582349e1c09632ce210d6 01-May-2009 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Add support for submitting a job into an atomic group to the CLI.

Signed-off-by: Gregory Smith <gps@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3071 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/cli/job.py
b27f4adf598062aa35323595c5724111ffbac202 01-May-2009 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Update CLI to allow scheduling jobs against labels

Signed-off-by: Ryan Kubiak <rkubiak@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3070 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/cli/job.py
8c7b04c52a8881333ac828f6a1976cafe8412a4a 25-Mar-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Getting rid of the socket timeout tunes, except for the kernel uploads. Now that the servers are more stable, they seem unnecessary and created some spurious failures.

Also fixing a bad patch application in job.py

Signed-off-by: Jean-Marc Eurin <jmeurin@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2924 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/cli/job.py
ce34864d7aa45fc0f2927840af734c6ad2f0325d 12-Feb-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Adding support for one time hosts.

Signed-off-by: Jean-Marc Eurin <jmeurin@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2784 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/cli/job.py
47dc4d21845de831d979d3a5f51e31f4bbf2cc2a 12-Feb-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Change the key/val delimiter to | by default. Make it an option.

Signed-off-by: Jean-Marc Eurin <jmeurin@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2783 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/cli/job.py
a212d716ac00059fd7839c14a72c0bdf2475cd09 11-Feb-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Cleanup the container code from the CLI.

Signed-off-by: Jean-Marc Eurin <jmeurin@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2772 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/cli/job.py
120351e0c9a9b3e7c7a4aa51477a5ae2366214c4 24-Jan-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Allow control file body text to be supplied as an alternative to a list
of test names for the generate_control_file AFE rpc.

This allows the command line client to let people specify a kernel along with
their own client-side control file.

It adds the kernel installation steps to the supplied control file before
scheduling it (using the same code as the GUI when a kernel is specified
there).

Signed-off-by: Gregory Smith <gps@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2684 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/cli/job.py
7ffdb8bab45ab1ba2cd239964bcada3a4dc42755 21-Jan-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix bug in job create where synch_count was being overridden by
generate_control_file.
Risk(Medium): Modifying job create CLI
Visibility(Low): Should only fix broken synch_counts

Signed-off-by: Ryan Kubiak <rkubiak@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2664 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/cli/job.py
5d0b4b3d9bd4a9f73e4d26d98e5f29fb3ef29563 22-Dec-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> * Add option to disable verify for created jobs
* Add option to specify a job timeout for created jobs
Visibility(Medium): New job create options
Risk(Low): Adding new options, default beahavior remains

Signed-off-by: Ryan Kubiak <rkubiak@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2578 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/cli/job.py
982170a16762b864e1984903fffa47586487578c 20-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Increase the timeout for job creation

From: Jean-Marc Eurin <jmeurin@google.com>
Signed-off-by: Martin Bligh <mbligh@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2457 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/cli/job.py
7bce1021117066ae6d7cf9f03a61c22e107457ef 14-Nov-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Make job create CLI parse synch_count as an int instead of a string.



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2422 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/cli/job.py
206d50a5f82c213caac4d115164bb5996386ac26 13-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fix the CLI job abort to use new RPC. Worth noting that the new RPC
does not return an error if job IDs do not exist so the unittest for
aborting an unknown job was removed. Abort could be changed to check to
see if the jobs exist first, but last time I did that the general
consensus was it was unnecessary.
Risk(Low): Abort is already broken
Visibility(Medium): CLI job abort now works again

Signed-off-by: Ryan Kubiak <rkubiak@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2409 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/cli/job.py
fb8f0ab0c168fb477b5eb756d041d06e3491bbde 13-Nov-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> * Add job cloning functionality to the CLI
* Move parse_hosts from job_create to action_common
Risk(Low): Implements a new feature
Visibility(Medium): Users can now clone jobs through the CLI

Signed-off-by: Ryan Kubiak <rkubiak@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2408 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/cli/job.py
2bab8f45adedeacbf2d62d37b90255581adc3c7d 12-Nov-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Implement sync_count. The primary change here is replacing the job.synch_type field with a synch_count field. There is no longer just a distinction between synchronous and asynchronous jobs. Instead, every job as a synch_count, with synch_count = 1 corresponding to the old concept of synchronous jobs. This required:
-changes to the job creation RPC and corresponding client code in AFE and the CLI
-massive changes to the scheduler to schedule all jobs in groups based on synch_count (this unified the old synch and async code paths)
-changed results directory structure to accomodate synchronous groups, as documented at http://autotest.kernel.org/wiki/SchedulerSpecification, including widespread changes to monitor_db and a change in AFE
-changes to AFE abort code to handle synchronous groups instead of just synchronous jobs
-also got rid of the "synchronizing" field in the jobs table, since I was changing the table anyway and it seems very likely now that that field will never be used

other changes included:
-add some logging to afe/models.py to match what the scheduler code does, since the scheduler is starting to use the models more
-added checks for aborts of synchronous groups to abort_host_queue_entries RPC



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2402 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/cli/job.py
a6fe9c68e18ddb3e093cefcc54293e36850a85a9 03-Nov-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> fix usage of set.union() to make test dependenceis work from CLI. set.union() does not mutate the set, it returns a new one. also throw in a sorted() call to ensure testability.



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2366 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/cli/job.py
b9a8b166937bf37213649b4fd3b17e48423d1dc7 29-Oct-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Change --dependencies flag to --labels flag to be more consistent. Also
let people add their own dependencies even if they specified a test
via --test.

Risk: Low
Visibility: High

Signed-off-by: Jeremy Orlow <jorlow@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2356 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/cli/job.py
aced049e5950bb6b85fcee8aca819803756cca17 21-Oct-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Change the wording of --dependency's help message in the CLI to make it clear that this flag will probably change soon. The problem is that metahosts are essentially the same as not supplying a host name and then supplying one dependency. In addition, elsewhere in the CLI, we use the -b/--lables flag for the same thing. In the next week or so, I'll probably send out a CL to make it less confusing/inconsistent, but I figured that mentioning it's experimental would make it more clear in the mean time.

Signed-off-by: Jeremy Orlow <jorlow@google.com>

M cli/job.py


git-svn-id: http://test.kernel.org/svn/autotest/trunk@2317 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/cli/job.py
7b8d1f94080dd2a852999f8f5ad2dab927e080b6 21-Oct-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Increase the timeout for job creation

Signed-off-by: Jean-Marc Eurin <jmeurin@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2310 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/cli/job.py
21baa459ea14f96e06212f1f35fcddab9442b3fc 21-Oct-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Add options to control reboots before and after a job.

-add reboot_before and reboot_after fields to Job, along with enums for each
-add options to create_job RPC for reboot_before and reboot_after
-add options to job create CLI for these fields, and made job stat -v display them
-add widgets to job create page in AFE for these fields and made job detail view display them

-add dirty field to Hosts, defaulting to True, and set to True when a host is locked
-made scheduler set this field when a job runs and clear it when a host is rebooted

-updated scheduler's PidfileRunMonitor to read a new three-line .autoserv_execute format, where the third line contains the number of tests that failed
-made scheduler Job.run() include a RebootTask before the verify task according to the reboot_before option
-made QueueTask.epilog() launch a RebootTask for each host according to the reboot_after option

-updated autoserv to write out a third line to .autoserv_execute containing the number of failed tests.

Other changes:
-added support for displaying Job.run_verify in the CLI (job stat -v) and job detail page on AFE
-updated ModelExtensions to convert BooleanField values to actual booleans. The MySQL Django backend just leaves them as ints (as they are represented in the DB), and it's stupid and annoying (Yes, bool is a subclass of int, so it's often not a problem. But yes, it can be.).
-get rid of use of Job.synch_count since we don't actually support it. I think this was meant for inclusion in a previous change and got left out.
-made the scheduler use the new setup_django_environment stuff to import and use the django models. It doesn't *really* use the models yet -- it just uses the Job.Reboot{Before,After} enum objects -- but this shows we could easily start using the models, and that's definitely the direction I want to go long term.
-refactored PidfileRunMonitor generally and made it a bit more robust by having it email errors for corrupt pidfiles and continue gracefully, instead of just crashing the scheduler
-changed the way Agent.tick() works. now, it basically runs through as much work as it can in a single call. for example, if there's a RebootTask and a VerifyTask, and the RebootTask has just finished, in a single call it will finish up the RebootTask and start the VerifyTask. this used to take two cycles and that was problematic for cases like this one -- the RebootTask would like to set host.status=Ready, but then the host could get snatched up on the next scheduling round, before the VerifyTask got started. This was sort of solved previously by keeping the HostQueueEntry active, and we could apply that approach here by making a new status for HostQueueEntries like "Rebooting". But I prefer this approach as I think it's more efficient, more powerful and easier to work with.

Risk: extremely high
Visibility: new reboot options for jobs, skip verify now displayed in AFE + CLI

Signed-off-by: Steve Howard <showard@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@2308 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/cli/job.py
ae64d3aee39a8e94a515524fb813b3c3c43d581f 15-Oct-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Fixing the error message that displays the job name as a bad host.

Signed-off-by: Jean-Marc Eurin <jmeurin@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2285 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/cli/job.py
4eae22a4401fc83c48daecfb6caf27e62ca5b14d 10-Oct-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Allow users to manually specify dependencies through the CLI.

Risk: Low
Visibility: High

Signed-off-by: Jeremy Orlow <jorlow@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2269 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/cli/job.py
6fee7fd5493d49fecc3aaa71e71f11c593699f93 10-Oct-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add the option to specify an email address to be notified on job
completion.

Risk: Low
Visibility: High

Signed-off-by: Jeremy Orlow <jorlow@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@2268 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/cli/job.py
989f25dcbb6361218f0f84d1c8404761b4c39d96 01-Oct-2008 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> two new major features:

(1) added test and job dependencies
-added M2M relationship between tests and labels and between jobs and labels, for tracking the labels on which a test/job depends
-modified test_importer to read the DEPENDENCIES field and create the right M2M relationships
-modified generate_control_file() RPC to compute and return the union of test dependencies. since generate_control_file now returns four pieces of information, i converted its return type from tuple to dict, and changed clients accordingly.
-modified job creation clients (GWT and CLI) to pass this dependency list to the create_job() RPC
-modified the create_job() RPC to check that hosts satisfy job dependencies, and to create M2M relationships
-modified the scheduler to check dependencies when scheduling jobs
-modified JobDetailView to show a job's dependencies

(2) added "only_if_needed" bit to labels; if true, a machine with this label can only be used if the label is requested (either by job dependencies or by the metahost label)
-added boolean field to Labels
-modified CLI label creation/viewing to support this new field
-made create_job() RPC and scheduler check for hosts with such a label that was not requested, and reject such hosts

also did some slight refactoring of other code in create_job() to simplify it while I was changing things there.

a couple notes:
-an only_if_needed label can be used if either the job depends on the label or it's a metahost for that label. we assume that if the user specifically requests the label in a metahost, then it's OK, even if the job doesn't depend on that label.
-one-time-hosts are assumed to satisfy job dependencies.

Signed-off-by: Steve Howard <showard@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@2215 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/cli/job.py
51148c723a97250f7b6f1db25dc2d225dac25d7a 11-Aug-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Rewording help string

Signed-off-by: Jean-Marc Eurin <jmeurin@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1970 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/cli/job.py
10a47334fc8a59d5d125c7de33559800cf46ff79 11-Aug-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Add percentages to the results.

Signed-off-by: Jean-Marc Eurin <jmeurin@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1968 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/cli/job.py
be630eb07ddb84310fcc580acffcaa362a2dc606 01-Aug-2008 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Attached is the CLI code tarball. It is documented at http://test.kernel.org/autotest/CLIHowTo

From: jmeurin@google.com



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1950 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/cli/job.py