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

Issue 703259 link

Starred by 4 users

Issue metadata

Status: Archived
Owner:
Closed: Mar 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

go/simplechrome will not deploy builds to device

Project Member Reported by jamescook@chromium.org, Mar 20 2017

Issue description

This is blocking my team's ability to work on Chrome for Chrome OS.

Following directions from go/simplechrome:

In a chrome checkout that has never deployed before:

cd /w/chrome/src
cros chrome-sdk --log-level=debug --board=link --clear-sdk-cache
mkdir out_link
mkdir out_link/Release
gn gen out_link/Release --args="$GN_ARGS"
ninja -C out_link/Release -j500 -l20 chrome chrome_sandbox nacl_helper
# on device, ensure /usr/local/chrome directory exists
deploy_chrome --build-dir=out_link/Release --to=172.18.37.56 --nostartui --target-dir=/usr/local/chrome --mount-dir=/opt/google/chrome --strip-flags '-w -K "!*WebCore*"'

10:58:17: INFO: Testing connection to the device...
10:58:26: INFO: Mounting Chrome...
10:58:32: INFO: Copying Chrome to /usr/local/chrome on device...
deploy_chrome: Unhandled exception:
Traceback (most recent call last):
  File "/x/chrome/src/third_party/chromite/bin/deploy_chrome", line 168, in <module>
    DoMain()
  File "/x/chrome/src/third_party/chromite/bin/deploy_chrome", line 164, in DoMain
    commandline.ScriptWrapperMain(FindTarget)
  File "/x/chrome/src/third_party/chromite/lib/commandline.py", line 834, in ScriptWrapperMain
    ret = target(argv[1:])
  File "/x/chrome/src/third_party/chromite/scripts/deploy_chrome.py", line 630, in main
    deploy.Perform()
  File "/x/chrome/src/third_party/chromite/scripts/deploy_chrome.py", line 339, in Perform
    self._Deploy()
  File "/x/chrome/src/third_party/chromite/scripts/deploy_chrome.py", line 255, in _Deploy
    verbose=self.options.verbose)
  File "/x/chrome/src/third_party/chromite/lib/remote_access.py", line 714, in CopyToDevice
    return RunCommandFuncWrapper(func, msg, src, dest, **kwargs)
  File "/x/chrome/src/third_party/chromite/lib/remote_access.py", line 166, in RunCommandFuncWrapper
    result = func(*args, error_code_ok=True, **kwargs)
  File "/x/chrome/src/third_party/chromite/lib/remote_access.py", line 513, in Scp
    return rc_func(scp_cmd, print_cmd=verbose, **kwargs)
TypeError: RunCommand() got an unexpected keyword argument 'inplace'

 
Owner: steve...@chromium.org
Status: Assigned (was: Untriaged)
I'll try to look into this. We don't do a lot of custom deployment to /usr/local/chrome so this path is a bit more likely to fail, but it should still work.

It's not going to be at the top of the priority queue, so if someone else wants to help investigate please feel free :)

It would be helpful to know if this error occurs after a normal deployment (i.e. without --target-dir or --mount-dir)

This also fails with the same error without --target-dir or --mount-dir.

Same failure:
deploy_chrome --build-dir=out_link/Release --to=172.18.37.56

So we can't deploy at all.

Cc: ihf@chromium.org
Offending chromite change: https://chromium-review.googlesource.com/455237

For a quick workaround, you cal locally roll back (check out) third_party/chromite to:

9879412935a0739c6092ef20c27f7985122bb062

Cc: dgarr...@chromium.org
Cc: zentaro@chromium.org
Cc: shenghao@chromium.org malaykeshav@chromium.org
 Issue 703186  has been merged into this issue.
Project Member

Comment 9 by bugdroid1@chromium.org, Mar 20 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/76dfcb8d0a6fececf9a5bdb9e6e1450e050073e7

commit 76dfcb8d0a6fececf9a5bdb9e6e1450e050073e7
Author: stevenjb <stevenjb@chromium.org>
Date: Mon Mar 20 20:54:57 2017

Roll back chromite for Simple Chrome

The following chromite change breaks Simple Chrome:
https://chromium-review.googlesource.com/455237

This rolls back the following changes from chromite while we debug it:

commit 0d03f0f74706932433e8e9b789d46d920713633c
Author: Jacob Dufault <jdufault@google.com>
    Reviewed-on: https://chromium-review.googlesource.com/453921

commit 392c11ebc92e1639b0ce9616eceac02cbe2d368a
Author: Don Garrett <dgarrett@google.com>
    Reviewed-on: https://chromium-review.googlesource.com/452077

commit 3398d1f358e6c3810d3026032986075d7fd97d80
Author: Ilja H. Friedel <ihf@chromium.org>
    Reviewed-on: https://chromium-review.googlesource.com/455237

NOTE: This should only affect Simple Chrome.

BUG= 703259 
TBR=jdufault@chromium.org

Review-Url: https://codereview.chromium.org/2760043003
Cr-Commit-Position: refs/heads/master@{#458178}

[modify] https://crrev.com/76dfcb8d0a6fececf9a5bdb9e6e1450e050073e7/DEPS

Comment 10 by mcnee@chromium.org, Mar 20 2017

Hello. I noticed this issue as well when trying to deploy. It looks like the default changed from rsync to scp for CopyToDevice and the following call was not updated to use rsync: https://cs.chromium.org/chromium/src/third_party/chromite/scripts/deploy_chrome.py?l=252
This passes inplace=True which is only used by Rsync()--Scp() just passes it along to RunCommand(), hence the exception.

Adding mode='rync' here fixes the issue.
The chromite fix is here:
https://chromium-review.googlesource.com/c/457422/

We will roll chromite again later this week with that fix and any other changes.

Status: Fixed (was: Assigned)
Project Member

Comment 13 by bugdroid1@chromium.org, Mar 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/d57a72a49a62c3695e88acf8b1866474e361655b

commit d57a72a49a62c3695e88acf8b1866474e361655b
Author: Steven Bennetts <stevenjb@chromium.org>
Date: Tue Mar 21 02:30:19 2017

deploy_chrome: use rsync

BUG= chromium:703259 
TEST=deploy_chrome in Simple Chrome, scripts/deploy_chrome_unittest

Change-Id: I906ca999b3eac3e64ec1aaca714d845212ce1362
Reviewed-on: https://chromium-review.googlesource.com/457422
Commit-Ready: Steven Bennetts <stevenjb@chromium.org>
Tested-by: Steven Bennetts <stevenjb@chromium.org>
Reviewed-by: Ilja H. Friedel <ihf@chromium.org>

[modify] https://crrev.com/d57a72a49a62c3695e88acf8b1866474e361655b/scripts/deploy_chrome.py

Components: -Infra Infra>Client>ChromeOS
Labels: -Restrict-View-Google
Project Member

Comment 15 by bugdroid1@chromium.org, Mar 29 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/0ab63e1fd91f37510337fb7736e9023730a338aa

commit 0ab63e1fd91f37510337fb7736e9023730a338aa
Author: Ilja H. Friedel <ihf@chromium.org>
Date: Wed Mar 29 06:08:11 2017

CopyToDevice: require caller to select a mode.

As the fallback behavior is a bit hard to test, require the caller to
declare a preference for the mode parameter. Also fix all callers
with the previous default behavior of 'rsync'.

BUG= chromium:703259 
TEST=None.

Change-Id: I81280cf251ea873abc8c74b7cb8973e826597abc
Reviewed-on: https://chromium-review.googlesource.com/461276
Reviewed-by: Ilja H. Friedel <ihf@chromium.org>
Tested-by: Ilja H. Friedel <ihf@chromium.org>
Commit-Queue: Ilja H. Friedel <ihf@chromium.org>

[modify] https://crrev.com/0ab63e1fd91f37510337fb7736e9023730a338aa/lib/remote_access.py
[modify] https://crrev.com/0ab63e1fd91f37510337fb7736e9023730a338aa/cli/deploy.py
[modify] https://crrev.com/0ab63e1fd91f37510337fb7736e9023730a338aa/cli/cros/cros_stage.py
[modify] https://crrev.com/0ab63e1fd91f37510337fb7736e9023730a338aa/scripts/deploy_chrome.py

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

Labels: VerifyIn-60
Labels: VerifyIn-61

Comment 18 by dchan@chromium.org, Jan 22 2018

Status: Archived (was: Fixed)

Sign in to add a comment