New issue
Advanced search Search tips

Issue 613769 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Oct 2016
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: ----

Blocking:
issue 608580



Sign in to add a comment

Add logics in autotest/devserver for CrOS auto-update

Project Member Reported by xixuan@chromium.org, May 21 2016

Issue description

In order to make autotest call devserver to auto-update a DUT, some logics should added in devserver.py in autotest directory.

These logics include:
1. make a call to devserver's API to start auto-update.
2. make a call to devserver's API to check the status of auto-update.
3. handling overall retry when error happens.
4. handling error reporting and logging.

... more will be updated.
 
Components: Infra>Client>ChromeOS
Components: -Infra
Project Member

Comment 3 by bugdroid1@chromium.org, Jul 27 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/autotest/+/5dc64eab19add3bca232fc9139845a4e839a1d3a

commit 5dc64eab19add3bca232fc9139845a4e839a1d3a
Author: xixuan <xixuan@google.com>
Date: Sat May 21 00:27:51 2016

Autotest: Add logic for devserver to trigger auto-update.

This CL let devserver.py trigger CrOS auto-update for a CrOS host. The code
path now is:
afe -->
    cros_host.machine_install_by_devserver() -->
        devserver.auto_update() -->
            cros_au in Devserver API.

Involving host class is because that there're many host-specific feature
needs to be read. The whole functions are combined with CL:346199, CL:348381.

BUG= chromium:613769 
TEST=locally ran 'ds.auto_update([dut], [image_path])';
Ran 'repair' and 'provision test' for DUT from local autotest instance;
Ran unittest.

 Changes to be committed:
	modified:   client/common_lib/cros/dev_server.py
	modified:   client/common_lib/cros/dev_server_unittest.py
	modified:   global_config.ini
	modified:   server/afe_utils.py
	modified:   server/hosts/cros_host.py

Change-Id: I91ce8d283d97f4bb110d7478714302c4584b171e
Reviewed-on: https://chromium-review.googlesource.com/346484
Commit-Ready: Xixuan Wu <xixuan@chromium.org>
Tested-by: Xixuan Wu <xixuan@chromium.org>
Reviewed-by: Chris Sosa <sosa@chromium.org>

[modify] https://crrev.com/5dc64eab19add3bca232fc9139845a4e839a1d3a/server/hosts/cros_host.py
[modify] https://crrev.com/5dc64eab19add3bca232fc9139845a4e839a1d3a/client/common_lib/cros/dev_server.py
[modify] https://crrev.com/5dc64eab19add3bca232fc9139845a4e839a1d3a/server/afe_utils.py
[modify] https://crrev.com/5dc64eab19add3bca232fc9139845a4e839a1d3a/client/common_lib/cros/dev_server_unittest.py
[modify] https://crrev.com/5dc64eab19add3bca232fc9139845a4e839a1d3a/global_config.ini

Project Member

Comment 4 by bugdroid1@chromium.org, Aug 3 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/autotest/+/aaaf6e100dbf4105293de9c92403bf4ea5afc846

commit aaaf6e100dbf4105293de9c92403bf4ea5afc846
Author: xixuan <xixuan@google.com>
Date: Fri Jul 29 19:08:45 2016

Autotest: modify auto-update logic to make sure errors won't be eaten.

Since func _start_auto_update will return process id finally, any errors in
triggerring auto-update won't be raised and logged.

This CL propose to:
1. Raise any errors happens in _start_auto_update()
2. Call handler_cleanup() and collect_au_log() no matter auto-update process
succeeds or not.
3. Call kill_au_proc() if error happens in auto-update. It can be executed even
if the current auto-update process has finished, since that pid is not
required for it.
4. Every rpc functions should be retried independently. For example, retry
handler_cleanup won't cause the whole auto-update process
(_start_auto_update()) to be retried.

BUG= chromium:613769 
TEST=locally ran 'ds.auto_update([dut], [image_path])';
Ran 'repair' and 'provision test' for DUT from local autotest instance;
Ran unittest.

Changes to be committed:
	modified:   client/common_lib/cros/dev_server.py
	modified:   client/common_lib/cros/dev_server_unittest.py

Change-Id: Ia827d584d6010930f3f35fafe451d64c0195be21
Reviewed-on: https://chromium-review.googlesource.com/364583
Commit-Ready: Xixuan Wu <xixuan@chromium.org>
Tested-by: Xixuan Wu <xixuan@chromium.org>
Reviewed-by: Chris Sosa <sosa@chromium.org>

[modify] https://crrev.com/aaaf6e100dbf4105293de9c92403bf4ea5afc846/client/common_lib/cros/dev_server.py
[modify] https://crrev.com/aaaf6e100dbf4105293de9c92403bf4ea5afc846/client/common_lib/cros/dev_server_unittest.py

Status: Fixed (was: Assigned)

Comment 6 by dchan@google.com, Jan 21 2017

Labels: VerifyIn-57

Comment 7 by dchan@google.com, Mar 4 2017

Labels: VerifyIn-58

Comment 8 by dchan@google.com, Apr 17 2017

Labels: VerifyIn-59

Comment 9 by dchan@google.com, May 30 2017

Labels: VerifyIn-60
Labels: VerifyIn-61
Status: Verified (was: Fixed)
Closing. Please reopen it if its not fixed. Thanks!

Sign in to add a comment