Not sure what I was thinking. Hopefully a copy/paste-o.
Fixesgolang/go#12813
Change-Id: Idf63301f8f4098db07c3203575a085f7dab8e6a6
Reviewed-on: https://go-review.googlesource.com/15253
Reviewed-by: Austin Clements <austin@google.com>
* 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>
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>
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>
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.
Fixesgolang/go#12685
Change-Id: I07d1e1fabf1027ee24ce679e4fcc8bd09bed6d83
Reviewed-on: https://go-review.googlesource.com/14774
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
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).
Fixesgolang/go#12671
Change-Id: I10b7929d4b78c717f29c67a0ce495ecd435a1d26
Reviewed-on: https://go-review.googlesource.com/14772
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
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>
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>
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>
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>
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>
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>
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>
should be rare now.
Change-Id: Icc4bfd13c8dfe8f2e189db819bc0d552f35fb3c9
Reviewed-on: https://go-review.googlesource.com/14731
Reviewed-by: Andrew Gerrand <adg@golang.org>
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>
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 fixesgolang/go#12666
Change-Id: I4ff670a55e8d92e6e2ebe14a94137d6f15f3768e
Reviewed-on: https://go-review.googlesource.com/14700
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
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>
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>
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>
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>
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>
* 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>
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>
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>
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>
- 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>