Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(196)

Issue 22286010: [telemetry] Implement Forwarder using RNDIS. (Closed)

Created:
7 years, 4 months ago by szym
Modified:
7 years, 3 months ago
Reviewers:
bulach, tonyg
CC:
chromium-reviews, chrome-speed-team+watch_google.com, telemetry+watch_chromium.org, pauljensen, Philippe, frankf, craigdh, navabi1
Visibility:
Public.

Description

[telemetry] Implement Forwarder using RNDIS. Introduces new platform flags: --android-rndis --no-android-rndis [default] When enabled, the backend will configure the RNDIS interface. Otherwise, the user-space forwarder will be used. Note, RNDIS requires root. Run adb root. RNDIS also requires static configuration for usbX network interfaces in /etc/network/interfaces BUG=272381 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=221047

Patch Set 1 : . #

Patch Set 2 : use different networks to avoid the need for rule-based routing with multiple devices #

Total comments: 43

Patch Set 3 : sync #

Patch Set 4 : respond to review #

Patch Set 5 : move TODO #

Total comments: 1

Patch Set 6 : sync #

Patch Set 7 : rely on /etc/network/interfaces to configure host_iface #

Patch Set 8 : Exclude dev_iface when looking for address conflicts #

Total comments: 1

Patch Set 9 : fixup #

Patch Set 10 : comments #

Patch Set 11 : sync #

Total comments: 1

Patch Set 12 : hacky way to disable dns_forwarding #

Total comments: 9

Patch Set 13 : Replace sys.stderr with logging. Fallback to forwarder on any failure. Simplify. #

Patch Set 14 : add message to assertion #

Patch Set 15 : comment language #

Patch Set 16 : add --android_rndis flag #

Total comments: 15

Patch Set 17 : sync #

Patch Set 18 : split off android_rndis.py #

Total comments: 2

Patch Set 19 : "cache" _rndis_forwarder #

Patch Set 20 : Add _CheckOutput which works on python2.6 #

Patch Set 21 : simpler darwin check #

Total comments: 2

Patch Set 22 : sync, add --[no-]android-rndis flag #

Patch Set 23 : fix flags #

Patch Set 24 : address nits #

Patch Set 25 : sync fixup #

Unified diffs Side-by-side diffs Delta from patch set Stats (+387 lines, -38 lines) Patch
M tools/telemetry/telemetry/core/backends/adb_commands.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +0 lines, -5 lines 0 comments Download
A tools/telemetry/telemetry/core/backends/android_rndis.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +341 lines, -0 lines 0 comments Download
M tools/telemetry/telemetry/core/backends/chrome/android_browser_backend.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 4 chunks +28 lines, -0 lines 0 comments Download
M tools/telemetry/telemetry/core/browser.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +1 line, -6 lines 0 comments Download
M tools/telemetry/telemetry/core/browser_options.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +5 lines, -0 lines 0 comments Download
M tools/telemetry/telemetry/core/wpr_server.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2 chunks +12 lines, -27 lines 0 comments Download

Messages

Total messages: 29 (0 generated)
szym
This depends on https://codereview.chromium.org/23000006 tonyg, nduca: PTAL. pauljensen: FYI.
7 years, 4 months ago (2013-08-14 19:22:45 UTC) #1
nduca
probably best to route to bulach and tonyg. Ill just slow you down. :)
7 years, 4 months ago (2013-08-14 23:08:00 UTC) #2
tonyg
This looks really awesome. My comments are mostly nits. bulach@ should definitely review too. https://codereview.chromium.org/22286010/diff/27001/tools/telemetry/telemetry/core/chrome/adb_commands.py ...
7 years, 4 months ago (2013-08-15 16:39:10 UTC) #3
bulach
some general comments below: https://chromiumcodereview.appspot.com/22286010/diff/27001/tools/telemetry/telemetry/core/chrome/adb_commands.py File tools/telemetry/telemetry/core/chrome/adb_commands.py (right): https://chromiumcodereview.appspot.com/22286010/diff/27001/tools/telemetry/telemetry/core/chrome/adb_commands.py#newcode217 tools/telemetry/telemetry/core/chrome/adb_commands.py:217: result = self._adb.RunShellCommand( _adb.Adb().FileExistsOnDevice(..) https://chromiumcodereview.appspot.com/22286010/diff/27001/tools/telemetry/telemetry/core/chrome/adb_commands.py#newcode234 ...
7 years, 4 months ago (2013-08-15 17:26:04 UTC) #4
szym
Thanks for the review. Here's some partial response, before I get to act on the ...
7 years, 4 months ago (2013-08-15 19:38:39 UTC) #5
szym
https://codereview.chromium.org/22286010/diff/27001/tools/telemetry/telemetry/core/chrome/adb_commands.py File tools/telemetry/telemetry/core/chrome/adb_commands.py (right): https://codereview.chromium.org/22286010/diff/27001/tools/telemetry/telemetry/core/chrome/adb_commands.py#newcode188 tools/telemetry/telemetry/core/chrome/adb_commands.py:188: RNDIS_DEVICE = '/sys/class/android_usb/android0' On 2013/08/15 16:39:11, tonyg wrote: > ...
7 years, 4 months ago (2013-08-15 22:59:42 UTC) #6
tonyg
https://codereview.chromium.org/22286010/diff/27001/tools/telemetry/telemetry/core/chrome/adb_commands.py File tools/telemetry/telemetry/core/chrome/adb_commands.py (right): https://codereview.chromium.org/22286010/diff/27001/tools/telemetry/telemetry/core/chrome/adb_commands.py#newcode213 tools/telemetry/telemetry/core/chrome/adb_commands.py:213: self._adb.WaitForDevicePm() On 2013/08/15 19:38:39, szym wrote: > On 2013/08/15 ...
7 years, 4 months ago (2013-08-16 04:32:10 UTC) #7
szym
https://codereview.chromium.org/22286010/diff/27001/tools/telemetry/telemetry/core/chrome/adb_commands.py File tools/telemetry/telemetry/core/chrome/adb_commands.py (right): https://codereview.chromium.org/22286010/diff/27001/tools/telemetry/telemetry/core/chrome/adb_commands.py#newcode370 tools/telemetry/telemetry/core/chrome/adb_commands.py:370: subprocess.check_call(['sudo', 'ifconfig', host_iface, host_ip, On 2013/08/16 04:32:11, tonyg wrote: ...
7 years, 4 months ago (2013-08-16 16:26:53 UTC) #8
szym
https://codereview.chromium.org/22286010/diff/56001/tools/telemetry/telemetry/core/chrome/adb_commands.py File tools/telemetry/telemetry/core/chrome/adb_commands.py (right): https://codereview.chromium.org/22286010/diff/56001/tools/telemetry/telemetry/core/chrome/adb_commands.py#newcode375 tools/telemetry/telemetry/core/chrome/adb_commands.py:375: 'netmask', netmask, 'up']) On 2013/08/16 16:26:53, szym wrote: > ...
7 years, 4 months ago (2013-08-16 17:08:28 UTC) #9
szym
On 2013/08/16 17:08:28, szym wrote: > https://codereview.chromium.org/22286010/diff/56001/tools/telemetry/telemetry/core/chrome/adb_commands.py > File tools/telemetry/telemetry/core/chrome/adb_commands.py (right): > > https://codereview.chromium.org/22286010/diff/56001/tools/telemetry/telemetry/core/chrome/adb_commands.py#newcode375 > ...
7 years, 4 months ago (2013-08-16 19:20:27 UTC) #10
tonyg
https://codereview.chromium.org/22286010/diff/75001/DEPS File DEPS (right): https://codereview.chromium.org/22286010/diff/75001/DEPS#newcode236 DEPS:236: (Var("googlecode_url") % "web-page-replay") + "/trunk@519", If you like, you ...
7 years, 4 months ago (2013-08-17 01:54:10 UTC) #11
szym
https://codereview.chromium.org/22286010/diff/85001/tools/telemetry/telemetry/core/browser.py File tools/telemetry/telemetry/core/browser.py (right): https://codereview.chromium.org/22286010/diff/85001/tools/telemetry/telemetry/core/browser.py#newcode303 tools/telemetry/telemetry/core/browser.py:303: self._wpr_server = wpr_server.ReplayServer( I've been trying to remove DNS ...
7 years, 4 months ago (2013-08-19 21:26:14 UTC) #12
szym
On 2013/08/19 21:26:14, szym wrote: > https://codereview.chromium.org/22286010/diff/85001/tools/telemetry/telemetry/core/browser.py > File tools/telemetry/telemetry/core/browser.py (right): > > https://codereview.chromium.org/22286010/diff/85001/tools/telemetry/telemetry/core/browser.py#newcode303 > ...
7 years, 4 months ago (2013-08-20 21:35:41 UTC) #13
bulach
good stuff, looking forward to it! I think my comments now are mostly nits, except ...
7 years, 4 months ago (2013-08-21 16:10:53 UTC) #14
szym
PTAL. It will now gracefully fall back to the userspace forwarder, printing a warning explaining ...
7 years, 4 months ago (2013-08-21 20:16:05 UTC) #15
bulach
yeah, the thing without a flag is that we may end up with erratic behavior, ...
7 years, 4 months ago (2013-08-22 16:19:24 UTC) #16
szym
On 2013/08/22 16:19:24, bulach wrote: > yeah, the thing without a flag is that we ...
7 years, 4 months ago (2013-08-22 17:25:29 UTC) #17
tonyg
https://codereview.chromium.org/22286010/diff/106001/chrome/test/functional/webpagereplay.py File chrome/test/functional/webpagereplay.py (right): https://codereview.chromium.org/22286010/diff/106001/chrome/test/functional/webpagereplay.py#newcode119 chrome/test/functional/webpagereplay.py:119: '--host', str(self._replay_host), You need different owners for this file. ...
7 years, 4 months ago (2013-08-22 23:55:02 UTC) #18
szym
https://codereview.chromium.org/22286010/diff/106001/chrome/test/functional/webpagereplay.py File chrome/test/functional/webpagereplay.py (right): https://codereview.chromium.org/22286010/diff/106001/chrome/test/functional/webpagereplay.py#newcode119 chrome/test/functional/webpagereplay.py:119: '--host', str(self._replay_host), On 2013/08/22 23:55:03, tonyg wrote: > You ...
7 years, 4 months ago (2013-08-23 15:33:40 UTC) #19
szym
7 years, 4 months ago (2013-08-23 15:33:43 UTC) #20
tonyg
> Makes me wonder why. Python 2.6.X expires (no further releases) in a > couple ...
7 years, 3 months ago (2013-08-25 22:27:11 UTC) #21
tonyg
This is looking really close. Other than the comment below and the question about the ...
7 years, 3 months ago (2013-08-25 22:32:08 UTC) #22
szym
https://codereview.chromium.org/22286010/diff/106001/tools/telemetry/telemetry/core/chrome/adb_commands.py File tools/telemetry/telemetry/core/chrome/adb_commands.py (right): https://codereview.chromium.org/22286010/diff/106001/tools/telemetry/telemetry/core/chrome/adb_commands.py#newcode233 tools/telemetry/telemetry/core/chrome/adb_commands.py:233: return subprocess.check_output(['ip', 'addr']).splitlines() On 2013/08/23 15:33:41, szym wrote: > ...
7 years, 3 months ago (2013-08-26 14:43:06 UTC) #23
bulach
lgtm, thanks! some food for thought: - I'm adding a bunch of people who have ...
7 years, 3 months ago (2013-09-02 08:49:00 UTC) #24
szym
On 2013/09/02 08:49:00, bulach wrote: > lgtm, thanks! > > some food for thought: > ...
7 years, 3 months ago (2013-09-03 18:27:43 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/szym@chromium.org/22286010/136001
7 years, 3 months ago (2013-09-03 18:40:30 UTC) #26
commit-bot: I haz the power
Failed to apply patch for tools/telemetry/telemetry/core/backends/chrome/android_browser_backend.py: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file ...
7 years, 3 months ago (2013-09-03 18:40:34 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/szym@chromium.org/22286010/144001
7 years, 3 months ago (2013-09-03 19:04:48 UTC) #28
commit-bot: I haz the power
7 years, 3 months ago (2013-09-03 22:37:42 UTC) #29
Message was sent while issue was closed.
Change committed as 221047

Powered by Google App Engine
This is Rietveld 408576698