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

Issue 782460 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Dec 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Feature

Blocking:
issue 712418
issue 712419
issue 712421



Sign in to add a comment

LUCI Migration Recipe Integration

Project Member Reported by iannucci@chromium.org, Nov 8 2017

Issue description

Requirements:
  * Can switch a given builder from Buildbot to LUCI (or back) in a single CL/RPC
  * Recipes need to be able to identify that they're running under LUCI in order for recipe userspace to adapt to the environmental differences.

Proposal:
  * on a new build, annotated_run, remote_run and swarmbucket call luci migraiton's IsActive(master, builder) API for the 
    build's builder and determine whether the build is prod or not.
    Then they pass "$recipe_engine/runtime" property with value 
    {"is_luci": <bool>, "is_experimental": <bool>}`
    where:

    * is_luci is set to true only by swarmbucket, otherwise false
    * is_prod is set to true if is_luci=response.luci_is_active
  * Add depot_tools/runtime module with attribute is_luci and is_prod, exposing the property values

 

Comment 1 Deleted

Comment 2 by no...@chromium.org, Nov 8 2017

sgtm
sgtm, but s/active/is_prod such that usage in project recipes becomes:

if api.luci_migration.is_prod:
  do_stuff_with_side_effects()
Owner: iannucci@chromium.org
Status: Assigned (was: Untriaged)
CL to add recipe module with is_luci variable:
https://chromium-review.googlesource.com/#/c/chromium/tools/depot_tools/+/757820

Comment 5 by no...@chromium.org, Nov 8 2017

Description: Show this description

Comment 6 by no...@chromium.org, Nov 8 2017

i've updated the bug description according to out conversation offline. PTAL.
Project Member

Comment 8 by bugdroid1@chromium.org, Nov 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/depot_tools/+/26e338f40d5346a18e877bd10a17972ab6b78173

commit 26e338f40d5346a18e877bd10a17972ab6b78173
Author: Andrii Shyshkalov <tandrii@chromium.org>
Date: Thu Nov 09 02:05:20 2017

Revert "Add luci_migration recipe module."

This reverts commit 2a1ca3f68bc97c69537d46890348bfc79483ed60.

Reason for revert: to be replaced by recipe_engine runtime module
in https://chromium-review.googlesource.com/#/c/infra/luci/recipes-py/+/759677  

Original change's description:
> Add luci_migration recipe module.
> 
> R=​iannucci@chromium.org
> 
> Bug:  782460 
> Change-Id: I022deb4d8e3cee8d48e1acccc78f8681490c72b9
> Reviewed-on: https://chromium-review.googlesource.com/757820
> Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
> Reviewed-by: Robbie Iannucci <iannucci@chromium.org>

TBR=iannucci@chromium.org,tandrii@chromium.org

Change-Id: Ieb874ad42b939edb66e35db3cfed0b8b8746e70e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  782460 
Reviewed-on: https://chromium-review.googlesource.com/759357
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>

[delete] https://crrev.com/2a1ca3f68bc97c69537d46890348bfc79483ed60/recipes/recipe_modules/luci_migration/api.py
[delete] https://crrev.com/2a1ca3f68bc97c69537d46890348bfc79483ed60/recipes/recipe_modules/luci_migration/test_api.py
[delete] https://crrev.com/2a1ca3f68bc97c69537d46890348bfc79483ed60/recipes/recipe_modules/luci_migration/tests/full.py
[modify] https://crrev.com/26e338f40d5346a18e877bd10a17972ab6b78173/recipes/README.recipes.md
[delete] https://crrev.com/2a1ca3f68bc97c69537d46890348bfc79483ed60/recipes/recipe_modules/luci_migration/tests/full.expected/basic.json
[delete] https://crrev.com/2a1ca3f68bc97c69537d46890348bfc79483ed60/recipes/recipe_modules/luci_migration/__init__.py

Description: Show this description

Comment 11 by no...@chromium.org, Nov 15 2017

Description: Show this description

Comment 12 by efoo@chromium.org, Nov 16 2017

Labels: REQBY-LUCI-M4a-MacWinPOC LUCI-M3-S12 LUCI-M3-Beta
Adding labels for tracking

Comment 13 by efoo@chromium.org, Nov 16 2017

Blocking: 712419 712421 712418
Project Member

Comment 15 by bugdroid1@chromium.org, Nov 22 2017

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

commit 43c9fd9cbe2cc43c236d44f73acc5d1e314dca30
Author: Robert Iannucci <iannucci@chromium.org>
Date: Wed Nov 22 00:00:43 2017

[cr-buildbucket] Add LUCI Migration App support for swarmbucket.

Adds a new builder configuration option (luci_migration_host) and has
swarmbucket automatically populate the `$recipe_engine/runtime`
properties based on the luci-migration app.

The extra config option will allow us to correctly skip reaching out to
the migration app when a builder is fully migrated (by making the
luci_migration_host config option empty.)

R=nodir@chromium.org, tandrii@chromium.org

Bug:  782460 
Change-Id: I381703a1f611ced58a58c3691d4b045b1272284f
Reviewed-on: https://chromium-review.googlesource.com/778135
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
Reviewed-by: Nodir Turakulov <nodir@chromium.org>

[modify] https://crrev.com/43c9fd9cbe2cc43c236d44f73acc5d1e314dca30/appengine/cr-buildbucket/swarming/swarming.py
[modify] https://crrev.com/43c9fd9cbe2cc43c236d44f73acc5d1e314dca30/appengine/cr-buildbucket/proto/project_config.proto
[modify] https://crrev.com/43c9fd9cbe2cc43c236d44f73acc5d1e314dca30/appengine/cr-buildbucket/proto/project_config_pb2.py
[modify] https://crrev.com/43c9fd9cbe2cc43c236d44f73acc5d1e314dca30/appengine/cr-buildbucket/doc/swarming.md
[modify] https://crrev.com/43c9fd9cbe2cc43c236d44f73acc5d1e314dca30/appengine/cr-buildbucket/swarming/test/swarming_test.py
[modify] https://crrev.com/43c9fd9cbe2cc43c236d44f73acc5d1e314dca30/appengine/cr-buildbucket/swarming/test/swarmbucket_api_test.py

Project Member

Comment 16 by bugdroid1@chromium.org, Nov 30 2017

Project Member

Comment 17 by bugdroid1@chromium.org, Nov 30 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/ff0666806d319316e92daccfa43b485dad38a2b0

commit ff0666806d319316e92daccfa43b485dad38a2b0
Author: Benjamin Pastene <bpastene@chromium.org>
Date: Thu Nov 30 23:17:30 2017

Revert "[luci-migration] Add luci-migration contact function to remote_run."

This reverts commit 30c323d2124bd6389c89308c652c698e64ddfd1f.

Reason for revert: methinks this broke gsubtree:
https://ci.chromium.org/buildbot/chromium.infra.cron/gsubtreed/

Original change's description:
> [luci-migration] Add luci-migration contact function to remote_run.
> 
> R=​nodir@chromium.org, vadimsh@chromium.org
> 
> Bug:  782460 
> Change-Id: I28f34eb07b715dc8b9ca53611bcf3cab37811023
> Reviewed-on: https://chromium-review.googlesource.com/794527
> Reviewed-by: Nodir Turakulov <nodir@chromium.org>
> Commit-Queue: Robbie Iannucci <iannucci@chromium.org>

TBR=iannucci@chromium.org,vadimsh@chromium.org,nodir@chromium.org

Change-Id: Idec1d1b9f45a3a96e8cf92df4aa6b6a690c3f0cd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  782460 
Reviewed-on: https://chromium-review.googlesource.com/802314
Reviewed-by: Benjamin Pastene <bpastene@chromium.org>
Commit-Queue: Benjamin Pastene <bpastene@chromium.org>

[modify] https://crrev.com/ff0666806d319316e92daccfa43b485dad38a2b0/scripts/slave/logdog_bootstrap.py
[modify] https://crrev.com/ff0666806d319316e92daccfa43b485dad38a2b0/scripts/slave/annotated_run.py
[modify] https://crrev.com/ff0666806d319316e92daccfa43b485dad38a2b0/scripts/slave/remote_run.py

Project Member

Comment 18 by bugdroid1@chromium.org, Dec 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/e3279f053371d106cb4e12d14fd0bb055269846e

commit e3279f053371d106cb4e12d14fd0bb055269846e
Author: Robert Iannucci <iannucci@chromium.org>
Date: Fri Dec 01 00:01:57 2017

[luci-migration] Reland: Add luci-migration contact function to remote_run.

annotated_run.py apparently is using the system python instead of the
per-task cipd-bundled one. Relanding without annotated_run support.

R=nodir@chromium.org, vadimsh@chromium.org

Bug:  782460 
Change-Id: I23efd9175a4efa5e48fb15605bc7c1fe46ba8f4d
Reviewed-on: https://chromium-review.googlesource.com/802252
Reviewed-by: Vadim Shtayura <vadimsh@chromium.org>
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>

[modify] https://crrev.com/e3279f053371d106cb4e12d14fd0bb055269846e/scripts/slave/logdog_bootstrap.py
[modify] https://crrev.com/e3279f053371d106cb4e12d14fd0bb055269846e/scripts/slave/remote_run.py

Project Member

Comment 19 by bugdroid1@chromium.org, Dec 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/f4de05a11712ad5ff4e42ea41701bfe2d4cdc674

commit f4de05a11712ad5ff4e42ea41701bfe2d4cdc674
Author: Robbie Iannucci <iannucci@chromium.org>
Date: Fri Dec 01 00:08:02 2017

Revert "[luci-migration] Reland: Add luci-migration contact function to remote_run."

This reverts commit e3279f053371d106cb4e12d14fd0bb055269846e.

Reason for revert: Nope, this STILL breaks annotated_run

Original change's description:
> [luci-migration] Reland: Add luci-migration contact function to remote_run.
> 
> annotated_run.py apparently is using the system python instead of the
> per-task cipd-bundled one. Relanding without annotated_run support.
> 
> R=​nodir@chromium.org, vadimsh@chromium.org
> 
> Bug:  782460 
> Change-Id: I23efd9175a4efa5e48fb15605bc7c1fe46ba8f4d
> Reviewed-on: https://chromium-review.googlesource.com/802252
> Reviewed-by: Vadim Shtayura <vadimsh@chromium.org>
> Commit-Queue: Robbie Iannucci <iannucci@chromium.org>

TBR=iannucci@chromium.org,vadimsh@chromium.org,nodir@chromium.org

Change-Id: I67e4a404289c7e1bf0c38cd9696110cd8641d1e4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  782460 
Reviewed-on: https://chromium-review.googlesource.com/801997
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>

[modify] https://crrev.com/f4de05a11712ad5ff4e42ea41701bfe2d4cdc674/scripts/slave/logdog_bootstrap.py
[modify] https://crrev.com/f4de05a11712ad5ff4e42ea41701bfe2d4cdc674/scripts/slave/remote_run.py

Project Member

Comment 20 by bugdroid1@chromium.org, Dec 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/ac26fb1b905fb4030c851ebf589bdc2456b5a015

commit ac26fb1b905fb4030c851ebf589bdc2456b5a015
Author: Robert Iannucci <iannucci@chromium.org>
Date: Fri Dec 01 00:39:37 2017

[chromium.chromedriver] Switch chromedriver master to remote_run.

annotated_run is deprecated and incompatible with the luci-migration app,
since annotated_run allows PYTHONPATH leakage into the actual recipe.

R=dpranke@chromium.org, jbudorick@chromium.org, nodir@chromium.org

Bug:  782460 
Change-Id: I46f3bd9b6b171fa6da71c53709e1d50c45489eec
Reviewed-on: https://chromium-review.googlesource.com/801983
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Benjamin Pastene <bpastene@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>

[modify] https://crrev.com/ac26fb1b905fb4030c851ebf589bdc2456b5a015/masters/master.chromium.chromedriver/master.cfg

Project Member

Comment 21 by bugdroid1@chromium.org, Dec 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/b250568edd6a6bcf129d2183bbf7573d8ec7a11a

commit b250568edd6a6bcf129d2183bbf7573d8ec7a11a
Author: Robbie Iannucci <iannucci@chromium.org>
Date: Fri Dec 01 01:36:29 2017

Revert "[chromium.chromedriver] Switch chromedriver master to remote_run."

This reverts commit ac26fb1b905fb4030c851ebf589bdc2456b5a015.

Reason for revert: breaks because this recipe apparently runs a nested annotation script inside of build.git which runs runtest.py with a relative path (https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.chromedriver%2FLinux32%2F24312%2F%2B%2Frecipes%2Fsteps%2Fannotated_steps%2F0%2Fstdout). This should be fixed, but I can't do it right now.

Original change's description:
> [chromium.chromedriver] Switch chromedriver master to remote_run.
> 
> annotated_run is deprecated and incompatible with the luci-migration app,
> since annotated_run allows PYTHONPATH leakage into the actual recipe.
> 
> R=​dpranke@chromium.org, jbudorick@chromium.org, nodir@chromium.org
> 
> Bug:  782460 
> Change-Id: I46f3bd9b6b171fa6da71c53709e1d50c45489eec
> Reviewed-on: https://chromium-review.googlesource.com/801983
> Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
> Reviewed-by: Benjamin Pastene <bpastene@chromium.org>
> Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
> Commit-Queue: Robbie Iannucci <iannucci@chromium.org>

TBR=iannucci@chromium.org,dpranke@chromium.org,nodir@chromium.org,tandrii@chromium.org,bpastene@chromium.org,jbudorick@chromium.org

Change-Id: Ia53c0c8d769b53cbe95a6a8726119389fc0c5a67
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  782460 
Reviewed-on: https://chromium-review.googlesource.com/802754
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>

[modify] https://crrev.com/b250568edd6a6bcf129d2183bbf7573d8ec7a11a/masters/master.chromium.chromedriver/master.cfg

Project Member

Comment 22 by bugdroid1@chromium.org, Dec 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/8cca80c2b02150e85ac87841384728850f421e56

commit 8cca80c2b02150e85ac87841384728850f421e56
Author: Robert Iannucci <iannucci@chromium.org>
Date: Fri Dec 01 19:31:09 2017

[luci-migration] Reland: Add luci-migration contact function to remote_run.

This reland encapsulates all PYTHONPATH/sys.path manipulation to exactly
the libraries we need to import, to prevent PYTHONPATH changes from
leaking to other processes (specifically recipe_engine).

R=dnj@chromium.org, nodir@chromium.org

Bug:  782460 
Change-Id: I3bc4cd6bf4140b0df76e04f4d10c7517b20f1edc
Reviewed-on: https://chromium-review.googlesource.com/804209
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
Reviewed-by: Vadim Shtayura <vadimsh@chromium.org>
Reviewed-by: Nodir Turakulov <nodir@chromium.org>

[modify] https://crrev.com/8cca80c2b02150e85ac87841384728850f421e56/scripts/slave/logdog_bootstrap.py
[modify] https://crrev.com/8cca80c2b02150e85ac87841384728850f421e56/scripts/slave/annotated_run.py
[modify] https://crrev.com/8cca80c2b02150e85ac87841384728850f421e56/scripts/slave/remote_run.py

Cc: efoo@chromium.org
Labels: LUCI-Blocker-TaskForce
Project Member

Comment 25 by bugdroid1@chromium.org, Dec 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/3c9c9a59d1193d5be18a1cf7207441ffaefb9185

commit 3c9c9a59d1193d5be18a1cf7207441ffaefb9185
Author: Robert Iannucci <iannucci@chromium.org>
Date: Fri Dec 01 21:41:09 2017

[luci-migration] Fix url in remote_run.

TBR=nodir@chromium.org, vadimsh@chromium.org

Bug:  782460 
Change-Id: I5a6710f05e256cc2298bae03774722fc56b779e9
Reviewed-on: https://chromium-review.googlesource.com/804145
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Reviewed-by: Nodir Turakulov <nodir@chromium.org>
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>

[modify] https://crrev.com/3c9c9a59d1193d5be18a1cf7207441ffaefb9185/scripts/slave/remote_run.py

Project Member

Comment 26 by bugdroid1@chromium.org, Dec 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/infra/luci/luci-go.git/+/c23d50badfcb9d30453499b6879d9d614112c948

commit c23d50badfcb9d30453499b6879d9d614112c948
Author: Robert Iannucci <iannucci@chromium.org>
Date: Fri Dec 01 22:35:19 2017

[auth] Allow Authenticate package function to take multiple Methods.

R=nodir@chromium.org, vadimsh@chromium.org

Bug:  782460 
Change-Id: I288d88d184cd7411d5df084407a11864e1d2a18a
Reviewed-on: https://chromium-review.googlesource.com/803672
Reviewed-by: Nodir Turakulov <nodir@chromium.org>
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>

[modify] https://crrev.com/c23d50badfcb9d30453499b6879d9d614112c948/server/auth/middleware.go

Project Member

Comment 27 by bugdroid1@chromium.org, Dec 1 2017

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

commit b6a606bf79ff66d2cc665de26c64d8fa30930929
Author: Robert Iannucci <iannucci@chromium.org>
Date: Fri Dec 01 22:53:58 2017

[luci-migration] Add oauth2 for bots.

Also rolls go.chromium.org/luci:
c23d50ba [auth] Allow Authenticate package function to take multiple Methods.
8a55d63e [milo] display groups that contain a builder
3cc4baff [milo] display top-level links on all pages
022bf7ba [milo] Change summary titles to builder IDs.
948d792b [gae] Use AddShardFunctions instead of $dscache.enable.
f0839440 [gerrit] Support change creation in Gerrit API.
c0d775a3 [milo] Console - Add option to expand
2de768bc [gaemiddleware] Add a setting that purposefully breaks memcache.

R=nodir@chromium.org, vadimsh@chromium.org

Bug:  782460 
Change-Id: I8e0da407f461bdf42853773952fa00cb2fe4aa46
Reviewed-on: https://chromium-review.googlesource.com/803665
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
Reviewed-by: Nodir Turakulov <nodir@chromium.org>

[modify] https://crrev.com/b6a606bf79ff66d2cc665de26c64d8fa30930929/go/src/infra/appengine/luci-migration/app/handlers.go
[modify] https://crrev.com/b6a606bf79ff66d2cc665de26c64d8fa30930929/DEPS

Comment 28 by efoo@chromium.org, Dec 5 2017

Labels: LUCI-M3-S13
Status: Fixed (was: Assigned)

Comment 30 by efoo@chromium.org, Jan 31 2018

Labels: LUCI-Beta

Comment 31 by efoo@chromium.org, Jan 31 2018

Labels: -LUCI-Blocker-M4 -LUCI-M3-Beta luci-blocker-migration

Comment 32 by efoo@chromium.org, Feb 13 2018

Labels: -LUCI-blocker-migration LUCI-Chromium-CQSets LUCI-Blocker-Chromium-CQSets

Sign in to add a comment