New issue
Advanced search Search tips

Issue 894048 link

Starred by 4 users

Issue metadata

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

Blocking:
issue 894045



Sign in to add a comment

recipe_modules/swarming and recipes_modules/isolate: rewrite, upstream as recipes-py

Project Member Reported by mar...@chromium.org, Oct 10

Issue description

Precedent:
cipd is already a native first class support in upstream recipes-py, this is the basis for replacing swarming_client.


Rationale:
The swarming recipe module is used for many recipes in many projects. It's currently reimplemented as some projects are using the python implementation, some are using the Go implementation. Yay for maintainability.


Blocker:
This should be designed for the Go implementation only. Issue 894045 to rewrite the client in Go. This means this task won't be done for a while, as 894045 will take a while to complete.

 
AIs:
- Rewrite the chromium swarming recipe module in-place to become sane and the reference implementation.
- Make it self-bootstrap with the Go implementation.
  - The workflow shall be to fetch the tooling via CIPD, for deterministic bootstrapping process.
- Reimplement swarming_client to fetch the Go implementations via CIPD.


Refs:
- https://chromium.googlesource.com/infra/luci/recipes-py/+/master/recipe_modules/cipd
- https://chromium.googlesource.com/chromium/tools/build/+/master/scripts/slave/recipe_modules/isolate
- https://chromium.googlesource.com/chromium/tools/build/+/master/scripts/slave/recipe_modules/swarming
- https://chromium.googlesource.com/chromium/tools/build/+/master/scripts/slave/recipe_modules/swarming_client

 
Cc: iannu...@google.com
Owner: joshuaseaton@google.com
Status: Assigned (was: Available)
Joshua has been working on creating upstream recipe_modules already.
A following part is doing the migration, which will probably require more effort.
Project Member

Comment 3 by bugdroid1@chromium.org, Dec 14

The following revision refers to this bug:
  https://chromium.googlesource.com/infra/luci/recipes-py/+/a66cf68621e2c514b7684e5404cd700a700f1aba

commit a66cf68621e2c514b7684e5404cd700a700f1aba
Author: Joshua Seaton <joshuaseaton@google.com>
Date: Fri Dec 14 23:45:02 2018

[swarming] Create minimal swarming module.

This introduces only a trigger method; collect() will be added in the
following change.

Bug: 894048
Change-Id: I469a00a919cbd66968ec9035b6aba71605e9262e
Reviewed-on: https://chromium-review.googlesource.com/c/1350350
Commit-Queue: Joshua Seaton <joshuaseaton@google.com>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Reviewed-by: Takuto Ikuta <tikuta@chromium.org>

[add] https://crrev.com/a66cf68621e2c514b7684e5404cd700a700f1aba/recipe_modules/swarming/api.py
[add] https://crrev.com/a66cf68621e2c514b7684e5404cd700a700f1aba/recipe_modules/swarming/examples/full.expected/override swarming.json
[add] https://crrev.com/a66cf68621e2c514b7684e5404cd700a700f1aba/recipe_modules/swarming/__init__.py
[add] https://crrev.com/a66cf68621e2c514b7684e5404cd700a700f1aba/recipe_modules/swarming/examples/full.py
[add] https://crrev.com/a66cf68621e2c514b7684e5404cd700a700f1aba/recipe_modules/swarming/examples/full.expected/experimental.json
[modify] https://crrev.com/a66cf68621e2c514b7684e5404cd700a700f1aba/README.recipes.md
[add] https://crrev.com/a66cf68621e2c514b7684e5404cd700a700f1aba/recipe_modules/swarming/test_api.py
[add] https://crrev.com/a66cf68621e2c514b7684e5404cd700a700f1aba/recipe_modules/swarming/examples/full.expected/basic.json

Sign in to add a comment