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

215 Commits

Author SHA1 Message Date
Brad Fitzpatrick
b09f9e69fa dashboard/cmd/buildlet: support for writing files from tgz URL directly
Client + server support, and gomote flags.

Change-Id: I91320f47731f8c69b84c4961028bfbbdfc85467a
Reviewed-on: https://go-review.googlesource.com/3029
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-01-20 04:00:09 +00:00
Brad Fitzpatrick
3aad931e88 dashboard: start of cmd/gomote buildlet client, more packification
Change-Id: I874f4f5ef253cf7f1d6d5073d7c81e76fa1de863
Reviewed-on: https://go-review.googlesource.com/2981
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-01-20 03:05:44 +00:00
Brad Fitzpatrick
3ecc311976 dashboard: move buildlet exec code from coordinator to client package
Change-Id: I778ac78ed02be9f67436ec045a3816dfc24afda3
Reviewed-on: https://go-review.googlesource.com/2923
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-01-16 17:58:30 +00:00
Brad Fitzpatrick
d78771bc1c dashboard: create buildlet client package, move coordinator code into it
Operation Packification, step 2 of tons.

Eventually the buildlet client binary will use this stuff now.

Change-Id: I4cf5f3e6beb9e56bdc795ed513ce6daaf61425e3
Reviewed-on: https://go-review.googlesource.com/2921
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-01-16 16:34:20 +00:00
Brad Fitzpatrick
03b46a3e2f dashboard: move builder configuration out of coordinator into a package
The new package will be used by the buildlet command line tool in the
future.

Also use the metadata package in the coordinator for the master build key,
since it was already depending on that package. Might as well use it.

Change-Id: I6ad7593787ebba364090951ccbaecb4aa38e1dd6
Reviewed-on: https://go-review.googlesource.com/2920
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-01-15 22:21:59 +00:00
Brad Fitzpatrick
44f7d38ccc dashboard/cmd/retrybuilds: add another flaky detection rule
Change-Id: Ifb88fc7903260e9d32dbeac6bfbc1b60d26bedc8
Reviewed-on: https://go-review.googlesource.com/2891
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-01-15 21:50:13 +00:00
Brad Fitzpatrick
94e3c965eb dashboard: fixes from tree move, use 'extdep' build tag consistently
extdep means the package has contains external dependencies and will
be omitted from the regular x/tools build + tests.

Change-Id: I48d9161665811f0a0dc988d6f0c25d9c14b9e4ab
Reviewed-on: https://go-review.googlesource.com/2892
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-01-15 18:52:22 +00:00
Brad Fitzpatrick
e83451b9c2 dashboard: rearrange tree, in prep for packagification
Package main binaries now go under cmd, leaving the top level for
similarly-named packages.

I'll be moving a lot of data structures and functions out of the
commands and into common packages.

A future CL will also unify all the "+build whatever" restrictions
into one common build tag, since there will be so much package sharing
coming up. Probably they will become "+build extdep", to indicate that
they have dependencies outside of x/tools.

Change-Id: Idc198e0dfa933b5f5de8f2b581533e8d299d2293
Reviewed-on: https://go-review.googlesource.com/2738
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-01-15 02:58:11 +00:00
Brad Fitzpatrick
d272cc0504 dashboard/builder: log to stderr when a build fails
Fixes golang/go#9593

Change-Id: I62c8152995db05945fb0c3dd5c62915e45aaeff9
Reviewed-on: https://go-review.googlesource.com/2737
Reviewed-by: Burcu Dogan <jbd@google.com>
2015-01-14 23:47:04 +00:00
Brad Fitzpatrick
31ce909f96 dashboard/coordinator: set timeout when polling buildlet, show more status
Change-Id: I04f1f2bb1f13718a07f6939042b61b3f675ca8be
Reviewed-on: https://go-review.googlesource.com/2735
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-01-14 23:30:16 +00:00
Brad Fitzpatrick
c573f9d0b5 dashboard/buildlet: fix start-up crash when TLS attributes aren't set
I had never run the 44d7ecb402 on GCE, and never caught that it
crashed on start-up if TLS attributes weren't defined.

Updated to use the new NotDefinedError from the metadata package in
https://code-review.googlesource.com/#/c/1790/

Change-Id: Iaec8df126e4cef8026c930e8cc0163ae088affb3
Reviewed-on: https://go-review.googlesource.com/2736
Reviewed-by: Burcu Dogan <jbd@google.com>
2015-01-14 23:00:17 +00:00
Brad Fitzpatrick
84afeba471 dashboard: consolidate upload code, update to new oauth2 libraries
Adds dashboard/upload/upload.go, instead of oddly shoving it as part
of the coordinator/buildongce tool.

And as part of that (in order to compile and test buildongce/create.go
without installing mercurial on this machine), I updated it from
goauth2 to oauth2.

Despite this "just" being a cleanup CL, it took forever because I hit
OAuth2+Cloud Storage+Web UI woes along the way, documented partially
in upload.go. The web UI misled me for a long time. Maybe I shouldn't
have used service accounts, but it does make configuration easier for
upload.go. The buildongce/create.go probably should use them too,
but I can do that later. I'm done cleaning for now.

Change-Id: Icb8e3decb682d3685edffecea2a10fcb4e385e10
Reviewed-on: https://go-review.googlesource.com/2731
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-01-14 18:11:56 +00:00
Brad Fitzpatrick
44d7ecb402 dashboard/buildlet: optional TLS + password support
Change-Id: Id72301c1be8da12d2c31cbec6cc94f26dc5ad808
Reviewed-on: https://go-review.googlesource.com/2743
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-01-13 23:27:48 +00:00
Brad Fitzpatrick
996ff9bec3 dashboard/env: update Linux builders to contain Go 1.4 for GOROOT_BOOTSTRAP
Change-Id: I256168d1bbe542ae78e4c1e7c4879d2b62b74c7e
Reviewed-on: https://go-review.googlesource.com/2690
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-01-13 01:43:41 +00:00
Brad Fitzpatrick
d79e0375a0 dashboard/builder: pass GOROOT_BOOTSTRAP to child processes
Part of https://golang.org/s/go15bootstrap

This is one step in a series of CLs to make the dev.cc branch build
after https://golang.org/cl/2470 (which converted cmd/dist from C to
Go)

TBR to adg because subsequent changes to Dockerfiles depend on knowing
the commit hash of this one.

Change-Id: I26122e2446c345446bbbca0df601f50ea9383adb
Reviewed-on: https://go-review.googlesource.com/2651
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-01-11 18:38:01 +00:00
Brad Fitzpatrick
9468e480c8 dashboard/buildlet: add NetBSD-amd64 to Makefile
Update golang/go#8643

Change-Id: Ie60b87c447180a2a7f2411fcf8fece8035ddfa9d
Reviewed-on: https://go-review.googlesource.com/2602
Reviewed-by: Benny Siegert <bsiegert@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-01-09 18:12:52 +00:00
Brad Fitzpatrick
e083199384 dashboard/coordinator: notify dashboard when we're building
Fixes golang/go#9494

Change-Id: Ib9451d41b2dd02d30d2efddbc0ec410a34bdb42c
Reviewed-on: https://go-review.googlesource.com/2583
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-01-09 02:18:25 +00:00
Brad Fitzpatrick
5f779d76c1 dashboard/app: support for showing links to build-in-progress status
Update golang/go#9494

Change-Id: I849d9f8ed423d29daede167193704dbda26785b1
Reviewed-on: https://go-review.googlesource.com/2590
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-01-09 02:12:21 +00:00
Brad Fitzpatrick
968c2a1d60 dashboard/coordinator: rename plan9 builder to plan9-386-gcepartial
... because it's not running all the tests.

Updates golang/go#9491

Change-Id: I2f3e8d1c2cba1b014d59cd3adfe5e04bd5f74dae
Reviewed-on: https://go-review.googlesource.com/2524
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-01-09 02:12:04 +00:00
Brad Fitzpatrick
727ecd5ac4 dashboard/buildlet: set GOTESTONLY=std on plan9
This resulted in our first "ok" on the dashboard for Plan 9 with the
buildlet, in 19 minutes. It only runs the std tests, and nothing else
after that.

Update golang/go#9491

Change-Id: Iad77a594f83bfd3fa72596bcc3057645d9c9bb4c
Reviewed-on: https://go-review.googlesource.com/2523
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-01-09 02:11:53 +00:00
David du Colombier
8ab2c33bea dashboard/env: add script to create Plan 9 386 GCE image
Update golang/go#9491

Change-Id: I219e2e071c0f58bf8c2b69c57b96a9114773c7b7
Reviewed-on: https://go-review.googlesource.com/2251
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-01-08 04:59:06 +00:00
Brad Fitzpatrick
d77725735e dashboard/coordinator: clean up trailer handling
This got lost before in my git stash stack.

Change-Id: Id73cdb89e73ab83c26971c6c1c4e0fc74d91018f
Reviewed-on: https://go-review.googlesource.com/2521
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-01-08 04:26:17 +00:00
Brad Fitzpatrick
47646d42a2 dashboard/buildlet: darwin support
Update golang/go#9495

Change-Id: I732cfdee952ad3bf0b3411d0ce45723900acedb4
Reviewed-on: https://go-review.googlesource.com/2472
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-01-08 04:26:01 +00:00
Brad Fitzpatrick
2cd6e42cb2 dashboard/coordinator: clean up VMs more, fix watchVM bug, tweak plan 9 settings
Change-Id: I30609505cd3790f9e9505a4f020215de7b0ab74b
Reviewed-on: https://go-review.googlesource.com/2474
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-01-08 01:12:47 +00:00
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
026c0f4d1d dashboard/app: add a JSON output mode for the data on the front page
Fixes golang/go#9493

Change-Id: I4891abf530901c620c2923e9f2d3e3227dd7ced9
Reviewed-on: https://go-review.googlesource.com/2290
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-01-05 03:57:40 +00:00
Brad Fitzpatrick
dd517c42bc dashboard/buildlet: add Makefiles, and add Windows stage0 bootstrap binary
Change-Id: I69938af38fb5c45c01598e9171e851a1c29790bc
Reviewed-on: https://go-review.googlesource.com/2268
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-01-05 01:32:49 +00:00
Brad Fitzpatrick
e1019ed0e1 dashboard/env/windows: instructions for setting up a buildlet
Updates golang/go#8640

Change-Id: I3f0b10c237f437137ed46415d7cc443d4c6a419b
Reviewed-on: https://go-review.googlesource.com/2269
Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-01-05 01:23:09 +00:00
Brad Fitzpatrick
938dd670d2 env/openbsd-amd64: install git, improve README
Updates golang/go#8642

Change-Id: Ia11faeafb96a325ff62dcf95fedb5a6489e41bd4
Reviewed-on: https://go-review.googlesource.com/2263
Reviewed-by: Minux Ma <minux@golang.org>
2015-01-03 03:00:18 +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
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