Permalink
Switch branches/tags
Nothing to show
Commits on Sep 23, 2016
  1. cmd/coordinator: Remove Stackdriver metrics plumbing

    evandbrown authored and bradfitz committed Sep 23, 2016
    This change removes the code that puts Kubernetes cluster metrics to
    Stackdriver. These metrics were replaced by built-in CPU % metrics
    and are no longer used.
    
    Change-Id: I8cbd92bbb00ef323f008b20fd66b0fffd160f260
    Reviewed-on: https://go-review.googlesource.com/29673
    Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Commits on Apr 7, 2016
  1. all: kubernetes builder autoscaling

    evandbrown authored and bradfitz committed Feb 17, 2016
    Improvements to support rapid scheduling of many build jobs:
    
    - Retry logic in Kubernetes client to handle sporadic connection
      closes from their API server under heavy load
    
    - Cluster autoscaler scales on default CPU utilization metric
    
    - Debug mode allows scheduling multiple builds to test scaling
    
    - Account for scheduled vs. provisioned resources in a cluster
      and use that information to estimate when a build's pod
      will be scheduled and in running state
    
    - Use estimated scheduled time to set context timeout
    
    - Track pod lifecycle (requested time, estimated available time,
      actual available time, terminate time, etc)
    
    Change-Id: I14d6c5e01af0970dbb3390a29d1ee5c43049fff8
    Reviewed-on: https://go-review.googlesource.com/19524
    Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Commits on Mar 4, 2016
  1. all: consolidate configuration for coordinator and gomote

    evandbrown authored and bradfitz committed Feb 14, 2016
    buildenv.Environment type defines configuration options:
    
    - Coordinator uses the GCE project name to lookup config. A custom
      config name can be provided at runtime to override.
    
    - The conventional prod and stage project names ('symbolic-datum-552'
      and 'go-dashboard-dev') map to prod and staging configuration structs.
    
    - Production and staging status is explicitly defined in configuration.
    
    - GCS bucket names for buildlet, logs, and snapshots are
      configurable.
    
    Change-Id: I7e6d7874eb0bdfe35dbdd5fcf6212ab50d576b88
    Reviewed-on: https://go-review.googlesource.com/19502
    Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Commits on Jan 28, 2016
  1. env: add additional target for building env images

    evandbrown committed Jan 27, 2016
    Revise Makefile in linux-x86-std-kube and linux-x86-nacl:
    
    - Support a target named `dev` that allows specifying a non-default
      Docker repository name.
    
    - Replace hard-coded image names with the directory name that Makefile
      resides in. This uses the existing convention of naming directories
      according to image name.
    
    - When Dockerfile inherits from a custom image (i.e., linux-x86-nacl
      inherits FROM linux-x86-std-kube), use sed to dynamically set the
      repository prefix in the Dockerfile.
    
    Change-Id: I372c834175a38bb34d80a18f2f0e23c5a1d007af
    Reviewed-on: https://go-review.googlesource.com/19021
    Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Commits on Jan 27, 2016
  1. kubernetes: improve error message if pod create fails

    evandbrown committed Jan 27, 2016
    Updates golang/go#14112
    
    Change-Id: I53e42647e5a8b22cfb70b78fc4571ff78dd23289
    Reviewed-on: https://go-review.googlesource.com/18984
    Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Commits on Jan 26, 2016
  1. all: upgrade nacl builders to pepper_44 and Kube

    evandbrown committed Jan 26, 2016
    Updates golang/go#12379
    
    Change-Id: I40bd6e37953bc509f557ff295374b51de550726c
    Reviewed-on: https://go-review.googlesource.com/18946
    Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
  2. all: report cluster utilization to Cloud Monitoring

    evandbrown committed Jan 8, 2016
    Change-Id: Iec8e03fdef27582756d96b731c2fb12b56175ca9
    Reviewed-on: https://go-review.googlesource.com/18396
    Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Commits on Jan 22, 2016
  1. cmd/coordinator/buildongce: fix test

    evandbrown authored and bradfitz committed Jan 22, 2016
    Change-Id: I25316cf7a7843d32be863acf1e3e83363d72be79
    Reviewed-on: https://go-review.googlesource.com/18819
    Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
  2. all: create buildlets cluster

    evandbrown authored and bradfitz committed Dec 2, 2015
    * Buildlets cluster can be created using buildongce program
    * Deployment Manager builds cluster and autoscaler
    * Describe the environments a build system can be deployed to
    * Merges https://golang.org/cl/17827
    
    Updates golang/go#12546
    
    Change-Id: Icac4efab2e9e72932c66f56da319e4d51326455a
    Reviewed-on: https://go-review.googlesource.com/17334
    Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Commits on Jan 8, 2016
  1. cmd/coordinator: include linux-amd64-kube in staging

    evandbrown committed Jan 8, 2016
    Change-Id: Ie27f4db76aa48665c2fce65fffda655382be88a3
    Reviewed-on: https://go-review.googlesource.com/18442
    Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Commits on Jan 6, 2016
  1. cmd/coordinator: remove Kubernetes resize code

    evandbrown committed Jan 6, 2016
    The Google Container Engine API began returning InstanceGroup
    rather than InstanceGroupManager URLs, breaking the code
    that downsizes the cluster. Resize code is being removed for
    now, to be replaced by the autoscaler API soon.
    
    Change-Id: I5baedcc09627f3443e93f931cd0993ac45430c35
    Reviewed-on: https://go-review.googlesource.com/18305
    Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Commits on Nov 20, 2015
  1. cmd/coorindator: ignore pod cleanup if Kubernetes is unavailable

    evandbrown authored and bradfitz committed Nov 20, 2015
    * if Kubernetes init fails, don't attempt to clean existing pods
    * TODOs for disabling kubePool
    
    Updates golang/go#12546
    
    Change-Id: I392f6cc4af31fdf307e5aa907a243ff7f5a98b00
    Reviewed-on: https://go-review.googlesource.com/17104
    Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
  2. all: run dev coordinator locally, allow debug in prod

    evandbrown authored and bradfitz committed Nov 20, 2015
    * flag allows debug (trigger a build) in prod mode
    * use default zone (us-central1-f) in staging
    * compute.CloudPlatformScope satisfies compute and storage scope
      requirements
    * new buildlet for linux-amd64 on Kubernetes
    
    Updates golang/go#12546
    
    Change-Id: I1a0cbc0e0c0552b7ac56943c646378194508d48f
    Reviewed-on: https://go-review.googlesource.com/17102
    Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
  3. all: improve Kubernetes API client

    evandbrown authored and bradfitz committed Nov 20, 2015
    * pod creation returns an *api.Pod
    * WatchPod replaces WatchPodStatus
    
    Updates golang/go#12546
    
    Change-Id: I34bb6e0d994e552b41a8082cc4672a663ce961a3
    Reviewed-on: https://go-review.googlesource.com/17100
    Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Commits on Nov 5, 2015
  1. all: display pool status and delete failed/old pods

    evandbrown authored and bradfitz committed Oct 18, 2015
    * status page shows kube pool details
    * pods created by the coorindator are tracked
    * pods that fail to create are deleted
    * pods older than delete-at are deleted
    * pods created by a different coordinator are deleted
    
    Updates golang/go#12546
    
    Change-Id: I4c4f8ff906962b4a014a66d0a9d490ff17710d62
    Reviewed-on: https://go-review.googlesource.com/16101
    Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Commits on Oct 15, 2015
  1. all: improved monitoring of buildlet pods after creation

    evandbrown authored and bradfitz committed Oct 2, 2015
    * Replaced cancel with context.Context
    * StartPod can be canceled
    * Wait for buildlet to come online, but fail fast if pod fails first
    * Support timeout waiting for pod to leave pending phase
    * Use Kubernetes watch API (long poll)
    
    Updates golang/go#12546
    
    Change-Id: I792a3b8fed615362a0290feee7de0c2cefe43c0e
    Reviewed-on: https://go-review.googlesource.com/15285
    Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Commits on Oct 2, 2015
  1. env/linux-x86-std-kube: use correct tags for Docker images

    evandbrown committed Oct 2, 2015
    Updates golang/go#12546
    
    Change-Id: Icaa0504791522837fcbf0256b144c13158777c6e
    Reviewed-on: https://go-review.googlesource.com/15258
    Reviewed-by: Andrew Gerrand <adg@golang.org>
Commits on Oct 1, 2015
  1. cmd/coordinator/buildongce: support application default credentials

    evandbrown authored and bradfitz committed Oct 1, 2015
    Change-Id: I167b631252ed93dac5388fdf6944c0154b6b62a0
    Reviewed-on: https://go-review.googlesource.com/15281
    Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
  2. env/linux-x86-std/kubelet: Makefile for Kubernetes Docker images

    evandbrown authored and bradfitz committed Oct 1, 2015
    Change-Id: I212fe5d7a6d22b6cb66abd65e16a11784b374a86
    Reviewed-on: https://go-review.googlesource.com/15179
    Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
  3. all: basic support for linux-amd64 buildlets on Kubernetes

    evandbrown authored and bradfitz committed Sep 26, 2015
    * 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>
Commits on Sep 21, 2015
  1. cmd/coordinator: discover kube cluster

    evandbrown authored and bradfitz committed Sep 12, 2015
    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>
Commits on Sep 8, 2015
  1. all: more work on Kubernetes buildlet pool

    evandbrown committed Sep 8, 2015
    Updates golang/go#12546
    
    Change-Id: Iac31c237fed7973ec2bebace5248904fe3e3692d
    Reviewed-on: https://go-review.googlesource.com/14396
    Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
  2. kubernetes: update to v1 API

    evandbrown authored and bradfitz committed Sep 8, 2015
    Change-Id: Ia3fe94e944ac80a58eadaa13487a2e14494600d4
    Reviewed-on: https://go-review.googlesource.com/14384
    Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>