History log of /external/autotest/server/site_tests/provision_AutoUpdate/provision_AutoUpdate.py
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
7b4fdbf2088f9ba48f17ffaa33c5e9f0ad348cbd 06-Feb-2017 Prathmesh Prabhu <pprabhu@chromium.org> provision_AutoUpdate: Use HostInfo to obtain host information

BUG=chromium:678430
TEST=Provision a DUT to the same build twice.

Change-Id: I38cc58115cbfc608d923eb1b68ad0e30d8036431
Reviewed-on: https://chromium-review.googlesource.com/438714
Commit-Ready: Prathmesh Prabhu <pprabhu@chromium.org>
Tested-by: Prathmesh Prabhu <pprabhu@chromium.org>
Reviewed-by: Allen Li <ayatane@chromium.org>
/external/autotest/server/site_tests/provision_AutoUpdate/provision_AutoUpdate.py
118363234bcf45c56932f3a495f545d1dd081c89 22-Nov-2016 Aviv Keshet <akeshet@chromium.org> autotest: eliminate or migrate various autotest_stats stats

A few stats are migrated, others eliminated. In particular, the stats in
provision_AutoUpdate.py seem obsolete as we now require devservers to be
in the same subnet as the DUT.

BUG=chromium:667171
TEST=Unit tests

Change-Id: I2618347308fd90babffb1aaaba6a01c770970090
Reviewed-on: https://chromium-review.googlesource.com/413624
Commit-Ready: Aviv Keshet <akeshet@chromium.org>
Tested-by: Aviv Keshet <akeshet@chromium.org>
Reviewed-by: Aviv Keshet <akeshet@chromium.org>
/external/autotest/server/site_tests/provision_AutoUpdate/provision_AutoUpdate.py
2cd33fff8fdd0a8f2aad9c1a5314dcd9e42142fa 21-Jun-2016 xixuan <xixuan@google.com> Autotest: list contents of the staged image directory in devserver.

This CL lists the detailed file contents of the staged image directory in
devserver, whether the stage call is failed or not this time.

BUG=chromium:621638
TEST=run local autotest, use moblab as devserver to test whether logging exist
when job provision_autoupdate fails or succeeds.

Change-Id: I19d7b6a6b8ba0c55f5dde2155d14a0b90cdce5f2
Reviewed-on: https://chromium-review.googlesource.com/354211
Commit-Ready: Xixuan Wu <xixuan@chromium.org>
Tested-by: Xixuan Wu <xixuan@chromium.org>
Reviewed-by: Dan Shi <dshi@google.com>
/external/autotest/server/site_tests/provision_AutoUpdate/provision_AutoUpdate.py
01f1c4cbf3088f58680a3c294fefc47caa600421 16-Jun-2016 Dan Shi <dshi@google.com> [autotest] Log files staged in devserver if stage_artifacts call timed out.

This is to help troubleshooting the devserver stage call. If we found partial
files on devserver, likely that means download is slow. If all files are found
in devserver, that could mean some bug in devserver stage code.

BUG=chromium:619711
TEST=local run ds.list_image_dir(image)

Change-Id: Iade358f0ad38f73cbdbe0a9205fab755b726c7bf
Reviewed-on: https://chromium-review.googlesource.com/353280
Tested-by: Dan Shi <dshi@chromium.org>
Reviewed-by: Xixuan Wu <xixuan@chromium.org>
Commit-Queue: Dan Shi <dshi@google.com>
/external/autotest/server/site_tests/provision_AutoUpdate/provision_AutoUpdate.py
5ace6f2e17f808efbee863a7d7dbe1bc52527a19 07-Jan-2016 Simran Basi <sbasi@google.com> [autotest] Support Android/Brillo suite runs.

This change does 3 key things:

1) Enables suite runs to use the production code currently
deployed on the lab servers. This disables this requirement
and now run_suite.py can be passed --run_prod_code. This means
that it will use the control files on the drone and SSP has
been disabled.
2) Refactors out the AFE interactions for applying version labels
out of the host objects. These utilities are in a new module
called afe_utils. The afe_utils:host_in_lab function
determines if a host is running in an lab environment and if
it is in the AFE.
The introduction of afe_utils enables further cleanup of the
cros_host object.
3) Enables provisioning for Android/Brillo devices. Added a new
site-test and provision attribute. Run_suite will determine
if an Android/Brillo build is being used and will set the
correct version prefix. Then the scheduler/provision code
will find an appropriate device and kick off the
provision_AndroidUpdate test to install the build prior to
test runs.

BUG=chromium:574566
TEST=On my moblab:
./run_suite.py --build=git_mnc-brillo-dev/dragonboard-userdebug/2558576 \
--board=brillo-dragonboard --suite_name=brillo-bvt --run_prod_code \
--pool=''
./site_utils/run_suite.py --board=peppy --build=peppy-release/LATEST \
--suite_name=dummy --pool=''
test_that 100.96.51.40 dummy_PassServer
DEPLOY=apache

Change-Id: I5a81e6bd989188b7c0621e2a76752a39033f9782
Reviewed-on: https://chromium-review.googlesource.com/323781
Commit-Ready: Simran Basi <sbasi@chromium.org>
Tested-by: Simran Basi <sbasi@chromium.org>
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Fang Deng <fdeng@chromium.org>
Reviewed-by: Simran Basi <sbasi@chromium.org>
/external/autotest/server/site_tests/provision_AutoUpdate/provision_AutoUpdate.py
216389cfb1c687a90581cfdd62cbff0535bb6c1f 22-Dec-2015 Dan Shi <dshi@google.com> [autotest] Locate devserver in restricted subnets

Add a new config (CROS/restricted_subnets) to specify a list of subnets that
requires devserver within the same subnet.

In devserver.ImageServer.resolve function, always pass in the hostname to check
subnet restriction. This does add a bit overhead to do IP lookup.

BUG=chromium:571651
TEST=local test

Change-Id: Id3e47c315523d6bc7d40e1c5fbedd1733147b8b9
Reviewed-on: https://chromium-review.googlesource.com/319612
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@chromium.org>
Reviewed-by: Simran Basi <sbasi@chromium.org>
/external/autotest/server/site_tests/provision_AutoUpdate/provision_AutoUpdate.py
29a54a05296d638681429cdc7bb56820262c0e2b 07-Dec-2015 Simran Basi <sbasi@google.com> [autotest] Fix provisioning via test_that

Provisioning currently assumes you are running in the lab
environment with an AFE. It used to use the AFE to verify the
right image is installed on the device. This logic is
unnecessary as machine_install would have failed if it could
not properly update the lab AFE anyways.

BUG=chromium:463228
TEST=test_that chromeos4-row10-rack11-host17.cros dummy_PassServer \
-i peppy-release/R49-7712.0.0

Change-Id: If78166a37936c097981dbc110258947270f5ebf1
Reviewed-on: https://chromium-review.googlesource.com/316476
Commit-Ready: Simran Basi <sbasi@chromium.org>
Tested-by: Simran Basi <sbasi@chromium.org>
Reviewed-by: Simran Basi <sbasi@chromium.org>
/external/autotest/server/site_tests/provision_AutoUpdate/provision_AutoUpdate.py
03ddb68649140b5f4d358d7829d9d8818fe7cbd1 25-Sep-2015 Dan Shi <dshi@chromium.org> [autotest] Allow provision job to pick devserver from any subnet

This change removes the limit on provision job to pick a devserver from its
own subnet if possible. Lab recently added some bandwidth between the two
test labs, so it should be OK for a dut to use devserver from another lab.
This is mainly to reduce the load of devserver.

BUG=None
TEST=None

Change-Id: I8497f57771939118a7f635a4a6a05da1cd6dded5
Reviewed-on: https://chromium-review.googlesource.com/302451
Commit-Ready: Dan Shi <dshi@chromium.org>
Tested-by: Dan Shi <dshi@chromium.org>
Reviewed-by: Fang Deng <fdeng@chromium.org>
/external/autotest/server/site_tests/provision_AutoUpdate/provision_AutoUpdate.py
b9730f5ed07e99149d3b545cfc495e59e28e54a2 03-Sep-2015 Dan Shi <dshi@chromium.org> [autotest] Prefer devserver in the same subnet

BUG=chromium:421123
TEST=local run

Change-Id: I8b1235381ae772996f4322b21b2ef268dd9eba04
Reviewed-on: https://chromium-review.googlesource.com/297174
Commit-Ready: Dan Shi <dshi@chromium.org>
Tested-by: Dan Shi <dshi@chromium.org>
Reviewed-by: Fang Deng <fdeng@chromium.org>
Reviewed-by: Don Garrett <dgarrett@chromium.org>
/external/autotest/server/site_tests/provision_AutoUpdate/provision_AutoUpdate.py
ff3ebfe8d9434cf590ad798b80b285e94c37530c 01-Sep-2015 Dan Shi <dshi@chromium.org> [autotest] Collect stats about devserver assignment for provision job.

Collect stats about if a devsever is assigned to a dut in the same subnet or
not, during a provision job.
The stats will be used to evaluate how much cros-lab traffic can be alleviated
if a dut can only use devserver in the same lab.

BUG=chromium:421123
TEST=local

Change-Id: I7ef7e3ea77df99f8d5359b800e4dee4bf7b9eb36
Reviewed-on: https://chromium-review.googlesource.com/296761
Trybot-Ready: Dan Shi <dshi@chromium.org>
Tested-by: Dan Shi <dshi@chromium.org>
Reviewed-by: Don Garrett <dgarrett@chromium.org>
Commit-Queue: Dan Shi <dshi@chromium.org>
/external/autotest/server/site_tests/provision_AutoUpdate/provision_AutoUpdate.py
834f0b394aecec6a6b97a7a9fbbfebecb1633220 16-Jul-2015 Fang Deng <fdeng@chromium.org> [autotest] Disable provision_AutoUpdate.double for test_that

provision_AutoUpdate.double reads current cros-label from autotest afe
and try to provision the dut to the same build (which ensures that we can
provision out of a build)

This test will fail when running with test_that as it tries to access
cautotest, the default afe server. The test should just be disabled when
running with test_that as there is not afe server in the test_that use
case.

TEST=run provision_AutoUpdate with test_that, ensure it raises TestNA
error.
BUG=chromium:510919

Change-Id: I13b4c026b96097420624a7a03b7eba138f160530
Reviewed-on: https://chromium-review.googlesource.com/286233
Reviewed-by: Mungyung Ryu <mkryu@google.com>
Commit-Queue: Fang Deng <fdeng@chromium.org>
Tested-by: Fang Deng <fdeng@chromium.org>
/external/autotest/server/site_tests/provision_AutoUpdate/provision_AutoUpdate.py
73be986fc3bc0c44f6cf0e3f5ce42869d946c9f9 06-Jul-2015 MK Ryu <mkryu@google.com> [autotest] We do not need to create cros-version label when provisioning

We add a cros-version label to a host when provision finishes.
We do not need to create the label in the provision special task.

BUG=chromium:506399
TEST=./cli/atest job create -d cros-version:nyan_big-release/R43-6872.0.0
-b board:nyan_big --test=dummy_Pass dummy_Pass
DEPLOY=apache

Change-Id: Ie042bcdf6a35ade0ee3570743cd3a8a43d96140b
Reviewed-on: https://chromium-review.googlesource.com/283540
Tested-by: Mungyung Ryu <mkryu@google.com>
Reviewed-by: Dan Shi <dshi@chromium.org>
Commit-Queue: Mungyung Ryu <mkryu@google.com>
/external/autotest/server/site_tests/provision_AutoUpdate/provision_AutoUpdate.py
3d3b927a5a47586e555ace555980b9419a654e35 22-Dec-2014 Fang Deng <fdeng@chromium.org> [autotest] Add provision test to bvt-inline and verify cros-version

This cl add a provision test to bvt-inline to test that
we can actually provision out of the build.
This cl also verifies that a dut got the right cros-version
label in AFE at the end of provision_AutoUpdate test.

TEST=Trybot. Run bvt-inline.

TEST=Normal flow works:
- Ran
cli/atest job create -f
server/site_tests/provision_AutoUpdate/control.double -d
cros-version:lumpy-release/R41-6592.0.0 -m chromeos1-fdeng1.cros -s
test_double_provision

TEST=Provision fails if no cros-version label was added:
- Manually trigger the new code paths by comment out the code that
adds cros-version label and job_repo_url.
- Ran the above command.

TEST=provision_AutoUpdate.double fails if no cros-version detected
at the begining:
- Manually remove cros-version label from the host
- Ran:
cli/atest job create -f
server/site_tests/provision_AutoUpdate/control.double -m
chromeos1-fdeng1.cros -s test_double_provision

TEST=Make sure the provision_AutoUpdate.double run a full-reimage.

BUG=chromium:432655,chromium:444036

Change-Id: I97f120a8f7535616c638db489411976130c0ffd7
Reviewed-on: https://chromium-review.googlesource.com/237244
Trybot-Ready: Fang Deng <fdeng@chromium.org>
Tested-by: Fang Deng <fdeng@chromium.org>
Reviewed-by: Dan Shi <dshi@chromium.org>
Commit-Queue: Fang Deng <fdeng@chromium.org>
/external/autotest/server/site_tests/provision_AutoUpdate/provision_AutoUpdate.py
96ad1473f79f3f63b06743d0e81ef435c7f69760 11-Dec-2014 Fang Deng <fdeng@chromium.org> [autotest] Test double-provisioning in bvt-inline

Add provision_AutoUpdate test to bvt-inline.
Running this test will lead to a dut be provisioned twice with
the same build, which verifies that auto-update feature of
this build is good.

BUG=chromium:432655
TEST=Make a trybot build. Run bvt-inline and confirm the dut was
provisioned twice (once by special task and once by the test).

Change-Id: I26d511a4aea7a12d3d1b452edfaea5daed46d1ff
Reviewed-on: https://chromium-review.googlesource.com/234834
Reviewed-by: Dan Shi <dshi@chromium.org>
Commit-Queue: Fang Deng <fdeng@chromium.org>
Trybot-Ready: Fang Deng <fdeng@chromium.org>
Tested-by: Fang Deng <fdeng@chromium.org>
/external/autotest/server/site_tests/provision_AutoUpdate/provision_AutoUpdate.py
25e7a922e3f5283539ed9a2f232299d02bc2df30 31-Oct-2014 Simran Basi <sbasi@google.com> [autotest] Support for new autotest artifacts.

This change updates dynamic_suites and provisioning to support the new
autotest build artifacts: control_files.tar and autotest_packages.tar.

In case these artifacts do not exist, it will then attempt to stage the
old autotest.tar artifact, thus still supporting older builds.

BUG=chromium:421122
TEST=Custom moblab build that successfully ran smoke suite against
2 images: 1 with autotest.tar and the other with the new artifacts.
CQ-DEPEND=CL:226822

Change-Id: I67898347d40c55a3ab1df89469bcc933b0b765b8
Reviewed-on: https://chromium-review.googlesource.com/231990
Reviewed-by: Simran Basi <sbasi@chromium.org>
Commit-Queue: Simran Basi <sbasi@chromium.org>
Tested-by: Simran Basi <sbasi@chromium.org>
/external/autotest/server/site_tests/provision_AutoUpdate/provision_AutoUpdate.py
dc8c25da3dcb4a6d6356f1e950299b3b472a531b 18-Nov-2014 Fang Deng <fdeng@chromium.org> Revert "[autotest] Support for new autotest artifacts."

This reverts commit 747854e979de7b52f8a91883e8b5e1d78132e499.

can't figure out the root cause. reverting for now to save paladin builds. crbug.com/434168

Change-Id: Ie115b90a2a74a8daca28ecfe1e164b38320f74aa
Reviewed-on: https://chromium-review.googlesource.com/230345
Reviewed-by: Fang Deng <fdeng@chromium.org>
Commit-Queue: Fang Deng <fdeng@chromium.org>
Tested-by: Fang Deng <fdeng@chromium.org>
/external/autotest/server/site_tests/provision_AutoUpdate/provision_AutoUpdate.py
747854e979de7b52f8a91883e8b5e1d78132e499 31-Oct-2014 Simran Basi <sbasi@google.com> [autotest] Support for new autotest artifacts.

This change updates dynamic_suites and provisioning to support the new
autotest build artifacts: control_files.tar and autotest_packages.tar.

In case these artifacts do not exist, it will then attempt to stage the
old autotest.tar artifact, thus still supporting older builds.

BUG=chromium:421122
TEST=Custom moblab build that successfully ran smoke suite against
2 images: 1 with autotest.tar and the other with the new artifacts.
CQ-DEPEND=CL:226822

Change-Id: If66026b46f77aaccaa83996e20a6749bad2b1625
Reviewed-on: https://chromium-review.googlesource.com/226823
Reviewed-by: Simran Basi <sbasi@chromium.org>
Commit-Queue: Simran Basi <sbasi@chromium.org>
Tested-by: Simran Basi <sbasi@chromium.org>
/external/autotest/server/site_tests/provision_AutoUpdate/provision_AutoUpdate.py
2ce1ca5b31250354183250892f937465b8922c66 15-Aug-2014 Fang Deng <fdeng@chromium.org> [autotest] Add logging and stats in dynmaic suite and provisioning

Add logging/stats to suite:find_and_parse_tests,
dev_server:stage_artificats, and provision_AutoUpdate.py

BUG=chromium:404202
TEST=run suite.

Change-Id: I99414651b75c828f5d2ae6b3531c85845a3f91db
Reviewed-on: https://chromium-review.googlesource.com/212727
Reviewed-by: Prashanth B <beeps@chromium.org>
Commit-Queue: Fang Deng <fdeng@chromium.org>
Tested-by: Fang Deng <fdeng@chromium.org>
/external/autotest/server/site_tests/provision_AutoUpdate/provision_AutoUpdate.py
9a02729492e28168aebec0cc18c6a581e1c45717 02-May-2014 Alex Miller <milleral@chromium.org> [autotest] Don't raise TestNA in provision tests.

Autoserv has this annoying distinction between the exit code of autoserv
and the result of status.log being parsed. Raising a TestNA gets the
correct line into the status.log to show that the test was actually a
no-op, however, the fact that it's an exception makes autoserv think
that the test failed. This means that cros-version provisioning will
always fail for a DUT that's already in the right state, which is not
what provisioning was meant to do.

Instead, we emit an INFO line to still try to communicate the
TEST_NA-ness of running the test, and then return normally so that we
end with a GOOD and END GOOD, and autoserv thinks the test passed.

BUG=chromium:369079
TEST=Ran autoserv --provision with cros-version label set to what was on
the host, autoserv returned 0.

Change-Id: Ifdd9a4286cb5756d5ddf7143ce6260a5b6d48210
Reviewed-on: https://chromium-review.googlesource.com/198049
Tested-by: Alex Miller <milleral@chromium.org>
Reviewed-by: Dan Shi <dshi@chromium.org>
Commit-Queue: Alex Miller <milleral@chromium.org>
/external/autotest/server/site_tests/provision_AutoUpdate/provision_AutoUpdate.py
0516e4cdc45476e625fd105c43d1fd19f7b395ea 04-Jun-2013 Alex Miller <milleral@chromium.org> [autotest] Add a provision control segment to autoserv.

This adds a control segment to autoserv that understands how to look up
what test is associated with a certain label that needs to be changed,
and that invokes the test. Note that support for autoserv actually
calling this control segment has not been added yet.

The design of this is such that the status log of a provision test will
look like
START ---- provision
INFO ---- provision Can't provision label 'x'. Skipping.
START provision_AutoUpdate
TEST_NA provision_AutoUpdate Host already running lumpy-release/R28-3993.0.0
END TEST_NA provision_AutoUpdate
END GOOD ---- provision hostname provisioned successfully

So that it's quite clear when looking at the status.log what provision
test were invoked, and what the result of each one was.

There's also some work snuck in here that moves some code out of
provision_AutoUpdate that will be useful to other provisioning tests,
and centralizes where to hold constants.

BUG=chromium:249437
TEST=Ran the control segment manually via
|./server/autoserv server/control_segments/provision| and passed
"cros-version:R28-3993.0.0,unknown_arg" via --args, and confirmed
The provision_AutoUpdate test was invoked and "unknown_arg" was logged
as an unprovisionable label.

Change-Id: I1f6c301d837b9553863389409475a76ff67e0828
Reviewed-on: https://gerrit.chromium.org/gerrit/58383
Commit-Queue: Alex Miller <milleral@chromium.org>
Reviewed-by: Alex Miller <milleral@chromium.org>
Tested-by: Alex Miller <milleral@chromium.org>
/external/autotest/server/site_tests/provision_AutoUpdate/provision_AutoUpdate.py
2340ffeedccbcfe5e54dbc5fd9018e54eeffaa03 12-Jun-2013 Alex Miller <milleral@chromium.org> [autotest] Add a cros-version provisioning test.

This adds a test similar to the autoupdate test that can reimage a
machine to a requested build, except it adheres to what the expected API
is for a provisioning test.

BUG=chromium:249437
TEST=The following:
1) Ran via autoserv against a machine without a cros-version label,
and the machine was correctly reimaged to the requested version.
2) Ran via autoserv against a machine with a cros-version label, but of
a different image, and the machine was correctly reimaged to the
requested version.
3) Ran via autoserv against a machine with the correct cros-verion
label, and the test correctly returned with TEST_NA.
4) Ran via autoserv with malformed --args (ie.
value=lumpy-release/R28-3993.0.0.0, value=lum~py-release/R28-3993.0.0)
and saw a devserver error.

Change-Id: I74afc05eb8b6302a27ec37e8c2cca7b21c0471e1
Reviewed-on: https://gerrit.chromium.org/gerrit/58382
Commit-Queue: Alex Miller <milleral@chromium.org>
Reviewed-by: Alex Miller <milleral@chromium.org>
Tested-by: Alex Miller <milleral@chromium.org>
/external/autotest/server/site_tests/provision_AutoUpdate/provision_AutoUpdate.py