Граф коммитов

593 Коммитов

Автор SHA1 Сообщение Дата
Brad Fitzpatrick 8b50a06874 cmd/coordinator: fix negative waitgroup crash
Not sure what I was thinking. Hopefully a copy/paste-o.

Fixes golang/go#12813

Change-Id: Idf63301f8f4098db07c3203575a085f7dab8e6a6
Reviewed-on: https://go-review.googlesource.com/15253
Reviewed-by: Austin Clements <austin@google.com>
2015-10-01 22:18:35 +00:00
Brad Fitzpatrick 3cd172357e cmd/coordinator: misc kubernetes fixes
Change-Id: I26a0d86565150567db3bea73117aa0c46001b88f
Reviewed-on: https://go-review.googlesource.com/15252
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-10-01 22:09:15 +00:00
Evan Brown f5b495b2a6 cmd/coordinator/buildongce: support application default credentials
Change-Id: I167b631252ed93dac5388fdf6944c0154b6b62a0
Reviewed-on: https://go-review.googlesource.com/15281
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-10-01 20:47:22 +00:00
Evan Brown 55b69b321c env/linux-x86-std/kubelet: Makefile for Kubernetes Docker images
Change-Id: I212fe5d7a6d22b6cb66abd65e16a11784b374a86
Reviewed-on: https://go-review.googlesource.com/15179
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-10-01 18:16:58 +00:00
Brad Fitzpatrick 5518efea22 cmd/buildlet/stage0: kubernetes Makefile target
Change-Id: I77d5a42bbb0b467492e8527a11ed27dedfc56f6e
Reviewed-on: https://go-review.googlesource.com/15251
Reviewed-by: Evan Brown <evanbrown@google.com>
2015-10-01 17:52:42 +00:00
Evan Brown 4dfb85f32a all: basic support for linux-amd64 buildlets on Kubernetes
* set correct metadata as env vars on each container in pod

* stage0 detects when running in a pod

* add scope to support farmer on GCE communicating with Google
  Container Engine API

* dev mode supports GCE and Kubernetes even when not running
  on GCE

* pod buildlet returns a configured http.Client

* pod buildlets work, but pods are not removed after completion
  (or on creation failure)

Updates golang/go#12546

Change-Id: If91673b49223130c1e7077c130f1abe1e7966d02
Reviewed-on: https://go-review.googlesource.com/15041
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-10-01 17:25:38 +00:00
Andrew Gerrand bbe4f7c899 cmd/pushback: poll for open pull requests and close them
Change-Id: I44c9bb645a7da47e0bb38504c4746ade84d37a77
Reviewed-on: https://go-review.googlesource.com/14900
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-09-24 21:22:18 +00:00
Brad Fitzpatrick 1288e6653a dashboard: use sharded test helpers for freebsd-386-gce101
It's a trybot, but was only using a single machine, making it the long
tail and slowing down trybot results.

Change-Id: I09ccc56b3866d522e4abf96215a2e293aed4e4d6
Reviewed-on: https://go-review.googlesource.com/14954
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-09-24 16:29:38 +00:00
Evan Brown 882e20c4c9 cmd/coordinator: discover kube cluster
Find the default Kubernetes cluster and configure a client to talk to it.
Use application default credentials.

Updates golang/go#12546

Change-Id: Ifb1ce57f52f4fbbee3267f8cc3cf02a78146bd5b
Reviewed-on: https://go-review.googlesource.com/14532
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-09-21 18:28:38 +00:00
Brad Fitzpatrick 1cc6bfc67b cmd/coordinator: don't reuse main buildlet when broken, make timeouts fatal
This CL makes the main buildlet and any helper buildlets all
equivalent once we get to the final stage of the build (test
execution). Now the death of the main buildlet isn't critical and the
testing continues as long as any buildlet is alive (or any helper
buildlet is on its way).

It also makes timeouts (20 minutes) of remote commands fatal, now that
health checking is reliable for all buildlet types.

Fixes golang/go#12685

Change-Id: I07d1e1fabf1027ee24ce679e4fcc8bd09bed6d83
Reviewed-on: https://go-review.googlesource.com/14774
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-09-20 15:29:36 +00:00
Brad Fitzpatrick ce74e0b6e0 cmd/coordinator: don't write truncated snapshots to GCS
Updates golang/go#12671

Change-Id: Ife3354f4a013cbfd9a5e960077adde8406da67ca
Reviewed-on: https://go-review.googlesource.com/14739
Reviewed-by: Glenn Lewis <gmlewis@google.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-09-18 21:46:42 +00:00
Brad Fitzpatrick ab3e6dfd6e cmd/coordinator: verify snapshot before using it
We were creating corrupt snapshots before (golang/go#12671), so
double-check them before use, for now. We can relax this in the future
(see TODO).

Fixes golang/go#12671

Change-Id: I10b7929d4b78c717f29c67a0ce495ecd435a1d26
Reviewed-on: https://go-review.googlesource.com/14772
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-09-18 21:37:22 +00:00
Brad Fitzpatrick d79d77f945 cmd/coordinator/buildongce: use CoreOS stable
Alpha introduced a problem with "docker logs":

https://groups.google.com/forum/#!topic/coreos-user/VhqeIjkO2VA

So, revert for now.  No need for bleeding edge.

Also, be sure to make the coordinator's service declaration restarts on
failure, even if there are many errors in a row.  (I learned this the
hard way with another project and just realized this service file
omits the StartLimitInterval=0 line to disable the rate limit)

Change-Id: I9717e3b665bd4540d3cf4921018b619af1539178
Reviewed-on: https://go-review.googlesource.com/14771
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-09-18 21:36:51 +00:00
Brad Fitzpatrick ab5f898662 cmd/coordinator: use go install instead of go build in Makefile
More caching this way.

Change-Id: I2a5b8edcb3c1f99c3b028132aae3dbfc6d0874ef
Reviewed-on: https://go-review.googlesource.com/14770
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-09-18 21:36:34 +00:00
Brad Fitzpatrick db9e0738f2 cmd/coordinator: remove the blacklist of the shootout target
The previous blacklisting was because of golang/go#12668, since fixed.

Further, the tests are now sharded (golang/go#12623) and this test
name doesn't even exist, so this change is a no-op.

Change-Id: Id141923e904a5aec91e53ba6f1d44e6cdf137cd2
Reviewed-on: https://go-review.googlesource.com/14773
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-09-18 21:35:09 +00:00
Andrew Gerrand cf22ab38cc cmd/retrybuilds: retry on concurrent transaction failure
Change-Id: Idf36abd807db9796482921eea44b9e5fb4f696a4
Reviewed-on: https://go-review.googlesource.com/14740
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-09-18 02:18:49 +00:00
Brad Fitzpatrick 72f3eae620 revdial, cmd/coordinator: notice when buildlet TCP conns go away immediately
Previously it wasn't noticing their death until the next health check.

Take advantage of that the revdial is always blocked in a Read, so it
will see a TCP shutdown in the case of normal shutdowns. (health checks
will still catch disappearing machines)

Change-Id: I9a7f60a38b3acaf02057b2da9e0cbc91d328f651
Reviewed-on: https://go-review.googlesource.com/14736
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-09-18 02:03:18 +00:00
Brad Fitzpatrick 953211a3e3 pargzip: fix blocked goroutine on write error
Change-Id: Ifdcc24ef0e04b855882dc21b31182d6492bc54c6
Reviewed-on: https://go-review.googlesource.com/14730
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-09-18 01:35:35 +00:00
Brad Fitzpatrick 8a7ceb75fa cmd/coordinator: remove buildlet from list when closed, notice buildlets faster
Also show build steps with -x in Makefile. It's slow to use go build,
but go install doesn't quite work. Need to figure that out.

Change-Id: I79093dc7c84912b3f04c9e4708c9f65086c4445c
Reviewed-on: https://go-review.googlesource.com/14733
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-09-18 01:35:28 +00:00
Brad Fitzpatrick 5053cc8f51 cmd/buildlet: add a timeout and set TCP keep-alives on reverse connections
I noticed some hung forever during the initial connect + TLS handshake, which
can happen if the server is restarted/rebooted and TCP connections hang.

Change-Id: I4ada86aa2e5629b82de27fa6cfea376211490068
Reviewed-on: https://go-review.googlesource.com/14734
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-09-18 01:35:21 +00:00
Brad Fitzpatrick 1feffd3ec8 cmd/coordinator: fix buildlet sorting
It was not producing correct results before.

Change-Id: I77c857e8064ad36a5fdb982507b265271beb7bbd
Reviewed-on: https://go-review.googlesource.com/14735
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-09-18 01:35:19 +00:00
Brad Fitzpatrick 12529db5cb cmd/retrybuilds: add -branch flag
Works for detecting new flaky builds from different pages, but I
can't actually clear them yet. (caching bug in the dashboard?)

Change-Id: Iad9c3a5aef2016a81ad71559bb140044b68e42e2
Reviewed-on: https://go-review.googlesource.com/14732
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-09-18 01:35:17 +00:00
Brad Fitzpatrick 9620f5578a buildlet: log on heartbeat failures
should be rare now.

Change-Id: Icc4bfd13c8dfe8f2e189db819bc0d552f35fb3c9
Reviewed-on: https://go-review.googlesource.com/14731
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-09-18 01:35:04 +00:00
Brad Fitzpatrick d011dfc978 buildlet: try a bit harder to cancel slow HTTP requests
Use the new Go 1.5 mechanism to abort HTTP requests with a channel.
This is respected by the Go 1.5 http.Transport, which we always use.

This CL shouldn't be necessary (CL 14700 was the real bug), but
doesn't hurt. This still would've probably prevented most of
golang/go#12666

Change-Id: I6890e016ee04183fc0d600baed8046c2f79113d8
Reviewed-on: https://go-review.googlesource.com/14701
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-09-17 20:06:39 +00:00
Brad Fitzpatrick 30d52a20ad revdial: fix Lock-after-Lock bug, where server EOF wouldn't unblock conns
If the server's conn stopped reading, we acquired a Lock twice
(blocking forever) and never killing all the active connections on it.

Add test.

Probably fixes golang/go#12666

Change-Id: I4ff670a55e8d92e6e2ebe14a94137d6f15f3768e
Reviewed-on: https://go-review.googlesource.com/14700
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-09-17 20:03:31 +00:00
Andrew Gerrand 5299bb075d cmd/coordinator: disable linux-arm trybots, re-enable mirroring
Change-Id: I4a9036c05cb36587bc35281542efa151f09d8d6a
Reviewed-on: https://go-review.googlesource.com/14637
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-09-17 00:21:21 +00:00
Matt Drollette cd04c5a618 livelog: correct comment typo
Change-Id: Id41fb9edea46f8048cf78ba8f1afc607321c0472
Reviewed-on: https://go-review.googlesource.com/14641
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-09-16 16:50:28 +00:00
Brad Fitzpatrick 6f3fb58313 cmd/coordinator: kill the right docker jobs on start
I renamed it earlier and forgot this one.

Watcher World! Watcher World! Party time! Excellent!

Change-Id: Iae77510723e4048c0403a6892c3a3f92094be32d
Reviewed-on: https://go-review.googlesource.com/14640
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-09-16 04:15:39 +00:00
Andrew Gerrand f1a914ccd1 cmd/livelog: fix stale comment
Change-Id: I9d5263b3984850ecdd7fdef2c88e2670fa17ede6
Reviewed-on: https://go-review.googlesource.com/14631
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-09-16 04:15:03 +00:00
Brad Fitzpatrick 8d3449a70f revdial: docs
Change-Id: I1b948a83503689979bec1a9ee7982c4107e7e6e1
Reviewed-on: https://go-review.googlesource.com/14589
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-09-16 04:05:10 +00:00
Brad Fitzpatrick 647e49b4b5 cmd/coordinator: always set GOROOT, fixes snapshot-reuse problem
Fixes golang/go#12633

Change-Id: I8bfbc6eac9509eb71ae14d7b153a0494709cdcde
Reviewed-on: https://go-review.googlesource.com/14588
Reviewed-by: Andrew Gerrand <adg@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-09-16 04:04:14 +00:00
Andrew Gerrand 8cdbfaa439 cmd/coordinator: fix log streaming
Break out 'live log' buffer into separate package.

Change-Id: Ie2358a73ac05a97d5c2632b5737295ee24ef1805
Reviewed-on: https://go-review.googlesource.com/14577
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-09-16 03:40:49 +00:00
Brad Fitzpatrick 8bad2a8c99 buildletclient: simplify Close
Now Close always means destroy.

The old code & API was a half-baked implementation of a (lack of)
design where there was a difference between being done with a buildlet
(with it possibly being reused by somebody else?) and you wanting to
nuke it completely. Unfortunately this just grew messier and more
broken over time.

This attempts to clean it all up.

We can add the sharing ideas back later when there's actually a design
and implementation. (We're not losing anything with this CL, because
nothing ever shared buildlets)

In fact, this CL fixes a problem where reverse buildlets weren't
getting their underlying net.Conns closed when their healthchecks
failed, leading to 4+ hour (and counting) build hangs due to buildlets
getting killed at inopportune moments (e.g. me testing running a
reverse buildlet on my home mac to help out with the dashboard
backlog)

Change-Id: I07be09f4d5f0f09d35e51e41c48b1296b71bb9b5
Reviewed-on: https://go-review.googlesource.com/14585
Reviewed-by: David Crawshaw <crawshaw@golang.org>
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-09-15 22:42:57 +00:00
Brad Fitzpatrick 4483ca5674 cmd/coordinator/buildongce: don't curl -o directly to the coordinator binary
It might still be running as the watcher. Use install(1) instead.

Updates golang/go#12631

Change-Id: I5c2b020b7c19ee0e912e345a03d21353b237fe61
Reviewed-on: https://go-review.googlesource.com/14586
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-09-15 22:32:39 +00:00
Andrew Gerrand adfbb38661 app/cache: store memcache values as gzipped gobs
We're running up against the 1MB value limit when serving the dashboard
front page. Rather than shard keys, just store a more compact
representation of the data.

Change-Id: Ib5a4db4b0b78ddfe711ecbb58dcf1eff18e1fd53
Reviewed-on: https://go-review.googlesource.com/14630
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-09-15 22:02:28 +00:00
Brad Fitzpatrick f5ae283ff1 cmd/buildlet: log and return non-zero status if reverse mode fails
This used to be an infinite loop and was changed to be single-shot
(with the loop in an outer shell scripts which updates the buildlet
binary), but the code was never completed.

Change-Id: I4aa4a9548b2316913d7af53cded64c65c17481c8
Reviewed-on: https://go-review.googlesource.com/14584
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-09-15 19:03:01 +00:00
Brad Fitzpatrick 61ebbcda68 all: heartbeat buildlets always, now that reverse buildlet protocol allows it
Also, don't run shootout on linux-arm (golang/go#12623)

Change-Id: I2c85b8a04917cb0992086012eaa59b00a6cb31a4
Reviewed-on: https://go-review.googlesource.com/14582
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-09-15 18:38:18 +00:00
Brad Fitzpatrick 1f0d8f287c all: tons of builder work
* reverse buildlet rework (multiplexed TCP connections, instead
  of a hacky reverse roundtripper)

* scaleway ARM image improvements

* parallel gzip implementation, which makes things ~8x faster on
  Scaleway.

* merge watcher into the coordinator, for easier deployments

Change-Id: I55d769f982e6583b261435309faa1f718a15fde1
Reviewed-on: https://go-review.googlesource.com/12665
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-09-15 08:28:33 +00:00
Brad Fitzpatrick c018f8c526 cmd/retrybuild: fix build
Change-Id: Ie304270d9d708dec32f6a244167fa392f9c16c14
Reviewed-on: https://go-review.googlesource.com/14581
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-09-15 08:27:11 +00:00
Dave Cheney a067d1397b cmd/retrybuild: add check for failed shard attempt
Change-Id: Ibeea1a4e420daaacf597c6d73fbf9ac3c2b5a9ca
Reviewed-on: https://go-review.googlesource.com/14575
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-09-15 00:27:12 +00:00
Brad Fitzpatrick 5fda1b2b2c cmd/watcher: add -report flag for development
Defaults to true (same as before), but now you can run it in just
git-updating mode.

Change-Id: I228a0ec44117dd5a38bff95234556534b4a8a6b8
Reviewed-on: https://go-review.googlesource.com/14580
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-09-14 21:10:52 +00:00
Alex Brainman 95f317bf56 app/build: remove Test, Perf and Graphs buttons
Perf and Graphs buttons lead to pages with no useful information.

Change-Id: I455a3f43b5f0d14ea19319d8af9d3f1ad7243481
Reviewed-on: https://go-review.googlesource.com/14488
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-09-11 04:42:23 +00:00
Evan Brown c51d4e0590 all: more work on Kubernetes buildlet pool
Updates golang/go#12546

Change-Id: Iac31c237fed7973ec2bebace5248904fe3e3692d
Reviewed-on: https://go-review.googlesource.com/14396
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-09-08 23:10:58 +00:00
Brad Fitzpatrick 6925ce80a1 cmd/coordinator: start of a Kubernetes buildlet pool
Updates golang/go#12546

Change-Id: Ia70baeb1df441509f70c77e7b94e7eb9fddccbf3
Reviewed-on: https://go-review.googlesource.com/14392
Reviewed-by: Evan Brown <evanbrown@google.com>
2015-09-08 22:31:58 +00:00
Brad Fitzpatrick 1f41f3c1a6 kubernetes/api: new package with API type definitions only
This is a copy of Kubernetes' API types.go, with a million some
unnecessary dependencies removed.

Change-Id: I3b79256f37b2d022c8307afdc40782caeb5a560c
Reviewed-on: https://go-review.googlesource.com/14390
Reviewed-by: Evan Brown <evanbrown@google.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-09-08 21:50:55 +00:00
Evan Brown 94367e21d9 kubernetes: update to v1 API
Change-Id: Ia3fe94e944ac80a58eadaa13487a2e14494600d4
Reviewed-on: https://go-review.googlesource.com/14384
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-09-08 18:43:58 +00:00
Andrew Gerrand 2605f7e128 env/commit-watcher: bump commit watcher version, build with go1.5
Change-Id: I44625aea7b51a4ddb8c61dc9ba2ada93cd99ef1d
Reviewed-on: https://go-review.googlesource.com/14353
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-09-07 05:26:04 +00:00
Andrew Gerrand 629dcf7734 cmd/watcher: mirror without pulling refs from destination repo
Change-Id: I36ff6c82a922be14c52b42bd05814edb7805790d
Reviewed-on: https://go-review.googlesource.com/14309
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-09-07 04:41:33 +00:00
Andrew Gerrand 45c13f223e cmd/coordinator: a few fixes
- record 'go list' failures in sub-repos as test failures.
- don't try to run sharded tests on old go 1.4 trees.
- improved logging.

Change-Id: Ia0ca72caf5fc02cddfefdd1c87d68108901a16be
Reviewed-on: https://go-review.googlesource.com/14284
Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-09-07 04:05:43 +00:00
Andrew Gerrand 4a0e9d779e cmd/watcher: mirror all gerrit repos to their github equivalents
Change-Id: I8788c7a66225765fb3214065fa435c867cbfa8b3
Reviewed-on: https://go-review.googlesource.com/14285
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-09-04 06:38:39 +00:00