New issue
Advanced search Search tips

Issue 777865 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocking:
issue 776709
issue 878777



Sign in to add a comment

Enable vpython for running tests on cataput try servers

Project Member Reported by perezju@chromium.org, Oct 24 2017

Issue description

As noted on the blocking bug, we want to explicitly require systems using catapult (devil and Telemetry in particular) to have psutil 2.x or higher.

Trying to enable this on:
https://chromium-review.googlesource.com/c/catapult/+/735682/2

Caused failures on:

== Catapult Android Tryserver ==
CRITICAL:root:psutil 1.2.1 loaded from: /usr/lib/python2.7/dist-packages/psutil/__init__.pyc
CRITICAL:root:Invalid module version, required: psutil (2.2.1 <= version)

== Catapult Linux Tryserver ==
CRITICAL:root:psutil 1.2.1 loaded from: /usr/lib/python2.7/dist-packages/psutil/__init__.pyc
CRITICAL:root:Invalid module version, required: psutil (2.2.1 <= version)

== Catapult Presubmit ==
CRITICAL:root:psutil 1.2.1 loaded from: /usr/lib/python2.7/dist-packages/psutil/__init__.pyc
CRITICAL:root:Invalid module version, required: psutil (2.2.1 <= version)

== Catapult Windows Tryserver ==
CRITICAL:root:psutil 1.1.3 loaded from: C:\b\depot_tools\win_tools-2_7_6_bin\python\bin\lib\site-packages\psutil\__init__.pyc
CRITICAL:root:Invalid module version, required: psutil (2.2.1 <= version)

Can we get those updated? Maybe vpython [1] can be used on those bots to manage the environment too?

[1]: https://chromium.googlesource.com/chromium/src/+/master/.vpython#32

Not familiar with how or who can help to get this done. Hoping someone cc'ed can help to triage.
 
Blocking: 776709

Comment 2 by d...@chromium.org, Oct 25 2017

> Can we get those updated? Maybe vpython [1] can be used on those bots to manage the environment too?

Yes, that is the preferred way to do this. In the Catapult tryserver recipe, where you invoke your test script, just set the "venv=True" keyword argument.

I don't know how Catapult's recipes are set-up, so if this is more complicated than I described above, feel free to link a build or the recipe and I'll see if I can point to the specific spot.

The API I'm referencing is the "venv" keyword argument in the "python" recipe module: https://chromium.googlesource.com/infra/luci/recipes-py/+/master/README.recipes.md#class-pythonapi_recipeapi
Owner: perezju@chromium.org
Status: Assigned (was: Untriaged)
Well, the relevant bit of the recipe is here:
https://chromium.googlesource.com/chromium/tools/build/+/3e7388b614c5e6cfabee23c5b8d2fe7b29eee70f/scripts/slave/recipes/catapult.py#33

which appears to get test steps from:
https://github.com/catapult-project/catapult/blob/5d951d4a5dd856199088463f00562c30b1ae4f01/catapult_build/build_steps.py#L25

example output:
https://build.chromium.org/p/tryserver.client.catapult/builders/Catapult%20Linux%20Tryserver/builds/9736/steps/gen%20step%28build_steps.py%29/logs/json.output

and eventually those get turned into m.step calls here:
https://github.com/luci/recipes-py/blob/c07de907b2223efcacbf45d7b793fc0d8a964f31/recipe_modules/generator_script/api.py#L119

If I'm understanding things right we could detect at that point whether the `cmd[0] == 'python'` and, if so, use m.python with venv=True to run those commands.

Does that sound right?

I can try to get some CLs for that.
A bunch of the commands we generate, even those that are python, don't start w/ 'python', though. It might be better to modify the JSON we emit from build_steps.py to run vpython instead of python?
> A bunch of the commands we generate, even those that are python, don't start w/ 'python', though.

From this line it looks like all of them do:
https://github.com/catapult-project/catapult/blob/5d951d4a5dd856199088463f00562c30b1ae4f01/catapult_build/build_steps.py#L256

Also compare with the example URL above.

Although looking at the implementation of venv:
https://cs.chromium.org/chromium/infra/recipes-py/recipe_modules/python/api.py?rcl=c07de907b2223efcacbf45d7b793fc0d8a964f31&l=47

what you propose also seems like it would work.

I don't have a strong preference (although I lean slightly towards making the change recipe side, so all python environment decisions remain there).

I'll prepare the build_steps.py change so we can compare and decide.
Here are the two alternatives.

Recipe side change:
https://chromium-review.googlesource.com/c/infra/luci/recipes-py/+/738113

Or, catapult side change:
https://chromium-review.googlesource.com/c/catapult/+/738373
Tryjobs on the catapult side change all failed due to missing modules.

From what I could gather, those builders only have a catapult checkout (not full chromium), right? That's why they don't seem to be picking up:
https://chromium.googlesource.com/chromium/src/+/master/.vpython

What should be solution to this? I assume we can place a .vpython file within catapult; but how can we then make the chromium .vpython also inherit the catapult requirements? (at least for chromium side scripts that depend on it)

Comment 8 by d...@chromium.org, Oct 26 2017

I prefer recipe-side too, since it's more visible. Left a comment here: https://chromium-review.googlesource.com/c/catapult/+/738373#message-e42a703cfc1aa01149ab33f3a0d7635e0a0089e5

> From what I could gather, those builders only have a catapult checkout (not full chromium), right? That's why they don't seem to be picking up...
> I assume we can place a .vpython file within catapult

This sounds plausible, and yes, your solution is a good one.

> but how can we then make the chromium .vpython also inherit the catapult requirements

The mechanism for ".vpython" files is described here: https://chromium.googlesource.com/infra/infra/+/master/doc/users/vpython.md#common-specification

The tool will look at the invoked script and walk upwards towards root looking for ".vpython", so even in a Chromium checkout, your Catapult ".vpython" may be used if the invoked script is at or below Catapult's ".vpython" file hierarchically.

Otherwise, "vpython" spec files are intentionally flat and simple, and do not support inclusion. The best bet is to just duplicate them. If we find users doing this a lot, the decision to not support inclusion may be worth re-evaluating.

---

Form your tryjob, you might need to add "pypiwin32" to the wheels list for Windows builders, too:
https://uberchromegw.corp.google.com/i/tryserver.client.catapult/builders/Catapult%20Windows%20Tryserver/builds/9218/steps/BattOr%20Smoke%20Tests/logs/stdio

https://pypi.python.org/pypi/pypiwin32

I've gone ahead and uploaded these wheels: https://chromium-review.googlesource.com/#/c/infra/infra/+/738362
Project Member

Comment 9 by bugdroid1@chromium.org, Oct 26 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/infra/infra/+/99cb9041d32f018d407cb5a3a350dfd60645939c

commit 99cb9041d32f018d407cb5a3a350dfd60645939c
Author: Dan Jacques <dnj@chromium.org>
Date: Thu Oct 26 12:30:29 2017

[dockerbuild] Add "pypiwin32".

TBR=iannucci@chromium.org
BUG=chromium:777865
TEST=local
  - Ran and uploaded these wheels.

Change-Id: Ia36de1ce47cd7c22b17e9421478046cc7b47190f
Reviewed-on: https://chromium-review.googlesource.com/738362
Reviewed-by: Daniel Jacques <dnj@chromium.org>
Commit-Queue: Daniel Jacques <dnj@chromium.org>

[modify] https://crrev.com/99cb9041d32f018d407cb5a3a350dfd60645939c/infra/tools/dockerbuild/wheel.py
[modify] https://crrev.com/99cb9041d32f018d407cb5a3a350dfd60645939c/infra/tools/dockerbuild/wheels.md

John, Ned, any comments about #6 and #8?

Regardless, I'll keep working on the catapult side change, since it at least allows us to test on trybots and iron out any missing modules before actually deploying the change.

------

Dan, on the Linux and Mac bots, those are failing with:

This script requires the Google Cloud SDK to be in PATH.
Install at https://cloud.google.com/sdk and then run
`gcloud components install app-engine-python`

Because the google_appengine is no longer found in PYTHONPATH (c.f. [1]). What would you recommend for this case?

[1]: https://cs.chromium.org/chromium/src/third_party/catapult/dashboard/dashboard/__init__.py?rcl=5da4837140ae16586b2b9097efbb08a7f4726a05&l=99

Comment 11 by d...@chromium.org, Oct 26 2017

I'm not sure how "google_appengine" made it into PATH in the first place. Is this something you deliberately put there, something has been manually installed on the bots, or something else entirely?

It looks like the script is scanning PATH. "vpython" shouldn't be impacting PATH in this way - it augments PATH, but it shouldn't remove things from it. Not sure what's going on here.
Cc: sullivan@chromium.org
I think this was manually installed on the bots. +Annie, maybe you know about the history of this?

Note, although the error message complains about "PATH", the actual problem (from the link above in [1]) comes from a failed import.

The catapult build_steps.py explicitly puts the required folder it in the PYTHONPATH [2], but this is overridden by vpython.

[2]: https://cs.chromium.org/chromium/src/third_party/catapult/catapult_build/build_steps.py?l=261
Summary: Enable vpython for running tests on cataput try servers (was: Update psutil version on cataput try servers)
Re #14: dnj: We're using this recipe module for GAE which it looks like you added a year ago: https://cs.chromium.org/chromium/build/scripts/slave/recipe_modules/gae_sdk/api.py

Any suggestions on how we could do this better?
Cc: d...@chromium.org

Comment 17 by d...@chromium.org, Oct 30 2017

Ah I remember that - it was an adaptation to the previous "gcloud" downloading system which used Google Storage. Just installs the SDK to a place, nothing special.

However, I do note that the recipe attaches to the AppEngine SDK using PYTHONPATH (from link in #13). "vpython" discards PYTHONPATH on execution, so this is likely where the failure is happening: https://chromium.googlesource.com/infra/luci/luci-go/+/master/vpython/python/interpreter.go#175

*after* "vpython" launches a script, the script is welcome to do whatever it wants to its path or PYTHONPATH. You just need to funnel the GAE SDK path through your various call stack to the script that "vpython" invokes using a flag or custom environment variable and have the script install it once launched, something like:

Recipe: https://chromium.googlesource.com/chromium/tools/build/+/3e7388b614c5e6cfabee23c5b8d2fe7b29eee70f/scripts/slave/recipes/catapult.py#61
--app-engine-sdk-path /path/to/SDK

build_steps.py:
steps['cmd'] += ['--app-engine-sdk-path', args.app_engine_sdk_path]

<test code>
if args.app_engine_sdk_path:
  sys.path.insert(0, args.app_engine_sdk_path)

===

Is this sort of plumbing excessive? It sort of a bummer we have to forward this information through both the recipe and build_steps.py layers, but it might still be the best way to do things. It's certainly explicit. WDYT?
I guess there is no way to get the GAE installed as a wheel, right?

I'll have a look at the plumbing needed anyway for your suggestion in #17.

Comment 19 by d...@chromium.org, Oct 30 2017

I did find an official GAE wheel, but the only official source doesn't include the AppEngine SDK, notably "dev_appserver": https://pypi.python.org/pypi/google-cloud

It's also a massive collection of other wheels and would take some time to figure out how to bundle properly.

I also found this "unofficial" wheel source: https://pypi.python.org/pypi/appengine-sdk

It looks pretty up-to-date, and it seems to have "dev_appserver" available. However, note that the current recipe downloads the *latest* GAE SDK, and installing a wheel pins it at a specific version.

Integrating it into "vpython" would also require augmenting the common Catapult specification file, which would cause "dev_appserver" to be installed for everyone ... not that this is horrible, but just a thought.

Proceeding with the unofficial wheel path is pretty trivial; however, it would require someone to periodically update the wheel version manually.
Cc: martiniss@chromium.org
Cc: simonhatch@chromium.org
After kbr's amazing work at  issue 776804  to remove one of the big blockers, I decided to give this a try again.

From the recent dry CQ run in https://chromium-review.googlesource.com/c/catapult/+/738373 it all works, but I had to disable vpython for "Dashboard Python Tests" which rely on the AppEngine SDK to be found on its PYTHONPATH as we discussed in #17 and #19.

+simonhatch since you own most of that side of things.

As I see the two alternatives forward are:

1. Plumb the app_engine_sdk_pythonpath through scripts and make dashboard/bin/run_py_tests itself add it to sys.path.

2. Add an appengine-sdk wheel to .vpython and get someone to update that when needed.

Any thoughts/preferences?
I'm actually not that familiar with the bots and their setup. How is the version on the bots currently maintained?
So FYI, vpython does keep PYTHONPATH these days. You should still be able to plumb it through that way.
(which changed since comment #17)
Well, it discards the crappy PYTHONPATH from the buildbot run_slave.py, but after that it keeps PYTHONPATH as-is :D
Project Member

Comment 26 by bugdroid1@chromium.org, Sep 21

The following revision refers to this bug:
  https://chromium.googlesource.com/catapult/+/23c67a511280f6dbc2a2bea849dd7eed5104809e

commit 23c67a511280f6dbc2a2bea849dd7eed5104809e
Author: John Budorick <jbudorick@chromium.org>
Date: Fri Sep 21 14:19:21 2018

Use vpython and remove vendored pymock.

Bug: chromium:878777
Bug: chromium:777865
Change-Id: If0a536516a2380423e3d7eef218c46123c78fedd
Reviewed-on: https://chromium-review.googlesource.com/1199813
Commit-Queue: John Budorick <jbudorick@chromium.org>
Reviewed-by: Ned Nguyen <nednguyen@google.com>
Reviewed-by: Ben Pastene <bpastene@chromium.org>
Reviewed-by: Juan Antonio Navarro Pérez <perezju@chromium.org>

[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/devil/bin/run_py_devicetests
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/common/bin/run_tests
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/tracing/bin/run_vinn_tests
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/dashboard/bin/run_dev_server_tests
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/devil/devil/android/tools/system_app_test.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/devil/devil/utils/lazy/weak_constant_test.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/devil/devil/utils/cmd_helper_test.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/systrace/bin/run_tests
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/telemetry/bin/list_telemetry_unittests
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/experimental/bisect_lib/fetch_revision_info_test.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/devil/devil/android/sdk/shared_prefs_test.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/telemetry/telemetry/internal/util/binary_manager_unittest.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/common/py_utils/py_utils/__init__.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/third_party/vinn/vinn/vinn_unittest.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/catapult_build/PRESUBMIT.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/devil/devil/android/tools/device_monitor_test.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/devil/devil/android/apk_helper_test.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/telemetry/bin/run_snap_it_unittest
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/telemetry/PRESUBMIT.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/devil/devil/android/sdk/adb_wrapper_test.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/devil/bin/run_py_tests
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/devil/devil/utils/mock_calls.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/devil/devil/android/fastboot_utils_test.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/telemetry/bin/run_browser_tests
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/third_party/vinn/bin/run_tests
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/devil/devil/android/battery_utils_test.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/dependency_manager/PRESUBMIT.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/catapult_build/bin/run_py_tests
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/netlog_viewer/bin/run_dev_server_tests
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/devil/devil/android/logcat_monitor_test.py
[delete] https://crrev.com/0a7a46e7b9764220b64f88466cba845589c39e10/third_party/mock/README.chromium
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/dashboard/PRESUBMIT.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/common/eslint/bin/run_tests
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/dependency_manager/bin/run_tests
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/common/py_utils/PRESUBMIT.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/devil/devil/android/tools/script_common_test.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/telemetry/telemetry/internal/platform/linux_based_platform_backend_unittest.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/devil/devil/utils/lsusb_test.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/dashboard/bin/run_py_tests
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/devil/devil/android/perf/perf_control_test.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/BUILD.gn
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/systrace/PRESUBMIT.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/tracing/bin/run_symbolizer_tests
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/telemetry/bin/run_tests
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/devil/devil/android/md5sum_test.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/catapult_build/fetch_telemetry_deps_and_run_tests
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/devil/devil/devil_env.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/.vpython
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/devil/devil/utils/find_usb_devices_test.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/telemetry/telemetry/__init__.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/experimental/bisect_lib/fetch_intervening_revisions_test.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/common/py_utils/py_utils/cloud_storage_unittest.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/devil/devil/android/device_utils_test.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/tracing/bin/run_py_tests
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/tracing/PRESUBMIT.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/tracing/bin/run_dev_server_tests
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/common/py_vulcanize/bin/run_py_tests
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/devil/devil/devil_env_test.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/dependency_manager/dependency_manager/base_config_unittest.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/dependency_manager/dependency_manager/__init__.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/devil/devil/android/app_ui_test.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/tracing/bin/run_tests
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/devil/devil/utils/mock_calls_test.py
[modify] https://crrev.com/23c67a511280f6dbc2a2bea849dd7eed5104809e/experimental/PRESUBMIT.py
[delete] https://crrev.com/0a7a46e7b9764220b64f88466cba845589c39e10/third_party/mock/mock.py

Project Member

Comment 27 by bugdroid1@chromium.org, Sep 21

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

commit 670f4d35ef9aaa5c6a8f194d71e7e4bf06539d38
Author: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Date: Fri Sep 21 22:18:05 2018

Roll src/third_party/catapult 15abb5c68f71..32261ee689fe (4 commits)

https://chromium.googlesource.com/catapult.git/+log/15abb5c68f71..32261ee689fe


git log 15abb5c68f71..32261ee689fe --date=short --no-merges --format='%ad %ae %s'
2018-09-21 sadrul@chromium.org dashboard: Include metric name for rendering alerts.
2018-09-21 benjhayden@chromium.org Fix bbc test case in system_health_report
2018-09-21 jbudorick@chromium.org Use vpython and remove vendored pymock.
2018-09-21 anthonyalridge@google.com Introduces state management for results.vue.


Created with:
  gclient setdep -r src/third_party/catapult@32261ee689fe

The AutoRoll server is located here: https://autoroll.skia.org/r/catapult-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel

BUG=chromium:870324,chromium:878777,chromium:777865,chromium:866423
TBR=sullivan@chromium.org

Change-Id: I42b47c5cb63f2cac87c9c82cbbdaf9b7eea42e9e
Reviewed-on: https://chromium-review.googlesource.com/1239158
Reviewed-by: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#593355}
[modify] https://crrev.com/670f4d35ef9aaa5c6a8f194d71e7e4bf06539d38/DEPS

Project Member

Comment 29 by bugdroid1@chromium.org, Sep 24

The following revision refers to this bug:
  https://chromium.googlesource.com/catapult/+/64f2ed4bb2f1a094bba38cb817ed912a118e442e

commit 64f2ed4bb2f1a094bba38cb817ed912a118e442e
Author: John Budorick <jbudorick@chromium.org>
Date: Mon Sep 24 18:23:40 2018

Revert "Use vpython and remove vendored pymock."

This reverts commit 23c67a511280f6dbc2a2bea849dd7eed5104809e.

Reason for revert: Causing issues for both pinpoint and cros pfq ( crbug.com/888574 )

Original change's description:
> Use vpython and remove vendored pymock.
>
> Bug: chromium:878777
> Bug: chromium:777865
> Change-Id: If0a536516a2380423e3d7eef218c46123c78fedd
> Reviewed-on: https://chromium-review.googlesource.com/1199813
> Commit-Queue: John Budorick <jbudorick@chromium.org>
> Reviewed-by: Ned Nguyen <nednguyen@google.com>
> Reviewed-by: Ben Pastene <bpastene@chromium.org>
> Reviewed-by: Juan Antonio Navarro Pérez <perezju@chromium.org>

TBR=perezju@chromium.org,nednguyen@google.com,bpastene@chromium.org,jbudorick@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: chromium:878777
Bug: chromium:777865
Change-Id: I60eb9ebdeb50e74f532daff619ecb66577afbcbb
Reviewed-on: https://chromium-review.googlesource.com/1240593
Commit-Queue: John Budorick <jbudorick@chromium.org>
Reviewed-by: John Budorick <jbudorick@chromium.org>

[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/devil/bin/run_py_devicetests
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/common/bin/run_tests
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/tracing/bin/run_vinn_tests
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/dashboard/bin/run_dev_server_tests
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/devil/devil/android/tools/system_app_test.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/devil/devil/utils/lazy/weak_constant_test.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/devil/devil/utils/cmd_helper_test.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/systrace/bin/run_tests
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/telemetry/bin/list_telemetry_unittests
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/experimental/bisect_lib/fetch_revision_info_test.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/devil/devil/android/sdk/shared_prefs_test.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/telemetry/telemetry/internal/util/binary_manager_unittest.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/common/py_utils/py_utils/__init__.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/third_party/vinn/vinn/vinn_unittest.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/catapult_build/PRESUBMIT.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/devil/devil/android/tools/device_monitor_test.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/devil/devil/android/apk_helper_test.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/telemetry/bin/run_snap_it_unittest
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/telemetry/PRESUBMIT.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/devil/devil/android/sdk/adb_wrapper_test.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/devil/bin/run_py_tests
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/devil/devil/utils/mock_calls.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/devil/devil/android/fastboot_utils_test.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/telemetry/bin/run_browser_tests
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/third_party/vinn/bin/run_tests
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/devil/devil/android/battery_utils_test.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/dependency_manager/PRESUBMIT.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/catapult_build/bin/run_py_tests
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/netlog_viewer/bin/run_dev_server_tests
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/devil/devil/android/logcat_monitor_test.py
[add] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/third_party/mock/README.chromium
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/dashboard/PRESUBMIT.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/common/eslint/bin/run_tests
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/dependency_manager/bin/run_tests
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/common/py_utils/PRESUBMIT.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/devil/devil/android/tools/script_common_test.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/telemetry/telemetry/internal/platform/linux_based_platform_backend_unittest.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/devil/devil/utils/lsusb_test.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/dashboard/bin/run_py_tests
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/devil/devil/android/perf/perf_control_test.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/BUILD.gn
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/systrace/PRESUBMIT.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/tracing/bin/run_symbolizer_tests
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/telemetry/bin/run_tests
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/devil/devil/android/md5sum_test.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/catapult_build/fetch_telemetry_deps_and_run_tests
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/devil/devil/devil_env.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/.vpython
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/devil/devil/utils/find_usb_devices_test.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/telemetry/telemetry/__init__.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/experimental/bisect_lib/fetch_intervening_revisions_test.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/common/py_utils/py_utils/cloud_storage_unittest.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/devil/devil/android/device_utils_test.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/tracing/bin/run_py_tests
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/tracing/PRESUBMIT.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/tracing/bin/run_dev_server_tests
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/common/py_vulcanize/bin/run_py_tests
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/devil/devil/devil_env_test.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/dependency_manager/dependency_manager/base_config_unittest.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/dependency_manager/dependency_manager/__init__.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/devil/devil/android/app_ui_test.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/tracing/bin/run_tests
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/devil/devil/utils/mock_calls_test.py
[modify] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/experimental/PRESUBMIT.py
[add] https://crrev.com/64f2ed4bb2f1a094bba38cb817ed912a118e442e/third_party/mock/mock.py

Project Member

Comment 30 by bugdroid1@chromium.org, Sep 24

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

commit 134fcfe7ed8c4b8c26cc4d2783c894cb233ffdad
Author: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Date: Mon Sep 24 19:51:33 2018

Roll src/third_party/catapult f19e5d119588..e06567b30fdd (1 commits)

https://chromium.googlesource.com/catapult.git/+log/f19e5d119588..e06567b30fdd


git log f19e5d119588..e06567b30fdd --date=short --no-merges --format='%ad %ae %s'
2018-09-24 jbudorick@chromium.org Add vpython to pinpoint tasks.


Created with:
  gclient setdep -r src/third_party/catapult@e06567b30fdd

The AutoRoll server is located here: https://autoroll.skia.org/r/catapult-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel

BUG=chromium:777865,chromium:878777
TBR=sullivan@chromium.org

Change-Id: I2d23dfdac206d7c569bfbce4d72f05eebded15fd
Reviewed-on: https://chromium-review.googlesource.com/1240510
Reviewed-by: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#593648}
[modify] https://crrev.com/134fcfe7ed8c4b8c26cc4d2783c894cb233ffdad/DEPS

Project Member

Comment 31 by bugdroid1@chromium.org, Sep 24

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

commit 276e662dbc2525240c0d3abe456086f11d04843b
Author: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Date: Mon Sep 24 21:35:12 2018

Roll src/third_party/catapult e06567b30fdd..64f2ed4bb2f1 (1 commits)

https://chromium.googlesource.com/catapult.git/+log/e06567b30fdd..64f2ed4bb2f1


git log e06567b30fdd..64f2ed4bb2f1 --date=short --no-merges --format='%ad %ae %s'
2018-09-24 jbudorick@chromium.org Revert "Use vpython and remove vendored pymock."


Created with:
  gclient setdep -r src/third_party/catapult@64f2ed4bb2f1

The AutoRoll server is located here: https://autoroll.skia.org/r/catapult-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel

BUG=chromium:878777,chromium:777865
TBR=sullivan@chromium.org

Change-Id: Ia7a75c175d7efa7f628faabf583f193998b4bb60
Reviewed-on: https://chromium-review.googlesource.com/1240835
Reviewed-by: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#593694}
[modify] https://crrev.com/276e662dbc2525240c0d3abe456086f11d04843b/DEPS

Cc: -iannucci@chromium.org iannu...@google.com
Blocking: 878777
Project Member

Comment 34 by bugdroid1@chromium.org, Jan 14

The following revision refers to this bug:
  https://chromium.googlesource.com/catapult/+/e4b19a218dc398c28ef618a35aa8715768d554c4

commit e4b19a218dc398c28ef618a35aa8715768d554c4
Author: Juan Antonio Navarro Perez <perezju@chromium.org>
Date: Mon Jan 14 16:37:44 2019

[py_utils] Add modules_util.RequireVersion

The core of Telemetry's external_modules.ImportRequiredModule is
extracted to a py_utils module to allow reuse by other catapult
projects.

This is in preparation for the eventual deprecation of
external_modules itself, which is due to be replaced by the use
of vpython dependencies instead.

This CL also uses the new module in devil's device_recovery.py
which already runs using vpython everywhere.

Bug: chromium:776709
Bug: chromium:777865
Change-Id: I68ecae5c67c821b8aa809507eac826f0457af5c5
Reviewed-on: https://chromium-review.googlesource.com/c/1394564
Reviewed-by: Caleb Rouleau <crouleau@chromium.org>
Reviewed-by: John Budorick <jbudorick@chromium.org>
Reviewed-by: Annie Sullivan <sullivan@chromium.org>
Commit-Queue: Juan Antonio Navarro Pérez <perezju@chromium.org>

[modify] https://crrev.com/e4b19a218dc398c28ef618a35aa8715768d554c4/telemetry/telemetry/internal/util/external_modules.py
[modify] https://crrev.com/e4b19a218dc398c28ef618a35aa8715768d554c4/devil/devil/android/tools/device_recovery.py
[modify] https://crrev.com/e4b19a218dc398c28ef618a35aa8715768d554c4/telemetry/telemetry/internal/platform/android_platform_backend_unittest.py
[add] https://crrev.com/e4b19a218dc398c28ef618a35aa8715768d554c4/common/py_utils/py_utils/modules_util_unittest.py
[add] https://crrev.com/e4b19a218dc398c28ef618a35aa8715768d554c4/common/py_utils/py_utils/modules_util.py

Cc: -nedngu...@google.com
Project Member

Comment 36 by bugdroid1@chromium.org, Jan 15

The following revision refers to this bug:
  https://chromium.googlesource.com/catapult/+/a3d272ff14a633caf6477e68dfd4c334701562fd

commit a3d272ff14a633caf6477e68dfd4c334701562fd
Author: Juan Antonio Navarro Pérez <perezju@chromium.org>
Date: Tue Jan 15 13:25:22 2019

Revert "[py_utils] Add modules_util.RequireVersion"

This reverts commit e4b19a218dc398c28ef618a35aa8715768d554c4.

Reason for revert: Blocking catapult autoroll

Original change's description:
> [py_utils] Add modules_util.RequireVersion
> 
> The core of Telemetry's external_modules.ImportRequiredModule is
> extracted to a py_utils module to allow reuse by other catapult
> projects.
> 
> This is in preparation for the eventual deprecation of
> external_modules itself, which is due to be replaced by the use
> of vpython dependencies instead.
> 
> This CL also uses the new module in devil's device_recovery.py
> which already runs using vpython everywhere.
> 
> Bug: chromium:776709
> Bug: chromium:777865
> Change-Id: I68ecae5c67c821b8aa809507eac826f0457af5c5
> Reviewed-on: https://chromium-review.googlesource.com/c/1394564
> Reviewed-by: Caleb Rouleau <crouleau@chromium.org>
> Reviewed-by: John Budorick <jbudorick@chromium.org>
> Reviewed-by: Annie Sullivan <sullivan@chromium.org>
> Commit-Queue: Juan Antonio Navarro Pérez <perezju@chromium.org>

TBR=sullivan@chromium.org,perezju@chromium.org,crouleau@chromium.org,jbudorick@chromium.org

Change-Id: I157894b7f2d059c25656e33b6650b98d11c65962
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:776709, chromium:777865
Reviewed-on: https://chromium-review.googlesource.com/c/1411604
Reviewed-by: Juan Antonio Navarro Pérez <perezju@chromium.org>
Commit-Queue: Juan Antonio Navarro Pérez <perezju@chromium.org>

[modify] https://crrev.com/a3d272ff14a633caf6477e68dfd4c334701562fd/telemetry/telemetry/internal/util/external_modules.py
[modify] https://crrev.com/a3d272ff14a633caf6477e68dfd4c334701562fd/devil/devil/android/tools/device_recovery.py
[modify] https://crrev.com/a3d272ff14a633caf6477e68dfd4c334701562fd/telemetry/telemetry/internal/platform/android_platform_backend_unittest.py
[delete] https://crrev.com/46491773618e58e3f1a928759ff35164c5c4db11/common/py_utils/py_utils/modules_util_unittest.py
[delete] https://crrev.com/46491773618e58e3f1a928759ff35164c5c4db11/common/py_utils/py_utils/modules_util.py

Project Member

Comment 37 by bugdroid1@chromium.org, Jan 16

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

commit c9d39cb7402e371e19d1485f07270953c266d4cd
Author: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Date: Wed Jan 16 02:43:37 2019

Roll src/third_party/catapult 96320b515106..78448d90081e (17 commits)

https://chromium.googlesource.com/catapult.git/+log/96320b515106..78448d90081e


git log 96320b515106..78448d90081e --date=short --no-merges --format='%ad %ae %s'
2019-01-15 vollick@chromium.org Plumb the trace buffer size for atrace
2019-01-15 perezju@chromium.org Revert "[py_utils] Add modules_util.RequireVersion"
2019-01-15 taylori@google.com Fix handling of perfetto protobuf on mac
2019-01-15 perezju@chromium.org [dashboard] Remove dead code in start_try_job.py
2019-01-15 perezju@chromium.org Revert "Remove TagMap."
2019-01-15 perezju@chromium.org [Telemetry] Add list_of_scalar_values.mean
2019-01-15 dtu@chromium.org [pinpoint] Add Tags field to try job dialog.
2019-01-15 dtu@chromium.org [pinpoint] Ignore cached isolate hashes over 8 weeks old.
2019-01-14 eroman@chromium.org Fix import of new NetExport generated logs.
2019-01-14 bsheedy@chromium.org Fix gtest conversion multiplier
2019-01-14 eyaich@google.com Adding timeToFirstViewportReady metric
2019-01-14 perezju@chromium.org [py_utils] Add modules_util.RequireVersion
2019-01-14 perezju@chromium.org Remove GetNetworkData methods
2019-01-14 perezju@chromium.org [cli services] Add buildbucket_service
2019-01-14 perezju@chromium.org [Telemetry] Remove TBMv1 metrics.SmoothnessMetric
2019-01-11 benjhayden@chromium.org Remove TagMap.
2019-01-11 benjhayden@chromium.org Truncate serialized floats in HistogramSet JSON.


Created with:
  gclient setdep -r src/third_party/catapult@78448d90081e

The AutoRoll server is located here: https://autoroll.skia.org/r/catapult-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel

BUG=chromium:776709,chromium:777865,chromium:918218,chromium:921616,chromium:874940,chromium:916877, chromium:917273 ,chromium:921342,chromium:904879,chromium:776709,chromium:777865,chromium:480512, chromium:919093 , chromium:691581 ,chromium:921000,chromium:918218,chromium:918208
TBR=sullivan@chromium.org

Change-Id: I75c07d8719f5668f9b4a95a9757cf6c25412b547
Reviewed-on: https://chromium-review.googlesource.com/c/1413252
Reviewed-by: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#623062}
[modify] https://crrev.com/c9d39cb7402e371e19d1485f07270953c266d4cd/DEPS

Sign in to add a comment