1
0
mirror of https://github.com/golang/go synced 2024-10-01 07:38:32 -06:00
go/dashboard
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
..
app dashboard: update wiki links 2015-01-02 15:43:28 +00:00
builder all: address vet reports 2014-12-29 06:08:34 +00:00
buildlet dashboard/buildlet: make exec handler return process state in HTTP trailer 2014-12-30 04:59:04 +00:00
coordinator dashboard/coordinator: periodically clean stale VMs 2015-01-02 18:48:53 +00:00
env dashboard/env/openbsd-amd64: typo and wording change 2014-12-30 04:59:37 +00:00
retrybuilds dashboard/retrybuilds: add more flaky phrases 2014-12-20 06:08:16 +00:00
updater tools: add import comments. 2014-12-09 22:42:16 +00:00
watcher dashboard/watcher: use Gerrit's JSON meta URL to poll smarter 2014-12-15 23:43:50 +00:00
README dashboard/buildlet: start of the buildlet 2014-12-30 00:39:57 +00:00

// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

The files in this directory constitute the continuous builder:

app/:     an AppEngine server. The code that runs http://build.golang.org/
buildlet/: HTTP server that runs on a VM and is told what to write to disk
           and what command to run. This is cross-compiled to all architectures
           and is the first program run when a builder VM comes up. It then
           is contacted by the coordinator to do a build.
builder/: gobuilder, a Go continuous build client
coordinator/: daemon that runs on CoreOS on Google Compute Engine and manages
          builds (using the builder in single-shot mode) in Docker containers.
env/:     configuration files describing the environment of builders and related binaries.
          Many builders are still configured ad-hoc.
watcher/: a daemon that watches for new commits to the Go repository and
          its sub-repositories, and notifies the dashboard of those commits.

If you wish to run a Go builder, please email golang-dev@googlegroups.com

To run a builder:

* Write the key ~gobuild/.gobuildkey 
  You need to get it from someone who knows the key.
  You may also use a filename of the form .gobuildkey-$BUILDER if you
  wish to run builders for multiple targets.

* Append your username and password googlecode.com credentials from
    https://code.google.com/hosting/settings
  to the buildkey file in the format "Username\nPassword\n".
  (This is for uploading tarballs to the project downloads section,
   and is an optional step.)

* Build and run gobuilder (see its documentation for command-line options).