1
0
mirror of https://github.com/golang/go synced 2024-11-19 03:14:42 -07:00
Commit Graph

24 Commits

Author SHA1 Message Date
Brad Fitzpatrick
ac848a9536 dashboard/coordinator: use new dashboard JSON interface to find work
This uses the new JSON interface to the build dashboard (from
golang.org/cl/2290) to find all work, and re-enables the OpenBSD
builder[*], and can do multiple things at a time. Andrew and I just
watched it fire up 8 OpenBSD VMs at once to catch up.

[*] The OpenBSD builder was disabled because it would only report
results for the main repo, not subrepos, and the old
build.golang.org/todo interface didn't understand that was
possible. Now the steps are considered separate.

Update golang/go#8642 (OpenBSD)
Update golang/go#9492 (builds in VMs)

Change-Id: Ic6c2f73ee3da218dd54ef1a33f3afc97046ea3cc
Reviewed-on: https://go-review.googlesource.com/2282
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-01-05 22:24:23 +00:00
Brad Fitzpatrick
58c8b8a738 dashboard/coordinator: use VMs to run non-Linux builders
Currently this is running an OpenBSD amd64 builder, but other operating
systems are now easy.

Updates golang/go#8642
Updates golang/go#9492

Change-Id: I4e1026c49ee4d253dfcf78c7606767294784f02e
Reviewed-on: https://go-review.googlesource.com/2264
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-01-05 04:48:47 +00:00
Brad Fitzpatrick
0a8eb31860 dashboard/coordinator: refactor status handling in prep for VM builders
Currently the coordinator only handles Docker container builders. An
upcoming change will add VM builders, running VMs on GCE for OpenBSD,
Plan 9, Windows, etc.

This change refactors the handling of the coordinator's build status
in prep for VM builders. Notably, it doesn't call "docker logs"
directly to get logs. It now keeps them in memory instead. Because
they're then in memory, we might as well make it keep the details of
the last N builds too, which we kept wanting earlier.

Updates #9492

Change-Id: I6bae4a5854e7efa3f8a6186ec3670a43c98c4df2
Reviewed-on: https://go-review.googlesource.com/2262
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-01-02 23:16:00 +00:00
Brad Fitzpatrick
005d2be0ba dashboard/coordinator: periodically clean stale VMs
This isn't used yet, but will be for the new-style builders (VMs on
GCE running the buildlet, started by the coordinator).

From the code's comments:

cleanUpOldVMs periodically enumerates virtual machines and deletes
any which have a "delete-at" attribute having a unix timestamp
before the current time. These VMs are created to run a single
build and should be shut down by a controlling process. Due to
various types of failures, they might get stranded. To prevent them
from getting stranded and wasting resources forever, we instead set
the "delete-at" metadata attribute on them when created to some
time that's well beyond their expected lifetime, and then this is
the backup mechanism to delete them if they get away.

Update golang/go#8639
Update golang/go#8640
Update golang/go#8642

Change-Id: I489e97926e7ab56487571c2bf0bd255cdf49570d
Reviewed-on: https://go-review.googlesource.com/2199
Reviewed-by: Burcu Dogan <jbd@google.com>
2015-01-02 18:48:53 +00:00
Brad Fitzpatrick
cf555faef7 dashboard/coordinator: add SSD disk option, turn off auto-update
Change-Id: I4d2dfe34a6c2fde8603704e716b7c91ad285ecec
Reviewed-on: https://go-review.googlesource.com/1561
Reviewed-by: Andrew Gerrand <adg@golang.org>
2014-12-16 05:47:43 +00:00
Brad Fitzpatrick
36f7c537c7 dashboard/coordinator: run background goroutine cleaning old docker containers
I'm tired of figuring out what isn't cleaning up after itself, so keep
a background goroutine that looks at old containers and deletes them
as a backup measure. Verified it works by creating some dummy containers on
the machine.

Also adds df output to the HTML status page.

Change-Id: I23adc22872def882b3b9b3a4ec730017899bb966
Reviewed-on: https://go-review.googlesource.com/1537
Reviewed-by: Andrew Gerrand <adg@golang.org>
2014-12-15 01:36:17 +00:00
Brad Fitzpatrick
802ec582a3 all: update links from code.google.com to new homes
Change-Id: Id3c5b2480c8499ab712265a421ffba125fb913db
Reviewed-on: https://go-review.googlesource.com/1401
Reviewed-by: David Symonds <dsymonds@golang.org>
2014-12-12 03:10:55 +00:00
Brad Fitzpatrick
a3a1a20bcc dashboard: update the coordinator for new watchers
New default repo, restart watchers on failure, etc.

Change-Id: Idb2e8e6f65debd07d2fa04d998b8036a00260683
Reviewed-on: https://go-review.googlesource.com/1366
Reviewed-by: Andrew Gerrand <adg@golang.org>
2014-12-12 02:26:09 +00:00
David Symonds
24257c8cd2 tools: add import comments.
Change-Id: Idda6e64580432cb9a731e4ebf4005ee4ceb4202d
Reviewed-on: https://go-review.googlesource.com/1244
Reviewed-by: Andrew Gerrand <adg@golang.org>
2014-12-09 22:42:16 +00:00
Chris Manghane
9393b17080 dashboard/env: add go-commit-watcher image
LGTM=bradfitz
R=bradfitz, adg
CC=adg, golang-codereviews
https://golang.org/cl/179370043
2014-12-01 09:59:02 -08:00
Andrew Gerrand
8bd0dd9d19 x/tools/dashboard/coordinator: provide build key in / and /root
LGTM=bradfitz
R=bradfitz
CC=golang-codereviews
https://golang.org/cl/170260044
2014-11-10 13:22:35 +11:00
Luit van Drongelen
db0461cf4c dashboard: images should be fetched from HTTPS
Revision 184f9219148f (from review 152790043) introduced a new image,
linux-x86-clang, and the url is missing the `s` for TLS.

LGTM=adg
R=bradfitz, golang-codereviews, adg
CC=golang-codereviews
https://golang.org/cl/156480043
2014-10-22 09:33:04 +11:00
Chris Manghane
cced8d21dd dashboard: add 32-bit gccgo builder; improve performance of gccgo builds on docker
This change adds a 32-bit builder for gccgo and fixes some specific
configuration problems with the docker image/coordinator to speed up builds.
The go builder running on the linux-x86-gccgo image has been modified to run
`make -j16` when building to reduce build times from ~60 minutes to ~10 minutes
and the coordinator has been modified to run the command `make check-go -j16`
to reduce testsuite run times from ~30 minutes to ~10 minutes.

LGTM=bradfitz
R=bradfitz
CC=adg, golang-codereviews
https://golang.org/cl/151530043
2014-10-09 14:04:49 -07:00
Chris Manghane
bcbfc883f4 dashboard: add linux-amd64-clang builder.
Fixes golang/go#8805.

LGTM=bradfitz
R=bradfitz
CC=golang-codereviews
https://golang.org/cl/152790043
2014-10-01 11:57:02 -07:00
Brad Fitzpatrick
51805171bd dashboard: add Debian sid builder
Update golang/go#8382

LGTM=rsc
R=adg, rsc
CC=golang-codereviews
https://golang.org/cl/150090044
2014-09-26 15:02:51 -07:00
Brad Fitzpatrick
aca3a63806 dashboard/coordinator: restore buildroot to /
So the optimization to avoid hg clone works again.  The
builder looks at buildroot+"goroot" for an hg clone repo. If
it finds it, it can just "hg pull" instead of a slow "hg
clone".

LGTM=cmang
R=cmang, proppy
CC=golang-codereviews
https://golang.org/cl/147960044
2014-09-26 12:21:08 -07:00
Brad Fitzpatrick
717118b6c8 dashboard: add builder with optimizations and inlining disabled
LGTM=josharian
R=josharian
CC=golang-codereviews
https://golang.org/cl/148060043
2014-09-24 12:54:59 -07:00
Chris Manghane
bbfe5adf96 coordinator: add support for different build dashboards
LGTM=bradfitz
R=bradfitz
CC=adg, golang-codereviews
https://golang.org/cl/135520043
2014-09-09 10:54:11 -07:00
Brad Fitzpatrick
89759c3d1a dashboard/coordinator: set USER for the -nocgo builder
... since it already caught a problem and was fixed in
hg rev 0b99c2137ccc.

I pushed this live already just so don't get a whole column of
fail that might hide other issues. Real users have USER set
anyway. (Perhaps we should set it for all our builders?)

LGTM=adg
R=golang-codereviews
CC=adg, dave, golang-codereviews, minux
https://golang.org/cl/137180043
2014-09-04 17:48:56 -07:00
Brad Fitzpatrick
8c30c1b367 dashboard/env: add a cgo-disabled Linux builder
I think this is all that's needed?

Fixes golang/go#4795

LGTM=adg, dave
R=adg, dave
CC=golang-codereviews
https://golang.org/cl/138090043
2014-09-04 16:58:49 -07:00
Brad Fitzpatrick
710872e5c8 dashboard/coordinator: support reusing VM disk between boots
Creating a new disk is the major latency cost of creating a
new instance.  If we reuse a previous disk image, the VM and
CoreOS boot much quicker and start building again.

So add a mode where we don't mark the disk as delete-on-death
when we create it, and we search for a suitably-named existing
one on creation and try to reuse it.

It's a cache, essentially. It's still stateless.

LGTM=adg
R=adg
CC=golang-codereviews
https://golang.org/cl/135410043
2014-09-04 07:10:07 -07:00
Brad Fitzpatrick
c0bc9ba88d dashboard: add Cloud Storage upload support to create.go
Then make the coordinator and linux environment Makefiles have
an upload target. Amusingly, this actually worked: the Docker
images now tar + compress + upload over HTTP all in a stream,
without even knowing how large the resulting tar.gz will be until
it's done uploading.

LGTM=adg
R=adg
CC=golang-codereviews
https://golang.org/cl/140200043
2014-09-03 21:41:16 -07:00
Brad Fitzpatrick
9f2fca72f6 dashboard: find static IP automatically, update images
Remove subversion & use newer version of the builder which
makes -verbose direct all.bash output to stdout/stderr.

LGTM=cmang
R=adg, cmang
CC=golang-codereviews
https://golang.org/cl/140910044
2014-09-03 17:15:00 -07:00
Brad Fitzpatrick
867f4b09ae coordinator: new binary to run on GCE and manage Docker builds
See http://golang.org/s/builderplan (WIP doc)

LGTM=adg
R=adg
CC=golang-codereviews
https://golang.org/cl/131490043
2014-09-03 10:26:52 -07:00