New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x/build: do the buildongce -make_basepin work automatically in the coordinator in the background #21305

Open
bradfitz opened this Issue Aug 4, 2017 · 2 comments

Comments

Projects
None yet
2 participants
@bradfitz
Member

bradfitz commented Aug 4, 2017

Whenever somebody creates a new GCE image, it's important for latency reasons to create a base disk from that VM image in the region we use to run buildlet VMs.

If such a disk exists, future disk creations are Copy-On-Write and get created nearly instantly.

If a disk doesn't (and there's no hidden cache disk in the region from a recent creation), then you wait a bit for the copy from storage.

So buildongce -make-basepin auto-creates our "basepin" disks if needed.

I don't know why I shoved that functionality into the buildongce tool. Maybe it should be its own tool.

But in any case, we should have references to it from each env/**/{README,Makefile} so people updating these images in the future know to run it, or have the Makefiles auto-run it.

/cc @jessfraz @andybons @adams-sarah @cybrcodr

@gopherbot gopherbot added this to the Unreleased milestone Aug 4, 2017

@gopherbot gopherbot added the Builders label Aug 4, 2017

@bradfitz

This comment has been minimized.

Member

bradfitz commented May 8, 2018

Actually, repurpose this bug. Let's just make it automatically happen in the background in the coordinator.

@bradfitz bradfitz changed the title from x/build: plop references to buildongce -make_basepin to x/build: do the buildongce -make_basepin work automatically in the coordinator in the background May 8, 2018

@bradfitz bradfitz self-assigned this May 8, 2018

@bradfitz bradfitz added NeedsFix and removed Documentation labels May 8, 2018

@gopherbot

This comment has been minimized.

gopherbot commented May 8, 2018

Change https://golang.org/cl/112162 mentions this issue: internal/buildgo: add new Client type, move MakeBasepin code from buildongce

gopherbot pushed a commit to golang/build that referenced this issue May 8, 2018

internal/buildgo: add new Client type, move MakeBasepin code from bui…
…ldongce

* adds new buildgo.Client type to hold primarily a
  buildenv.Environment and a google.Credentials

* starts to unify, document, and otherwise clean up
  how we look up authentication info.

* use the new buildgo.Client type in the "buildongce"
  (poorly named) cluster bootstrap tool.

* moves the "basepin" creation code from buildongce into
  a new method on buildgo.Client, for later use in the
  coordinator for golang/go#21305

Change-Id: I976b60c992bf67589e7f85fc5a9133f8cbb32e70
Reviewed-on: https://go-review.googlesource.com/112162
Reviewed-by: Bryan C. Mills <bcmills@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment