New issue
Advanced search Search tips

Issue 799309 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Feb 2018
Components:
EstimatedDays: ----
NextAction: ----
OS: Fuchsia
Pri: 3
Type: Bug

Blocking:
issue 798851
issue 803929
issue 805057



Sign in to add a comment

Fuchsia: rewrite runner scripts to use SSH/SCP

Project Member Reported by kmarshall@chromium.org, Jan 5 2018

Issue description

Tracking bug for the effort to rewrite runner scripts to use SSH/SCP.
 
Blocking: 798851
Project Member

Comment 2 by bugdroid1@chromium.org, Jan 10 2018

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

commit 29eea977b114eeebf54808cc1fcaa5107bd15f7b
Author: Kevin Marshall <kmarshall@chromium.org>
Date: Wed Jan 10 00:08:08 2018

Initial implementation of new SSH-based Fuchsia runner libraries.

The new runner is based heavily around the use of SSH and SCP.
Rather than build large boot filesystems with Chrome or test binaries,
as we do now, we will instantiate a basic Fuchsia instance and use
SSH for our binary deployment, execution, and log extraction needs.
It can also be used as a layer to facilitate connections between the
client and server portions of the Blink layout test system.

This CL defines the abstraction layer for connecting and interacting
with a Fuchsia target, and implementation code for using it on QEMU.


Bug:  799309 
Change-Id: Ia2613c36d1a6f10457aa9c90435d4c95f9721e6c
Reviewed-on: https://chromium-review.googlesource.com/851141
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Commit-Queue: Kevin Marshall <kmarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#528179}
[add] https://crrev.com/29eea977b114eeebf54808cc1fcaa5107bd15f7b/build/fuchsia/runner_v2/boot_image.py
[add] https://crrev.com/29eea977b114eeebf54808cc1fcaa5107bd15f7b/build/fuchsia/runner_v2/common.py
[add] https://crrev.com/29eea977b114eeebf54808cc1fcaa5107bd15f7b/build/fuchsia/runner_v2/qemu_target.py
[add] https://crrev.com/29eea977b114eeebf54808cc1fcaa5107bd15f7b/build/fuchsia/runner_v2/qemu_target_test.py
[add] https://crrev.com/29eea977b114eeebf54808cc1fcaa5107bd15f7b/build/fuchsia/runner_v2/remote_cmd.py
[add] https://crrev.com/29eea977b114eeebf54808cc1fcaa5107bd15f7b/build/fuchsia/runner_v2/target.py

Blocking: 803929
Blocking: 805057
Project Member

Comment 5 by bugdroid1@chromium.org, Jan 31 2018

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

commit c4ec08a5c87d988d32990d346e3ed2b3c497d551
Author: Kevin Marshall <kmarshall@chromium.org>
Date: Wed Jan 31 04:30:40 2018

Fuchsia: Create new runner scripts which leverage packaging and SSH.

Generates an alternative runner script for each test target,
with a "_v2" suffix, e.g. run_base_unittests_v2.
The old-style generated runner scripts will still be without the
"_v2" suffix, but they will be deprecated and removed soon as part
of a followup CL.

The new scripts will bring up a new QEMU VM, a Zedboot physical
device, or continue to use an existing device that is currently
accepting SSH connections.

Once connected, the scripts push the package bits onto the device,
execute the package using SSH, extract the build logs and other
artifacts from the device, and finally clean up the state.

Other changes:
* Add DeviceTarget impl for deployment.
* Use relative paths in package archive manifests, for symbolization.
* Add logging statements everywhere, and a -v switch to turn them on.
* Add package cleanup teardown step, to avoid cluttering up long-running
  devices.
* Refactor symbolization as a stream filter object.


Bug:  799309 
Change-Id: Iffaefd1d3a5ce919ba2dea4e29033987454c2eed
Reviewed-on: https://chromium-review.googlesource.com/882441
Commit-Queue: Kevin Marshall <kmarshall@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Wez <wez@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#533200}
[modify] https://crrev.com/c4ec08a5c87d988d32990d346e3ed2b3c497d551/build/config/fuchsia/package.gni
[modify] https://crrev.com/c4ec08a5c87d988d32990d346e3ed2b3c497d551/build/config/fuchsia/rules.gni
[rename] https://crrev.com/c4ec08a5c87d988d32990d346e3ed2b3c497d551/build/fuchsia/runner_v2/boot_data.py
[add] https://crrev.com/c4ec08a5c87d988d32990d346e3ed2b3c497d551/build/fuchsia/runner_v2/common_args.py
[add] https://crrev.com/c4ec08a5c87d988d32990d346e3ed2b3c497d551/build/fuchsia/runner_v2/create_runner_script.py
[add] https://crrev.com/c4ec08a5c87d988d32990d346e3ed2b3c497d551/build/fuchsia/runner_v2/device_target.py
[modify] https://crrev.com/c4ec08a5c87d988d32990d346e3ed2b3c497d551/build/fuchsia/runner_v2/qemu_target.py
[modify] https://crrev.com/c4ec08a5c87d988d32990d346e3ed2b3c497d551/build/fuchsia/runner_v2/qemu_target_test.py
[modify] https://crrev.com/c4ec08a5c87d988d32990d346e3ed2b3c497d551/build/fuchsia/runner_v2/remote_cmd.py
[add] https://crrev.com/c4ec08a5c87d988d32990d346e3ed2b3c497d551/build/fuchsia/runner_v2/run_package.py
[add] https://crrev.com/c4ec08a5c87d988d32990d346e3ed2b3c497d551/build/fuchsia/runner_v2/symbolizer.py
[modify] https://crrev.com/c4ec08a5c87d988d32990d346e3ed2b3c497d551/build/fuchsia/runner_v2/target.py
[add] https://crrev.com/c4ec08a5c87d988d32990d346e3ed2b3c497d551/build/fuchsia/runner_v2/test_runner.py
[modify] https://crrev.com/c4ec08a5c87d988d32990d346e3ed2b3c497d551/testing/test.gni
[modify] https://crrev.com/c4ec08a5c87d988d32990d346e3ed2b3c497d551/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/fuchsia.py

Project Member

Comment 6 by bugdroid1@chromium.org, Feb 9 2018

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

commit 95022eaa38ca44fec7c1fe9154f7cee5bb0c5de8
Author: Kevin Marshall <kmarshall@chromium.org>
Date: Fri Feb 09 20:47:54 2018

Fuchsia: enable SCP compression.

Enabling compression trims 40-60% from the package sizes. Performance
is substantially improved for slow network links, e.g. virtualized I/O
on swarming clients.

Bug:  799309 
Change-Id: Ia6829fd245c2df6638f68db39b5c0f2968f2179c
Reviewed-on: https://chromium-review.googlesource.com/912269
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Kevin Marshall <kmarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#535818}
[modify] https://crrev.com/95022eaa38ca44fec7c1fe9154f7cee5bb0c5de8/build/fuchsia/runner_v2/remote_cmd.py

Status: Fixed (was: Assigned)

Sign in to add a comment