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

Issue 2338153003: Add snapshotting for CIPD packages and dimensions to DM. (Closed)

Created:
4 years, 3 months ago by iannucci
Modified:
4 years, 2 months ago
Reviewers:
dnj, Vadim Sh., nodir
CC:
chromium-reviews, infra-reviews+luci-go_chromium.org, andrew.wang, todd, tandrii+luci-go_chromium.org, M-A Ruel
Target Ref:
refs/heads/master
Project:
luci-go
Visibility:
Public.

Description

Add snapshotting for CIPD packages and dimensions to DM. This makes DM automatically pin all cipd packages used by an attempt, and optionally allows the quest to specify dimensions to pin as well. This prevents confusing bugs where e.g. a certain version of kitchen is used for the first execution of an attempt, but a different version is used for a subsequent execution. This means things like the 'state' that DM passes between executions doesn't need to worry about being interpreted by different versions of the various cipd packages in the job. Pinning dimensions could be useful for pinning instance ids (for affinity), but more trivially is useful for pinning os/cpu when pinning a VERY generic cipd spec (e.g. things with ${platform} in the spec). In this case you could potentially formulate a quest that could run on ANY platform and get consistent re-executions. BUG=639975 Committed: https://github.com/luci/luci-go/commit/d5fba5ee301b374e9c161fcfa8c4693b1a058e2c

Patch Set 1 #

Patch Set 2 : rebase #

Patch Set 3 : rebase #

Patch Set 4 : Fix nits #

Patch Set 5 : rebase #

Patch Set 6 : Remove cleanup noise #

Total comments: 14

Patch Set 7 : Add --snapshot-dimension to jobsim script #

Patch Set 8 : Fix comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+465 lines, -162 lines) Patch
A dm/api/distributor/swarming/v1/cipd.go View 1 chunk +46 lines, -0 lines 0 comments Download
A dm/api/distributor/swarming/v1/cipd.proto View 1 chunk +32 lines, -0 lines 0 comments Download
A dm/api/distributor/swarming/v1/cipd.pb.go View 1 chunk +130 lines, -0 lines 0 comments Download
M dm/api/distributor/swarming/v1/config.pb.go View 6 chunks +5 lines, -26 lines 0 comments Download
M dm/api/distributor/swarming/v1/isolate_ref.pb.go View 1 chunk +3 lines, -3 lines 0 comments Download
M dm/api/distributor/swarming/v1/normalize.go View 1 chunk +35 lines, -12 lines 0 comments Download
M dm/api/distributor/swarming/v1/params.proto View 3 chunks +17 lines, -14 lines 0 comments Download
M dm/api/distributor/swarming/v1/params.pb.go View 6 chunks +59 lines, -68 lines 0 comments Download
M dm/api/distributor/swarming/v1/result.proto View 2 chunks +9 lines, -0 lines 0 comments Download
M dm/api/distributor/swarming/v1/result.pb.go View 2 chunks +44 lines, -17 lines 0 comments Download
M dm/appengine/distributor/swarming/v1/distributor.go View 1 2 3 4 5 6 7 6 chunks +75 lines, -22 lines 0 comments Download
M dm/tools/jobsim_client/generate_ensure_graph_data_req.py View 1 2 3 4 5 6 2 chunks +10 lines, -0 lines 0 comments Download

Messages

Total messages: 11 (4 generated)
iannucci
PTAL
4 years, 2 months ago (2016-09-26 23:01:41 UTC) #3
iannucci
https://codereview.chromium.org/2338153003/diff/100001/dm/api/distributor/swarming/v1/result.proto File dm/api/distributor/swarming/v1/result.proto (right): https://codereview.chromium.org/2338153003/diff/100001/dm/api/distributor/swarming/v1/result.proto#newcode23 dm/api/distributor/swarming/v1/result.proto:23: map<string, string> snapshot_dimensions = 4; this is where the ...
4 years, 2 months ago (2016-09-26 23:15:17 UTC) #4
Vadim Sh.
code lgtm, but I'm not convinced we need dimension pinning https://codereview.chromium.org/2338153003/diff/100001/dm/api/distributor/swarming/v1/normalize.go File dm/api/distributor/swarming/v1/normalize.go (right): https://codereview.chromium.org/2338153003/diff/100001/dm/api/distributor/swarming/v1/normalize.go#newcode112 ...
4 years, 2 months ago (2016-09-26 23:16:06 UTC) #5
iannucci
https://chromiumcodereview.appspot.com/2338153003/diff/100001/dm/api/distributor/swarming/v1/normalize.go File dm/api/distributor/swarming/v1/normalize.go (right): https://chromiumcodereview.appspot.com/2338153003/diff/100001/dm/api/distributor/swarming/v1/normalize.go#newcode112 dm/api/distributor/swarming/v1/normalize.go:112: "job.inputs: at least one of packages and isolated must ...
4 years, 2 months ago (2016-09-27 01:23:56 UTC) #6
Vadim Sh.
lgtm https://chromiumcodereview.appspot.com/2338153003/diff/100001/dm/appengine/distributor/swarming/v1/distributor.go File dm/appengine/distributor/swarming/v1/distributor.go (right): https://chromiumcodereview.appspot.com/2338153003/diff/100001/dm/appengine/distributor/swarming/v1/distributor.go#newcode169 dm/appengine/distributor/swarming/v1/distributor.go:169: for k, v := range prevParsed.SnapshotDimensions { On ...
4 years, 2 months ago (2016-09-27 03:07:11 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2338153003/140001
4 years, 2 months ago (2016-09-27 22:39:12 UTC) #9
commit-bot: I haz the power
4 years, 2 months ago (2016-09-27 22:55:12 UTC) #11
Message was sent while issue was closed.
Committed patchset #8 (id:140001) as
https://github.com/luci/luci-go/commit/d5fba5ee301b374e9c161fcfa8c4693b1a058e2c

Powered by Google App Engine
This is Rietveld 408576698