New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 865825 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Jul 31
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

provision_Autoupdate.double now uses quick-provision, not update_engine

Reported by jrbarnette@chromium.org, Jul 20

Issue description

As of the change that disabled `enable_devserver_trigger_auto_update`,
the provision_Autoupdate.double test uses the quick-provision script
instead of testing update_engine.

The change can be seen in these two builds for nyan_big:
    before:  http://cautotest-prod/afe/#tab_id=view_job&object_id=212588618
    after:   http://cautotest-prod/afe/#tab_id=view_job&object_id=212677351

Looking in `autoupdate_logs/CrOS_update_chromeos4-row5-rack9-host5_5535.log`
in the "before" case, you can see that update is triggered with update_engine_client
and the check_for_update option:
    2018/06/28 06:30:04.008 DEBUG|    cros_build_lib:0593| RunCommand: ssh -p 22 '-oConnectionAttempts=4' '-oUserKnownHostsFile=/dev/null' '-oProtocol=2' '-oConnectTimeout=30' '-oServerAliveCountMax=3' '-oStrictHostKeyChecking=no' '-oServerAliveInterval=10' '-oNumberOfPasswordPrompts=0' '-oIdentitiesOnly=yes' -i /tmp/ssh-tmpoQzHo2/testing_rsa root@chromeos4-row5-rack9-host5 -- update_engine_client -check_for_update '-omaha_url=http://127.0.0.1:46057/update/pregenerated'


Looking in `debug/autoserv.DEBUG` in the "after" case, you can see that
quick-provision is invoked:
    06/28 13:24:48.579 DEBUG|          ssh_host:0301| Running (ssh) 'curl -o /tmp/quick-provision http://100.115.219.139:8082/static/quick-provision && head -1 /tmp/quick-provision | grep "^#!" | sed "s/#!//"' from '_install_update|_install_via_quick_provision|_get_remote_script|_run|run|run_very_slowly'

Digging into the "before" case, in `debug/autoserv.DEBUG, you can
also see that even though "update_engine" was used, the build actually
requested quick_provision:
    06/28 06:28:23.931 DEBUG|             utils:0218| Running 'ssh 100.115.219.130 'curl "http://100.115.219.130:8082/cros_au?full_update=True&force_update=True&build_name=nyan_big-release/R69-10825.0.0&quick_provision=True&host_name=chromeos4-row5-rack9-host5&async=True&clobber_stateful=True"''

The reason for quick-provision being skipped prior to the switchover was
this test in cros_update.py:
        if (self.quick_provision and self.clobber_stateful and
            not self.full_update):

quick-provision is skipped if "full_update" is requested.  That option
has been removed from CrosHost.machine_install().  provision_AutoUpdate.double
passes `full_update=True`, hence the difference.

 
Owner: jrbarnette@chromium.org
Status: Started (was: Untriaged)
Labels: -Pri-2 Pri-1
Project Member

Comment 3 by bugdroid1@chromium.org, Jul 27

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

commit 60e759ed567d042b764ef8e154ffc5a12f96d8cb
Author: Richard Barnette <jrbarnette@chromium.org>
Date: Fri Jul 27 22:28:48 2018

[autotest] Disable quick-provision for AutoUpdate.double

The provision_AutoUpdate.double test is meant to test AU via
update_engine.  Recent changes caused it to use quick-provision
instead.  This adds detection and handling to prevent that.

BUG= chromium:865825 
TEST=Run the sanity suite in a local Autotest instance

Change-Id: I0ac7827e0031c5a6f57b31884d7b4288a5e97255
Reviewed-on: https://chromium-review.googlesource.com/1147334
Commit-Ready: Richard Barnette <jrbarnette@chromium.org>
Tested-by: Richard Barnette <jrbarnette@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>

[modify] https://crrev.com/60e759ed567d042b764ef8e154ffc5a12f96d8cb/server/cros/autoupdater.py
[modify] https://crrev.com/60e759ed567d042b764ef8e154ffc5a12f96d8cb/server/site_tests/provision_AutoUpdate/provision_AutoUpdate.py
[modify] https://crrev.com/60e759ed567d042b764ef8e154ffc5a12f96d8cb/server/afe_utils.py
[modify] https://crrev.com/60e759ed567d042b764ef8e154ffc5a12f96d8cb/server/site_tests/provision_AutoUpdate/control.double

Status: Fixed (was: Started)
Waiting for push to prod.

Sign in to add a comment