History log of /external/autotest/client/common_lib/base_packages.py
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
1889ca1f96b253d6054fd2c0e9b31e06a34d1035 15-Apr-2015 Dan Shi <dshi@chromium.org> [autotest] Force dut to update package if test run is from test_that

test_that set use_package to False to avoid the dut to pull packages from
job_repo_url, which is set in autotest database. On the dut, autotest may not
update local package if the checksum of local cached package does not change.
The checksum is cached in [autodir]/packages.checksum.

This causes an issue for test_that. When autotest runs in dut, the test started
by test_that does not have job_repo_url, thus no new packages.checksum can be
pulled. Then the test decides that the local cache of test package's checksum
matches the existing packages.checksum, and will not pull new package from
autoserv.

This CL forces dut to use the new package from autoserv by deleting
packages.checksum file in the dut, if autotest client code is not updated using
packaging.

BUG=chromium:475261
TEST=local test_that run, make sure local test code change is used in dut.

Change-Id: Iae6bc6e2b62f2800b8f6df1561fd1f2c49047c93
Reviewed-on: https://chromium-review.googlesource.com/265833
Tested-by: Dan Shi <dshi@chromium.org>
Reviewed-by: Puthikorn Voravootivat <puthik@chromium.org>
Reviewed-by: Dan Shi <dshi@chromium.org>
Commit-Queue: Dan Shi <dshi@chromium.org>
/external/autotest/client/common_lib/base_packages.py
4f8df4306022e5805fa0092dd32373abcc1a7d67 07-Jun-2014 Prashanth B <beeps@chromium.org> Revert "[autotest] Add helper functions to log contents of a directory."

This reverts commit 55e9cd187f20097b163b2ef36434df1e84235e77.

Change-Id: I132f7c2b738cbfaa0871a9e0422b4ca9a62e5061
Reviewed-on: https://chromium-review.googlesource.com/202976
Reviewed-by: Prashanth B <beeps@chromium.org>
Commit-Queue: Prashanth B <beeps@chromium.org>
Tested-by: Prashanth B <beeps@chromium.org>
/external/autotest/client/common_lib/base_packages.py
009fe7f1829841e3d13fa544550d805738487105 07-May-2014 J. Richard Barnette <jrbarnette@chromium.org> [autotest] Shorten the wget timeout to 20 minutes.

We're suffering from excessively long 'wget' commands trying to
download the packages.checksum file. This changes all 'wget'
commands for package fetching to time out after 20 minutes,
instead of the default 1 hour. The 20 minute value is selected
since tests in the lab generally time out after that much time
anyway.

BUG=chromium:346312
TEST=None

Change-Id: Ib8d6fb15a4127d062ebc930526530bfb72b42cf7
Reviewed-on: https://chromium-review.googlesource.com/198761
Tested-by: Richard Barnette <jrbarnette@chromium.org>
Commit-Queue: Richard Barnette <jrbarnette@chromium.org>
Reviewed-by: Prashanth B <beeps@chromium.org>
/external/autotest/client/common_lib/base_packages.py
4c504325f52db357228ef99cda845ae756104daa 06-Feb-2014 Dan Shi <dshi@chromium.org> [autotest] change owner/group of unpacked test folder to the same user untar package

BUG=chromium:333114
TEST=test_that 172.22.14.6 dummy_Pass --board lumpy
verify owner and group of /usr/local/autotest/tests/dummy_Pass are both root.

Change-Id: I2a30e2461630fdbd85f50c33981467469c9e8b4d
Reviewed-on: https://chromium-review.googlesource.com/185076
Tested-by: Dan Shi <dshi@chromium.org>
Reviewed-by: Alex Miller <milleral@chromium.org>
Commit-Queue: Dan Shi <dshi@chromium.org>
/external/autotest/client/common_lib/base_packages.py
55e9cd187f20097b163b2ef36434df1e84235e77 19-Jul-2013 beeps <beeps@chromium.org> [autotest] Add helper functions to log contents of a directory.

We often see import of untar failure for no obvious reason. It
would help if we knew the contents of the directory we're trying
to untar into.

TEST=Forced and exception in base_packages and checked output
BUG=chromium:262005, chromium:260867

Change-Id: Ia731db08dc4372e18bdecfcedbddfe19a3395586
Reviewed-on: https://gerrit.chromium.org/gerrit/62612
Commit-Queue: Prashanth Balasubramanian <beeps@chromium.org>
Tested-by: Prashanth Balasubramanian <beeps@chromium.org>
Reviewed-by: Prashanth Balasubramanian <beeps@chromium.org>
/external/autotest/client/common_lib/base_packages.py
1bc08713a09d580c21e930ca3acaae7639536611 16-Oct-2012 Julius Werner <jwerner@chromium.org> Improve error logging in Autotest package system

Autotest uses wget to fetch test packages from the server, but fails to
log its output or error code on failure. This patch improves that
behavior in hopes of shedding more light on some recent power_LoadTest
lab failures.

BUG=chromium-os:35344
TEST=Edit the /build/<board>/usr/local/autotest/global_config.ini file
on the server and add the line 'fetch_location: http://doesnotexist' to
the [PACKAGES] section. Run power_LoadTest and check for the wget error
output and exit code in the stored client.0.DEBUG log.

Change-Id: I02d34786fc0a2d032f535268ddc7ada2256a4d48
Signed-off-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/35705
Reviewed-by: Chris Sosa <sosa@chromium.org>
/external/autotest/client/common_lib/base_packages.py
3ccb37b8e6b8ad3b4256d9693d325821ce57da3e 01-Sep-2011 Dale Curtis <dalecurtis@chromium.org> Fix package checksum issue resulting in refetch every time.

When using run_remote_tests, tests are not prepackaged, which results in
a tests and deps being bundled and fetched by the client each time it
needs them. These packages are cached locally, but because the checksum
wasn't updated upon download they are re-requested each time.

Fixing this bug results in a 15% speedup in the Smoke suite, from 8m26s
to 7m21s.

BUG=none
TEST=Ran smoke.

Change-Id: I4832d4a5c8f80962672045dbc5da60ee23c21e1d
Reviewed-on: http://gerrit.chromium.org/gerrit/7047
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Tested-by: Dale Curtis <dalecurtis@chromium.org>
/external/autotest/client/common_lib/base_packages.py
613b009c7db70311bc3cff5c147729fe8be50160 01-Sep-2011 Scott Zawalski <scottz@google.com> Modify create_directory to not assume it is only working with SSH repos.

TEST=Ran Locally
BUG=NA

Change-Id: I1644e2630b3043a9c6153707989851462f02248c
Reviewed-on: http://gerrit.chromium.org/gerrit/7041
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Scott Zawalski <scottz@chromium.org>
Tested-by: Scott Zawalski <scottz@chromium.org>
/external/autotest/client/common_lib/base_packages.py
6ad3319178d4e635bcc057f8bca3e7622696fa00 07-Jul-2011 Dale Curtis <dalecurtis@chromium.org> Fix various packager issues. Prepare changes for upstream.

BUG=none
TEST=Ran packager.

Change-Id: If3349a17f5278100f72afe9f1511e4332b8a346d
Reviewed-on: http://gerrit.chromium.org/gerrit/3701
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Tested-by: Dale Curtis <dalecurtis@chromium.org>
/external/autotest/client/common_lib/base_packages.py
c9613411db95fcb77bced6c7111e96775a12985d 01-Jul-2011 Dale Curtis <dalecurtis@chromium.org> Add parallel bzip2 support to package manager.

Will upstream. pbzip2 provides a linear increase in performance per
core. On most of our machines that means a 75% speedup, reducing the
packaging time from ~5 minutes down to a ~1m15s.

Also fixes a small bug where if no exclude_dir was specified None would
be added to the command line.

Also turns off verbosity. Is anyone using this?

BUG=none
TEST=Ran packager. run_remote_tests. Compared old packages with new.

Change-Id: If983468453dd212a2e7b22f5a49e8720c45b47d5
Reviewed-on: http://gerrit.chromium.org/gerrit/3567
Reviewed-by: <lookkas@gmail.com>
Reviewed-by: Paul Pendlebury <pauldean@chromium.org>
Tested-by: Dale Curtis <dalecurtis@chromium.org>
/external/autotest/client/common_lib/base_packages.py
d656d56473f50b9c1a9f5e2b2f5a9472181ee342 20-Apr-2011 Eric Li <ericli@chromium.org> Merge remote branch 'autotest-upstream/master' into autotest-merge

Merged to autotest upstream @5317.

BUG=none
TEST=
1. utils/unittest_suite.py
2. utils/packager.py --all upload -r /tmp/pkgs
3. utils/compile_gwt_clients.py

enter_chroot
emerge-x86-generic autotest-*
emerge-arm-generic autotest-*

run_remote_test suite_Smoke
run_remote_test bvt

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

Change-Id: I03240d8652ffdfde4d6c8fbf474e2fad7f3cda10
/external/autotest/client/common_lib/base_packages.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/client/common_lib/base_packages.py
e0493a4af57c1a73376a7bafaed542c01f588196 15-Nov-2010 Eric Li <ericli@chromium.org> Merge remote branch 'cros/upstream' into tempbranch

BUG=
TEST=

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

Change-Id: I5d56f1c10d0fce7f9d7dc3ad727ea52dcb9b2d6c
/external/autotest/client/common_lib/base_packages.py
44bf1e86ce43ff76f059d6da531108bdca3b5a28 25-Jun-2010 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Update packager to be a bit more picky about what it runs upkeep on

Signed-off-by: Scott Zawalski <scottz@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4679 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/client/common_lib/base_packages.py
6d7bef960a2d2c29bba0aff557a5db952b2b6ea8 11-Jun-2010 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Fix a little bug where we reference a variable before it is set

Signed-off-by: Scott Zawalski <scottz@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4602 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/client/common_lib/base_packages.py
d4b428691d1d45c82abc91d8cc3753e8a29e1803 11-Jun-2010 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Don't log an ERROR about non-fatal package fetches failures. Put those
in the DEBUG log and only log an error if all package fetch attempts
failed. Also cleans up the unused error_msgs local.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4601 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/client/common_lib/base_packages.py
f542950ba996692a4c1a656c8e27de9246037312 07-Apr-2010 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Clear out the destination path before retriving a package via autoserv.
Otherwise it will always appear to the client that the package was fetched
successfully, since it assumes if a file is where it told the server to put
it then the package was sent.

Also, add code to the error case in the http fetcher to remove any file
that may have been fetched. If the wget failed then the package isn't valid
so we shouldn't leave it lying around.

Signed-off-by: John Admanski <jadmanski@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4377 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/client/common_lib/base_packages.py
21781fbe5492a8c5466a8920ab9bce86bc755a72 11-Mar-2010 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Update base_packages to add a plus to the find command for pruning

Signed-off-by: Scott Zawalski <scottz@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@4296 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/client/common_lib/base_packages.py
6d7c565a3701429578fe7425fbd4aeb554e989e7 06-Nov-2009 mbligh <mbligh@592f7852-d20e-0410-864c-8624ca9c26a4> Improve error message when a disk is low on space.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3903 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/client/common_lib/base_packages.py
d6cc02c4b72c1dae7cdf701cf1ccb5b84706fd23 31-Aug-2009 showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> Turn off command echo for the command when we write the packaging checksum file. We previously turned off all stdout for packaging commands, but even that's not enough here, since in this case the actual command line can be huge.

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


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3632 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/client/common_lib/base_packages.py
122f6bc59b3ab7ea810e48aae2c974fa2c09eb6b 19-Aug-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Don't update the local copy of the checksum file when fetching a
package. This is only relevant when you're installing packages from
a repo that has no checksums; it means that you'll always reinstall,
instead of never reinstalling, so it trades off a bug for performance.

Risk: Medium
Visibility: autoserv-based package installs should now be updated when
the code on the server is

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@3562 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/client/common_lib/base_packages.py
ede7e248313e4670e69b2c9c28583cbc91d6f6bc 10-Aug-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Add support for autotest clients run by autoserv to request packages
from the server when no other repositories are available. The
autoserv process will automatically bundle up a tarball and push it
out to the client when a package is requested from it.

Risk: Medium
Visibility: Allows tests, profilers and deps to ALWAYS be installed
via the packaging system so long as autoserv is in use, even if
package server haven't been set up.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@3522 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/client/common_lib/base_packages.py
b1a5113d43c8f0a8b115c541d3e590d280e75565 07-Aug-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> Next step in the PackageManager restructure, replace the static list
of repo urls with a list of RepositoryFetcher instances. Drops
PackageManager.fetch_pkg_file and just calls the
RepositoryFetcher.fetch_pkg_file on each repo directly in fetch_pkg.

Also adds an explicit add_repository method as a "clean" way for
other classes (specifically client/job.py) to add repositories.

Risk: Medium
Visibility: Switches over to the polymorphic RepositoryFetcher model
of fetching repo packages.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@3512 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/client/common_lib/base_packages.py
c27c231ee840e8ce97012477ba1f917674375a1e 05-Aug-2009 jadmanski <jadmanski@592f7852-d20e-0410-864c-8624ca9c26a4> A very large first-pass refactoring of the packaging code. Ultimately
my goal is to replace the if-elif-elif-else type method calls in
the package manager that fetches a file with a more OO-style method
that tries to fetch the files from a variety of RepositoryFetcher
instances. My primary motivation for doing that is so that I can
add a more specialized RepositoryFetcher instance that's closesly
tied to the code in harness_autoserv.py and I feel it would be a bad
idea to try and intergrate that into packages.py itself.

However some other refactoring and cleanup ended up being required
so as a first pass I left the if-elif-elif-else style of
fetch_pkg_file, except now it just creates and instance of the
RepositoryFetcher on the fly and asks it to fetch a package.

The major changes that I did make were:
- moved the fetch_pkg_file_* methods into RepositoryFetcher classes
- moved the bulk of the packages.py into a base_packages.py file
and just left a base+site stub in packages.py since I was running
into some circular dependency troubles with packages and
site_packages
- moved the package error classes out of packages.py and into
error.py, and added an extra abstract error class so that all
the package error classes inherit from a common class
- cleaned up some of the fetch_pkg_file_* code while moving it around
such as removing a bunch of dead code from fetch_pkg_file_http
- fixed up all the utilities, tests and infrastructure that
referenced the packages module to use the error module instead
(or in a few cases base_packages)

Functionally these rather large changes should actually have very
little impact on Autotest as a whole, since this is mostly just moving
code around. I plan to follow it up with another patch later on that
replaces the fetch_pkg_file code with something that uses a set of
long-lived RepositoryFetcher instances, along with factory methods
for constructing those fetchers, and then later on with a patch that
adds support for retriving packages directly from autoserv (using
harness_autoserv).

Risk: High
Visibility: Mostly refactoring, moved error classes into error.py,
an a few bits and pieces of code cleanup in the moved
code.

Signed-off-by: John Admanski <jadmanski@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@3511 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/client/common_lib/base_packages.py