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

185 Commits

Author SHA1 Message Date
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
Emil Hessman
faf0ad1ad3 dashboard: update wiki links
The Go wiki has moved to GitHub. Update links to use a golang.org/wiki/... target.

Change-Id: Iff7e1b2add469318f5e467aed5d1f3e67155b283
Reviewed-on: https://go-review.googlesource.com/2250
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-01-02 15:43:28 +00:00
Brad Fitzpatrick
d7ed24f138 dashboard/env/openbsd-amd64: typo and wording change
Review comments from Joel in https://golang.org/cl/2156

Change-Id: Ic3679d5c103b85f249f0ddcaceb29e50313f3a4f
Reviewed-on: https://go-review.googlesource.com/2190
Reviewed-by: Andrew Gerrand <adg@golang.org>
Reviewed-by: Joel Sing <jsing@google.com>
2014-12-30 04:59:37 +00:00
Brad Fitzpatrick
721bf87b5b dashboard/buildlet: make exec handler return process state in HTTP trailer
Requires Go tip to function, but compiles with old versions of Go, but
without returning the trailer, which we'll be able to detect in the
coordinator to make sure nobody used an old Go to cross-compile a
buildlet.

Change-Id: Ie5f71c0a4477563dea5f1526af10a49aa41536d6
Reviewed-on: https://go-review.googlesource.com/2159
Reviewed-by: Andrew Gerrand <adg@golang.org>
2014-12-30 04:59:04 +00:00
Brad Fitzpatrick
9c946b9540 dashboard/buildlet: start of the buildlet
This is the basics: untar a tar.gz file to a directory, and execute a
command.

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

Change-Id: I5917ed8bd0e4c2fdb4b3fab34ca929caca95cc8a
Reviewed-on: https://go-review.googlesource.com/2180
Reviewed-by: Andrew Gerrand <adg@golang.org>
2014-12-30 00:39:57 +00:00
Brad Fitzpatrick
b2523aab47 dashboard/env: add script to create OpenBSD GCE image
This is almost entirely the work of @mdempsky; I just ran
it a bunch and reported bugs or tweaked things until it worked
and booted the buildlet on GCE.

Update #8642

Change-Id: If5d50bcdf90bc6aa648472cc951ed1c53b46eef3
Reviewed-on: https://go-review.googlesource.com/2156
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2014-12-29 23:20:32 +00:00
Emil Hessman
ca3901c3d8 all: address vet reports
Fixes various problems reported by go vet.

Change-Id: I12a6fdba8f911b21805d8e42903f8f6a5033790a
Reviewed-on: https://go-review.googlesource.com/2163
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2014-12-29 06:08:34 +00:00
Brad Fitzpatrick
6538dd105d dashboard/app: fix the broke-the-build commit URL
Change-Id: I153211b2609b18210227f0cd805bd4b52df83ecb
Reviewed-on: https://go-review.googlesource.com/2056
Reviewed-by: Andrew Gerrand <adg@golang.org>
2014-12-23 04:59:37 +00:00
Brad Fitzpatrick
71d0144635 dashboard/retrybuilds: add more flaky phrases
Change-Id: Id1a1b870a348a24040d94b157328b1632776711f
Reviewed-on: https://go-review.googlesource.com/1877
Reviewed-by: Dave Cheney <dave@cheney.net>
2014-12-20 06:08:16 +00:00
Shenghou Ma
a6c97ce144 dashboard/builder: remove the repo export speed hack for hg
The builder will no longer generate a VERSION file, so we
can revert https://golang.org/cl/1405 once all builders
have updated.

Fixes golang/go#9296.

Change-Id: Ie51cb06a712157c16b231167f166b31d10ba8667
Signed-off-by: Shenghou Ma <minux@golang.org>
Reviewed-on: https://go-review.googlesource.com/1510
Reviewed-by: Andrew Gerrand <adg@golang.org>
Reviewed-by: Chris Manghane <cmang@golang.org>
2014-12-18 07:48:22 +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
c6dbbb5857 dashboard/env: update watcher Dockerfile to use latest version
This version includes the JSON polling from:
   https://go-review.googlesource.com/#/c/1568/

Also, we no longer need sid because we no longer need Mercurial,
so revert back to wheezy, which is less of a moving target.

Change-Id: I3e6bde097e49deb891101cd92fa80e9f093a7c8b
Reviewed-on: https://go-review.googlesource.com/1613
Reviewed-by: David Symonds <dsymonds@golang.org>
2014-12-16 05:47:25 +00:00
Brad Fitzpatrick
75054c4284 dashboard/retrybuilds: new tool to clear build.golang.org results
Change-Id: Iae541d2c8a80a7d88ddea47c8ef45912826f705e
Reviewed-on: https://go-review.googlesource.com/1566
Reviewed-by: Andrew Gerrand <adg@golang.org>
2014-12-15 23:53:09 +00:00
Brad Fitzpatrick
a54d006617 dashboard/watcher: use Gerrit's JSON meta URL to poll smarter
Reduces our HTTP requests to Gerrit by a factor of the number of
subrepos we have.

Change-Id: I3f8fabeb70fdb5c276c639924baebcf5510fda9b
Reviewed-on: https://go-review.googlesource.com/1568
Reviewed-by: Andrew Gerrand <adg@golang.org>
Reviewed-by: Chris Manghane <cmang@golang.org>
2014-12-15 23:43:50 +00:00
Brad Fitzpatrick
c7100dffc3 dashboard/app: update app.yaml comments to preferred test convention
Change-Id: I61f0b3a31a4f0435037a6583131bb50b36ac20d7
Reviewed-on: https://go-review.googlesource.com/1563
Reviewed-by: Andrew Gerrand <adg@golang.org>
2014-12-15 03:18:23 +00:00
Brad Fitzpatrick
8d0ad68ce2 dashboard/app: add machine-readable list of recent failures
Change-Id: I90be865aaab01701d10af57bdf1e0bee5533d3e5
Reviewed-on: https://go-review.googlesource.com/1562
Reviewed-by: Andrew Gerrand <adg@golang.org>
2014-12-15 03:08:14 +00:00
Andrew Gerrand
40817d5f2c dashboard/app: add handler to wipe a builder's results column
Change-Id: Idc3284ff8564a8863d8352890e285babded362cf
Reviewed-on: https://go-review.googlesource.com/1539
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2014-12-15 01:38:02 +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
Andrew Gerrand
05fa16d285 dashboard/app: add review subrepo, link changes correctly
Change-Id: I1eeea2beb4ffab690b2bb005c08a08d7e41c1fc3
Reviewed-on: https://go-review.googlesource.com/1503
Reviewed-by: Minux Ma <minux@golang.org>
Reviewed-by: Andrew Gerrand <adg@golang.org>
2014-12-13 03:58:06 +00:00
Brad Fitzpatrick
551edbff13 dashboard: more environment cleanups
sid was trying to use hg still.

And remove curl everywhere (except nacl). It's unnecessary.

Change-Id: I2a235d83b2bc7cf599c8de5796c724d8f368348e
Reviewed-on: https://go-review.googlesource.com/1368
Reviewed-by: David Symonds <dsymonds@golang.org>
2014-12-12 05:59:31 +00:00
Brad Fitzpatrick
d5854b7d67 dashboard: update Linux clang, nacl, and sid builders
Change-Id: I69cda2fb7b0047201999781cdb27f4a9013920c6
Reviewed-on: https://go-review.googlesource.com/1367
Reviewed-by: David Symonds <dsymonds@golang.org>
2014-12-12 05:39:18 +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
Brad Fitzpatrick
8c1a5674dd dashboard: update the watcher and linux base builder image
Updates for the hg->git move.

Change-Id: I4c1b91ada1b90090db958554c92d06fb1d36ec35
Reviewed-on: https://go-review.googlesource.com/1364
Reviewed-by: Andrew Gerrand <adg@golang.org>
2014-12-12 00:46:34 +00:00
Andrew Gerrand
1c945908ed dashboard/app: show Mercurial page at /hg/
Change-Id: If5e77adc3766609b8f37423d0f132bcceff704f8
Reviewed-on: https://go-review.googlesource.com/1359
Reviewed-by: Dave Cheney <dave@cheney.net>
Reviewed-by: Minux Ma <minux@golang.org>
Reviewed-by: Andrew Gerrand <adg@golang.org>
2014-12-12 00:38:19 +00:00
Andrew Gerrand
6735829fe0 dashboard: create notion of a builder version
Don't accept results from old builders once we cut over to the git
dashboard.

Change-Id: I1087b9fa174542ecfc7251c13f4319f51eca17b6
Reviewed-on: https://go-review.googlesource.com/1358
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2014-12-12 00:07:45 +00:00
Andrew Gerrand
6f3c548bba dashboard: make git dashboard the default
Also bump the watcher version, so the old watcher doesn't try to write
to the new dashboard.

Change-Id: I7f62ad937fe162dadfd1222f56a3c5e493be9a61
Reviewed-on: https://go-review.googlesource.com/1357
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2014-12-11 23:38:39 +00:00
Andrew Gerrand
9df76cfcdb dashboard/watcher: use commit date, not author date
Commit date is what is relevant to the dashboard.

Change-Id: I807492768c8f7dcbf9ee6bdc233976cb25ee8647
Reviewed-on: https://go-review.googlesource.com/1356
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2014-12-11 23:19:37 +00:00
Dmitry Vyukov
93f9911d07 dashboard: tell perf dashboard about release 1.4
Change-Id: I074b12a155278cb2a53414cd1f9abf650df8e89d
Reviewed-on: https://go-review.googlesource.com/1381
Reviewed-by: Andrew Gerrand <adg@golang.org>
2014-12-11 22:29:06 +00:00
Andrew Gerrand
0ea69b51f7 dashboard/builder: re-set -dash default to hg dashboard
Change-Id: Ia52dd20c6ad927bbe32450c437e202c4695980af
Reviewed-on: https://go-review.googlesource.com/1292
Reviewed-by: Andrew Gerrand <adg@golang.org>
2014-12-10 04:17:47 +00:00
Chris Manghane
8f92739d3e dashboard/builder: add -gccopts flag; use shallow clones for gccgo
Change-Id: I3a48e2f664996bf99bb8a7f850d876731dd80808
Reviewed-on: https://go-review.googlesource.com/1253
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2014-12-10 00:23:55 +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
Brad Fitzpatrick
d7df296309 dashboard/env: update linux builder Dockerfile to use git, update builder
Uses a builder that can build both hg & git. (Should fix the git
subrepos on the main dashboard currently)

Change-Id: I3af96e35d40f6397625730b812a288f36622cb8a
Reviewed-on: https://go-review.googlesource.com/1203
Reviewed-by: Andrew Gerrand <adg@golang.org>
2014-12-09 06:07:41 +00:00
Brad Fitzpatrick
98c15d46be dashboard/builder: change default gcpath back to hg for now
We're doing this so we can update the main builders to fix the
problems with subrepos. The coordinator doesn't know how to
pass -gcpath to this.

We can change it back to git after Go 1.4 is out.

Change-Id: I3924a34ac974cb77954acea4772ef0f52e36fa45
Reviewed-on: https://go-review.googlesource.com/1202
Reviewed-by: Andrew Gerrand <adg@golang.org>
2014-12-09 05:52:49 +00:00
Brad Fitzpatrick
d76ba60748 dashboard/builder: don't use vcs TagSync to update a path to a hash
Change-Id: Ic4bbcb294995483482f51e3539b9ba8a741d1a98
Reviewed-on: https://go-review.googlesource.com/1245
Reviewed-by: Andrew Gerrand <adg@golang.org>
2014-12-09 05:20:41 +00:00
Andrew Gerrand
24a7fa781c x/tools/dashboard/watcher: various fixes
Report master branch commits first.
Display branch name in log message.
Send branch name to dashboard.
Better error messages.
Remove redundant TODO.

Change-Id: Ib37943a38b88626cf4bb56420b488e2452ce262b
Reviewed-on: https://go-review.googlesource.com/1173
Reviewed-by: David Symonds <dsymonds@golang.org>
2014-12-08 07:33:24 +00:00
Andrew Gerrand
97f1340e43 x/tools/dashboard/app: record branch names, disallow multiple first commits
Change-Id: I3fed749bb0b5c2084a490eb4c6696c4555a0ac9c
Reviewed-on: https://go-review.googlesource.com/1174
Reviewed-by: David Symonds <dsymonds@golang.org>
2014-12-08 07:31:26 +00:00
Andrew Gerrand
2d24bddc61 x/dashboard/app: update sub-repo list (+mobile, +text, -codereview)
LGTM=dsymonds
R=dsymonds
CC=golang-codereviews
https://golang.org/cl/176610044
2014-12-08 10:37:26 +11:00
Andrew Gerrand
7e91bb35f8 x/tools/dashboard/watcher: convert to git
LGTM=dsymonds
R=bradfitz, dsymonds
CC=golang-codereviews
https://golang.org/cl/177660043
2014-12-04 10:47:26 +11:00
Andrew Gerrand
2d83fa5bf1 x/tools/dashboard/app: update to support git
This adds a "Git" dashboard at "/git/", which has its own namespace for
datastore and memcache. Once we have pushed out the new git repositories
we will spin up a commit watcher and builders that point to the Git
dashboard.

Once we are ready to switch the dashboard over to the new Git builders,
the (*Dashboard).Context method will be changed to return "Git"
as the default namespace. The old builders will be retired, and the
new builders will be configured to report to "/" instead of "/git/".
At that point all our old data will still be available in the default
namespace, but hidden from view.

LGTM=dsymonds, cmang
R=bradfitz, cmang, dsymonds, adg
CC=golang-codereviews
https://golang.org/cl/183050043
2014-12-04 10:45:11 +11:00
Andrew Gerrand
4ed659d592 x/tools/dashboard/builder: support git; remove commit watcher
This binary isn't intended to support hg anymore.
It almost might not support gccgo; I'm not sure.
But there'll be more work to do there anyway.

LGTM=dave, bradfitz, cmang
R=cmang, bradfitz, dave, adg
CC=golang-codereviews
https://golang.org/cl/181520043
2014-12-04 10:43:53 +11: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
8dfc1ba4d0 x/tools/dashboard/app: have cron.yaml point to build.golang.org
LGTM=dvyukov
R=dvyukov
CC=golang-codereviews
https://golang.org/cl/174600043
2014-11-24 18:08:25 +11:00
Andrew Gerrand
33b1bf3b85 x/tools/dashboard/env: bump known good builder revision
LGTM=dsymonds
R=dsymonds
CC=golang-codereviews
https://golang.org/cl/176900043
2014-11-17 13:08:44 +11:00
Andrew Gerrand
9920aceb57 x/tools/dashboard/builder: only write VERSION file if it doesn't exist
LGTM=dsymonds
R=dsymonds
CC=golang-codereviews
https://golang.org/cl/172610043
2014-11-17 12:06:56 +11:00
Andrew Gerrand
c2c2cf49ad x/tools/dashboard/app: ignore freebsd-arm failures
The previous instance of this change was applied to the release branch.
I don't know why the codereview plugin allowed me to do this.
Thankfully we won't be using it for much longer.

TBR=dfc
R=dave
CC=golang-codereviews
https://golang.org/cl/175870044
2014-11-17 11:32:13 +11:00
Andrew Gerrand
c05aea77a9 x/tools/dashboard/app: use ?branch=foo to show foo branch commits
LGTM=rsc
R=bradfitz, rsc
CC=golang-codereviews
https://golang.org/cl/167660043
2014-11-13 21:53:13 +11:00
Andrew Gerrand
ab43333964 x/tools/dashboard/app: respect gohash in Commit.AddResult
This should fix the issue where results sub-repo results are clobbered
by subsequent commits. (Much like the previous fix, which only
fixed the issue for main repo commits.)

TBR=bradfitz
R=bradfitz
CC=golang-codereviews
https://golang.org/cl/167440044
2014-11-10 13:58:29 +11: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