Commit Graph

337 Commits (89c9c24987df1f36d5b1068a3204f23bedfd555e)

Author SHA1 Message Date
Steve Milner 57fc4bfa56 build: test/images in test tar and a static kubectl
* release tar now includes test/images/*
* kubectl is now built as a static binary in the test
2015-10-14 09:42:04 -04:00
Jeff Grafton fbd58294b2 Update test helpers and dev doc to use etcd v2.0.12. 2015-10-13 16:05:56 -07:00
Isaac Hollander McCreery 5ac539abd5 Implement branched/versioned ci publishing to GCS. 2015-10-13 14:35:58 -07:00
Isaac Hollander McCreery 3a823ed363 Tag beta on same commit as NEW_VERSION 2015-10-13 14:35:58 -07:00
Isaac Hollander McCreery ea6c385674 Update swagger scripts, (this supplants #14596) 2015-10-13 14:35:58 -07:00
Isaac Hollander McCreery 9c952eec3e Add usage to mark-new-version 2015-10-13 14:35:58 -07:00
k8s-merge-robot 8580804f77 Merge pull request #15138 from mattmoor/limited-beta-rewrite
Auto commit by PR queue bot
2015-10-10 11:41:34 -07:00
Isaac Hollander McCreery ec43cb0ed0 Make latest.txt files non-cacheable 2015-10-08 11:29:18 -07:00
Matt Moore eeb4eeb17c Move pause and fluentd-elasticsearch to GCR v2.
This scopes down the initially ambitious PR:
https://github.com/kubernetes/kubernetes/pull/14960 to replace just
`pause` and `fluentd-elasticsearch` to come through `beta.gcr.io`.

The v2 versions have been pushed under new tags, `pause:2.0` and
`fluentd-elastisearch:1.12`.

NOTE: `beta.gcr.io` will still serve images using v1 until they are repushed with v2.  Pulls through `gcr.io` will still work after pushing through `beta.gcr.io`, but will be served over v1 (via compat logic).
2015-10-06 16:39:07 -07:00
Isaac Hollander McCreery 9e61f8d632 Use kube::release::gcs::publish_latest_official logic in mark-stable-release.sh and add quote fixups, fixes #14785; implement major- and minor-pinned version releases, fixes #14920 2015-10-06 09:17:48 -07:00
Mike Lyons e95406655f added note about /tmp/ make
as recommended by @fabioy
2015-09-29 16:25:06 -07:00
Jonathan Boulle 61741e094b build: fix link syntax in README 2015-09-23 11:21:21 -07:00
JanetKuo a7cd53bc7e Distribute kubectl bash completion file with kubernetes binaries 2015-09-10 14:25:39 -07:00
Daniel Smith 01aac19d5c Merge pull request #13312 from kelcecil/kube-help-correction
Fix docker-machine typo in daemon help
2015-09-01 12:24:17 -07:00
Prashanth B 9bae6636d5 Merge pull request #13281 from zmerlynn/fix_pushed_version
Actually make the pushed version directory match binary versions
2015-08-28 14:52:29 -07:00
Kel Cecil 12647523d2 Fix docker-machine typo in daemon help 2015-08-28 13:33:57 -04:00
Zach Loafman 65087a40ba Actually make the pushed version directory match binary versions
A small bug from #11941: When we push to GCS, we were pushing bucket
names that matched the old pattern `git describe`, e.g.:

gs://kubernetes-release/ci/v1.1.0-alpha.0-2413-g986d37d/

But after #11941, the binaries inside these actually have versions that look like:

v1.1.0-alpha.0.2413+g986d37d

to more closely match up with semver.

This pull makes the GCS directory match the binaries it's already serving.
2015-08-27 14:38:00 -07:00
Kel Cecil c4124d377f Reword introduction and requirements 2015-08-26 22:21:29 -04:00
Kel Cecil 60905867f1 Refactor to use docker-machine or boot2docker 2015-08-26 17:33:02 -04:00
Andy Zheng 94896d1340 Stage trusty/node.yaml for GKE use 2015-08-24 11:04:57 -07:00
Muhammed Uluyol 3dc10a209b Use gcr.io for proxy image 2015-08-21 13:32:08 -07:00
Muhammed Uluyol 7129d477d3 Launch a cluster-local registry.
This registry can be accessed through proxies that run on each node
listening on port 5000. We send the proxy images to the nodes directly
to avoid requests that hit the network during cluster launch. For now,
we continue to pull the registry itself over the network, especially
given its large size (we should be able to dramatically shrink the
image). On GCE we create a PD and use that for storage, otherwise we
use an emptyDir. The registry is not enabled outside of GCE. All
communication is currently plain HTTP. In order to use SSL, we will
need to be able to request a certificate/key from the apiserver signed
by the apiserver's CA cert.
2015-08-20 18:44:05 -07:00
Mike Danese 0282ba55be delete unused image hello-kubernetes 2015-08-14 15:45:44 -07:00
Mike Danese f061875840 updating all references in .sh scripts 2015-08-12 14:41:59 -07:00
Eric Paris 3b7c39656c Split hack/{verify,update}-* files so we don't always go build
Right now some of the hack/* tools use `go run` and build almost every
time. There are some which expect you to have already run `go install`.
And in all cases the pre-commit hook, which runs a full build wouldn't
want to do either, since it just built!

This creates a new hack/after-build/ directory and has the scripts which
REQUIRE that the binary already be built. It doesn't test and complain.
It just fails miserably. Users should not be in this directory. Users
should just use hack/verify-* which will just do the build and then call
the "after-build" version. The pre-commit hook or anything which KNOWS
the binaries have been built can use the fast version.
2015-08-11 14:20:46 -04:00
Jeff Grafton 67b10ac222 Handle errors properly in kube::gcs::release functions 2015-08-06 12:36:08 -07:00
Mike Danese fe6b15ba2f rewrite all links to issues to k8s links 2015-08-05 21:11:11 -07:00
Mike Danese fb02b33e99 fix build 2015-08-05 17:52:56 -07:00
Alex Mohr 8d11137ed6 Merge pull request #12177 from ixdy/retry-gsutil-upload
Retry uploading/publishing CI builds to work around gsutil bug
2015-08-03 21:26:53 -07:00
Jeff Grafton 1289165aeb Add environment variable to delete existing release on GCS 2015-08-03 17:01:50 -07:00
Jeff Grafton c37c4ed73d Retry uploading/publishing CI builds to work around gsutil bug 2015-08-03 16:22:40 -07:00
Mike Danese 0269e2baad Merge pull request #11941 from GoogleCloudPlatform/enact_version_md
Enacting versioning.md
2015-07-31 10:17:22 -07:00
BenTheElder c86306f889 Update building docs to note memory requirements for boot2docker. 2015-07-30 19:19:33 -04:00
Zach Loafman 4363f14e77 Enacting versioning.md
This PR changes how we version going forward in the following ways:

* mark-new-version.sh is changed to a new policy of just splitting
branches, rather than the old backmerge policy, as discussed in
vX.Y.0, and a tag for vX.(Y+1).0-alpha.0 back to master.

* I eliminated PRs back to master by making the version/base.go
gitVersion and gitCommit just be `export-subst`. I testing that this
works with GitHub's source export tarballs. There's no reason to
bother with forcing the version into `base.go` (especially twice). The
tarball versions outside a git tree aren't perfect (master looks like
"v0.0.0+hash", and the release branches look more accurate), but our
build contract has never allowed that version is perfect in this
situation, so I think we can relax this.

* That master tag gets picked up by "git describe" on master, so e.g.
master would have immediately become v1.1.0-alpha.0

* In order to be more semVer compatible, the gitVersion field for the
master branch now looks something like 1.1.0-alpha.0.6+84c76d1142ea4d.
This is a tiny translation of the "git describe". I did this because
there are a ton of consumers out there of the "gitVersion" field
expecting it to be the full version, but it would be nice if this
field were actually semver compliant. (1.1.0-alpha.0-6-84c76d1142ea4d
is, but it's not *usefully* so.)

Fixes #11495
2015-07-28 11:58:44 -07:00
Marek Grabowski 74b78d537d Merge pull request #10824 from stefwalter/docker-images-with-repo
build: Fix docker image lookup for docker 1.6+
2015-07-27 17:26:26 +02:00
Stef Walter f06474d938 build: Fix docker image lookup for docker 1.6+
Some versions of docker display image listings like this:

docker.io/golang    1.4                 ebd45caf377c        2 weeks ago

The regular expression used to detect presence of images
needs to be updated. It's unfortunate that we're still
screen-scaping here, due to:

https://github.com/docker/docker/issues/8048
2015-07-27 09:58:15 +02:00
Tim Hockin fbc0c7558e Apply version subst multiple times per line 2015-07-25 13:46:09 -07:00
nikhiljindal b0dbb318fe Extract out the versionize docs part in a separate script 2015-07-23 17:56:40 -07:00
nikhiljindal 54e6f5d7ba Fixing mark-new-version 2015-07-20 14:27:45 -07:00
nikhiljindal 021138bd83 Linking to API object definitions from docs 2015-07-20 11:11:13 -07:00
Zach Loafman 5ac5b97308 Remove back-merge nonsense from mark-new-version.sh
This won't be compatible with
https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/design/versioning.md,
and it hit a conflict with deleted files. Let's just kill it.
2015-07-17 15:02:21 -07:00
Mike Danese 337772a91f fix all tests 2015-07-14 21:51:30 -07:00
Tim Hockin 594bcf3c9d Add an 'is versioned' tag to docs when releasing 2015-07-13 11:23:07 -07:00
Tim Hockin 981f4550e8 When releasing, process all md files 2015-07-13 11:23:07 -07:00
Rohit Jnagal 80ce9f315d Merge pull request #11060 from zmerlynn/change_to_readme
Change the generated release template to docs/README.md
2015-07-10 17:01:22 -07:00
Tim Hockin cb8e27230e When releasing, update versions in title 2015-07-10 09:04:19 -07:00
Zach Loafman 0d79078093 Change the generated release template to docs/README.md 2015-07-10 08:45:53 -07:00
Tim Hockin 10ce2d2e38 Only subst things that exist 2015-07-09 17:17:49 -07:00
Tim Hockin d6756c1fbd On release, always subst new version 2015-07-09 16:33:23 -07:00
Brendan Burns 7ccc0a4ec5 Merge pull request #10910 from zmerlynn/redo_build_official_release
Add `build-official-release.sh` (take two)
2015-07-08 17:26:02 -07:00
Tim Hockin e099a7f0e0 Fix quoting issue on sed 2015-07-08 16:53:51 -07:00
Victor Marmol dd378f148b Merge pull request #10896 from thockin/docs-versioning-2
Make READMEs even more obviously versioned.
2015-07-08 16:24:40 -07:00
Zach Loafman d63860411a Add `build-official-release.sh`
This commit does 4 things:
* Adds a script which will: (a) clone from a git tag, make release,
and give you very detailed instructions as to what to do from that
point.
* Changes `push-official-release.sh` so we can't push "dirty"
releases anymore (which `build-official-release.sh` also double
checks at the end.)
* Fixes #9576 by ensuring a correct umask.
* Changes common.sh to gtar all the way through, to ensure that
bloody OS X tar never touches the release process, because I don't
want to have to understand two tar programs and how release
artifacts are created from both (c.f. #10615.)
2015-07-08 15:20:22 -07:00
Tim Hockin 3d97d82655 Make READMEs clearer wrt versions 2015-07-08 11:36:14 -07:00
Alex Mohr 7737d18882 Update release notes tool and documentation 2015-07-07 17:40:10 -07:00
Zach Loafman 0185809a35 Change build/mark-new-version.sh to always create a backmerge branch
that reverts the doc diff.

This changes mark-new-version to create a backmerge branch that will
additionally handle the revert of the doc diff that's now created for
every release.

Sidebar: I really wish I knew a good git visualizer for GitHub - this
thing is going to start creating some awesome Gordian knots of merges.
(Or more like little Omegas, since they basically just change
version/base.go.)

Fixes #10825
2015-07-07 10:44:00 -07:00
Tim Hockin 6a69a8f64b Remove dependency on perl 2015-07-04 13:32:23 -07:00
Tim Hockin f3d3656fe6 Test for uncommited changes in and out of index 2015-07-04 13:32:23 -07:00
Tim Hockin e7189041ee Preprocess API files to version URLs upon release 2015-07-04 13:32:23 -07:00
Alex Robinson 70644b6889 Merge pull request #10437 from GoogleCloudPlatform/revert-9715-big_archive
Revert "Remove raw binaries from distro that are already included in …
2015-06-29 09:27:59 -07:00
Brendan Burns 3907ed5104 Merge remote-tracking branch 'upstream/release-0.19' into merge-release-0.19-to-master 2015-06-19 09:24:39 -07:00
Tim St. Clair f5830edbbc s/gcloud preview docker/gcloud docker/ 2015-06-18 12:27:08 -07:00
Brendan Burns 497d6019f2 Only clone docs on initial releases. 2015-06-15 20:23:09 -07:00
Abhi Shah 3277925ece Revert "Remove raw binaries from distro that are already included in docker image" 2015-06-12 14:25:52 -07:00
Filip Grzadkowski 31fc217527 Remove raw binaries from distro that are already included in docker image 2015-06-12 17:01:12 +02:00
James DeFelice 91238f8b44 Make building contrib code optional 2015-06-10 20:30:10 +00:00
Brendan Burns 9e198a6ed9 Purge cluster/kubectl.sh from nearly all docs.
Mark cluster/kubectl.sh as deprecated.
2015-06-09 13:35:52 -07:00
Brendan Burns e051497be9 Add some text about the docs being sync'd to HEAD
Add pointers to the release branch files.
Clone docs when creating a new release.
2015-06-04 21:53:15 -07:00
Zach Loafman 0bb78fe6c5 Merge pull request #9042 from zmerlynn/neuter-rmi-complaint
Don't die if the "docker rmi" fails
2015-05-30 09:25:56 -07:00
Zach Loafman 8f70779b1b Don't die if the "docker rmi" fails
Slightly neuters #8955, but we haven't had a build succeed in a while
for whatever reason. (I checked on Jenkins and the images in the build
log where deletion was attempted were actually deleted, so I think
this is primarily an exit code / API issue of some sort.)
2015-05-30 09:20:09 -07:00
Rohit Jnagal 8d1481ab4a Merge pull request #8835 from jlowdermilk/release-notes
Optionally use a github api token when compiling relase-notes
2015-05-29 13:24:10 -07:00
Dawn Chen 21ade7a531 Remove useless master component images after saving image as tar file. 2015-05-28 14:38:39 -07:00
Jeff Lowdermilk b6cd4bedaa Optionally use a github api token when compiling relase-notes 2015-05-27 17:18:44 -07:00
Jeff Lowdermilk 553f9f822b Add ga-beacon analytics to gendocs scripts
hack/run-gendocs.sh puts ga-beacon analytics link into all md files,
hack/verify-gendocs.sh verifies presence of link.
2015-05-15 18:56:38 -07:00
Zach Loafman 4122b20c23 Revert "Revert "release build broken on Docker 1.6"" 2015-05-11 10:15:27 -07:00
Zach Loafman 81d8ab32ba Revert "release build broken on Docker 1.6" 2015-05-11 10:08:17 -07:00
Clayton Coleman 6a86c48207 release build broken on Docker 1.6
By default, tmpfs on Docker 1.6 is 64mb which is too
small for Go builds on the Kube project (binary size, etc).

This moves the release build to use a non tmpfs work dir.
2015-05-07 18:20:15 -04:00
Brendan Burns 1375a18175 Update boilerplate. 2015-05-07 09:52:08 -07:00
Brendan Burns 40dde19853 Adds a simple release-note builder that scrapes the Github API for recent PRs. 2015-05-07 09:37:38 -07:00
saadali 4569de7a46 Enable Google Cloud Monitoring and Google Cloud Logging instead of
Influxdb for Google Compute Engine deployments.
2015-05-06 15:23:40 -07:00
Eric Paris f416289a85 update all python with boilerplate 2015-05-04 18:37:47 -04:00
Daniel Smith fbe3ec7513 Merge pull request #7316 from ArtfulCoder/master_components_logs
logs for master components
2015-05-04 11:20:03 -07:00
Eric Paris 6b3a6e6b98 Make copyright ownership statement generic
Instead of saying "Google Inc." (which is not always correct) say "The
Kubernetes Authors", which is generic.
2015-05-01 17:49:56 -04:00
Zach Loafman d3dbaa0008 Build: Push .md5 and .sha1 files for every file we push to GCS
Also by pre-staging and pushing all at once, and by doing the ACL
modify in parallel, this shaves the push time down anyways, despite
the extra I/O.

Along the way: Updates to longer hashes ala #6615
2015-05-01 10:55:44 -07:00
Abhishek Shah 96439b5a52 logs for master components 2015-04-29 09:51:09 -07:00
Abhishek Shah 0f25014d5b use busybox as base image for kube-master docker images 2015-04-16 22:22:04 -07:00
Robert Bailey 080b5634bf Merge pull request #6929 from zmerlynn/fix_stable_release
Fix build/mark-stable-release mktemp
2015-04-16 13:21:32 -07:00
Zach Loafman 35f651382f Fix build/mark-stable-release mktemp 2015-04-16 12:37:18 -07:00
Rohit Jnagal 8b4914dd0f Merge pull request #6472 from zmerlynn/fix_build_status
Add kube::util::wait-for-jobs to report status, unlike builtin wait
2015-04-06 13:39:58 -07:00
Zach Loafman 3b8bbb32bb Fix cluster up failures by cleaning docker build dirs (sigh) 2015-04-06 13:08:15 -07:00
Zach Loafman 2bc5dd559a Add kube::util::wait-for-jobs to report status, unlike builtin wait
** Sigh **

Fixes an additional complaint in #6463
2015-04-06 11:11:49 -07:00
Zach Loafman af34ef4c16 Remove "-f Dockerfile.blah" from make release
Rework the parallel docker build path to create separate docker build
directories for each binary, rather than just separate files,
eliminating the use of "-f Dockerfile.foo". (I think this also shaves
a little more time off, because it was previously sending the whole
dir each time to the docker daemon.)

Also some minor cleanup.

Fixes #6463
2015-04-06 09:43:30 -07:00
Jeff Grafton 274c607f6d Merge pull request #6425 from zmerlynn/less_chatty_push
Be less chatty when we're uploading to GCS
2015-04-03 15:43:41 -07:00
Zach Loafman 18a11c1cb7 Be less chatty when we're uploading to GCS 2015-04-03 14:54:52 -07:00
Zach Loafman 5b6c75f986 And re-tabify that (to make previous easier to review) 2015-04-02 18:40:27 -07:00
Zach Loafman e57171d2cc Parallelize Docker build as well 2015-04-02 18:39:40 -07:00
Zach Loafman 9a6e04dc1f Cleanup output of Docker builds, fix #6389 2015-04-02 18:18:24 -07:00
Zach Loafman 03c7182cac Also build entire tarball phases in parallel 2015-04-02 17:56:45 -07:00
Zach Loafman 04813f0dcd Revert "Revert "Parallelize architectures in both the building and packaging phases of `make release`""
This reverts commit 9f60dde320.
2015-04-02 17:56:44 -07:00
Dawn Chen 9b2f835a01 Merge pull request #6326 from ArtfulCoder/docker_image_creation
Create Docker images for master components
2015-04-02 13:12:17 -07:00
Abhishek Shah b1b779a8d5 docker image creation 2015-04-02 12:39:12 -07:00
Zach Loafman e4b613b514 Infer the URL from the existing git setup. (I don't push via ssh)
Also document using the recursive/ours merge strategy, because
it's almost certainly what we want to do in this case.
2015-04-02 10:15:18 -07:00
Jeff Lowdermilk 45639d9e2d Remove unused variables from build scripts 2015-04-01 12:28:31 -07:00
Dawn Chen 48cd904a20 Makefile for build pause image and push to gcr.io 2015-03-31 15:07:03 -07:00
Eric Paris e9d2c49fd4 Instructions to back-merge release branches into master
This allows us to continue on branched like v0.14.1, v0.14.2, and tag on
that branch.  But it will merge those tags into master so git describe
picks up the changes.
2015-03-30 17:31:15 -04:00
Eric Paris a5732697fd update instructions to make it clear to get review 2015-03-30 15:10:34 -04:00
Eric Paris 329f9a0e99 Do not allow minor release which is not a decendant of the release branch
This does some git magic to make sure you do not tag a branch with
v0.13.3 unless that branch is a decendant of the release-0.13 branch
upstream.

Don't allow v0.13.4 if v0.13.3 doesn't exit

Don't allow v0.13.3 if v0.13.3 already exits
2015-03-27 21:24:10 -04:00
Eric Paris cbefaf5d65 output current_branch name instead of HEAD in help messages 2015-03-27 19:03:42 -04:00
Eric Paris 2b941f4954 anchor version regex
Also create a GIT_MINOR variable for a touch of readability....
2015-03-27 18:54:36 -04:00
Eric Paris 3919a38ad6 make mark-new-release.sh do branching and tell you exactly what to do next
We keep getting tags and branches wonky.  This will land

v0.14.0 as an ancestor of master
v0.14.1 will NOT be an ancestor of master

I can do the later, it only a touch of git gymnastics, not really hard, but
we only occasionably do that today. (0.13.1 is an ancestor of master,
but 0.13.2 is not)
2015-03-27 17:01:56 -05:00
Brendan Burns f089a054c2 Use stable.txt instead of latest.txt and add a script to set that file. 2015-03-26 15:16:59 -07:00
Jeff Grafton 46e8c08fe8 Update kube::log::{error,status} to include timestamp.
Additionally, make the build scripts call these rather than calling
'echo' directly.
2015-03-25 16:02:48 -07:00
Zach Loafman 3458246c10 Publish a gs://kubernetes-release/release/latest.txt when we publish a build
Adds a kube::release::gcs::publish_latest_official that checks the
current contents of this file in GCS, verifies that we're pushing a
newer build, and updates it if so. (i.e. it handles the case of
pushing a 0.13.1 and then later pushing a 0.12.3.) This follows the
pattern of the ci/ build, which Jenkins just updates unconditionally.

I already updated the file for 0.13.1. After this we can update the
get-k8s script, so we don't have to keep updating it.
2015-03-17 13:53:05 -07:00
Victor HU e083fd3d44 Doc on proxy settings
Add doc on how to set proxy while building kubernetes in container.
2015-01-11 00:31:50 +00:00
Zach Loafman a660ecd962 Try to fix 'Release file is expired' complaints
Based on info from:
  http://unix.stackexchange.com/questions/2544/how-to-work-around-apts-release-file-expired-problem-on-a-local-mirror
2015-03-11 10:57:26 -07:00
Zach Loafman 120dba474e Change GCE to use standalone Saltstack config:
Change provisioning to pass all variables to both master and node. Run
Salt in a masterless setup on all nodes ala
http://docs.saltstack.com/en/latest/topics/tutorials/quickstart.html,
which involves ensuring Salt daemon is NOT running after install. Kill
Salt master install. And fix push to actually work in this new flow.

As part of this, the GCE Salt config no longer has access to the Salt
mine, which is primarily obnoxious for two reasons: - The minions
can't use Salt to see the master: this is easily fixed by static
config. - The master can't see the list of all the minions: this is
fixed temporarily by static config in util.sh, but later, by other
means (see
https://github.com/GoogleCloudPlatform/kubernetes/issues/156, which
should eventually remove this direction).

As part of it, flatten all of cluster/gce/templates/* into
configure-vm.sh, using a single, separate piece of YAML to drive the
environment variables, rather than constantly rewriting the startup
script.
2015-03-10 09:04:29 -07:00
Alex Mohr 5ce020817d Update common.sh 2015-03-09 17:46:29 -07:00
Brandon Davis a63338b73b Support other names for GNU tar
The build is only looking for GNU tar as gtar on OSX, which is the name used when installed using brew. Macports installs it as gnutar, so check for that name if gtar is not found.
2015-02-23 17:00:32 -06:00
Sidharta Seethana aea11720fd setting boot2docker env variables for release and clean targets when boot2docker is running 2015-02-20 15:55:39 -08:00
Jeff Lowdermilk 197059b65d Remove kubecfg, cleanup a few stray references. 2015-02-10 16:43:12 -08:00
Brendan Burns 93776b1363 Remove kubecfg from all getting started docs. 2015-02-04 23:20:11 -08:00
Brendan Burns 0ff3aa6db7 Fix the build. 2015-02-03 14:49:30 -08:00
rsokolowski 164c3e5e62 Fix removal of release-staging files while running hack/e2e-test.sh 2015-02-03 23:11:26 +01:00
Brendan Burns ffd3d21dc5 Update the release script to delete cruft before packaging. 2015-02-03 12:57:34 -08:00
Salvatore Dario Minonne 9a0e16a009 Fix dockerfile for etcd.2.0.0 2015-01-30 15:32:13 +01:00
Joe Beda 621e7037ae Merge pull request #3601 from zmerlynn/deferred_addons_phase_1
Deferred creation of SkyDNS, monitoring and logging objects
2015-01-21 13:25:38 -08:00
Zach Loafman a305269e18 Deferred creation of SkyDNS, monitoring and logging objects
This implements phase 1 of the proposal in #3579, moving the creation
of the pods, RCs, and services to the master after the apiserver is
available.

This is such a wide commit because our existing initial config story
is special:

* Add kube-addons service and associated salt configuration:
** We configure /etc/kubernetes/addons to be a directory of objects
that are appropriately configured for the current cluster.
** "/etc/init.d/kube-addons start" slurps up everything in that dir.
(Most of the difficult is the business logic in salt around getting
that directory built at all.)
** We cheat and overlay cluster/addons into saltbase/salt/kube-addons
as config files for the kube-addons meta-service.
* Change .yaml.in files to salt templates
* Rename {setup,teardown}-{monitoring,logging} to
{setup,teardown}-{monitoring,logging}-firewall to properly reflect
their real purpose now (the purpose of these functions is now ONLY to
bring up the firewall rules, and possibly to relay the IP to the user).
* Rework GCE {setup,teardown}-{monitoring,logging}-firewall: Both
functions were improperly configuring global rules, yet used
lifecycles tied to the cluster. Use $NODE_INSTANCE_PREFIX with the
rule. The logging rule needed a $NETWORK specifier. The monitoring
rule tried gcloud describe first, but given the instancing, this feels
like a waste of time now.
* Plumb ENABLE_CLUSTER_MONITORING, ENABLE_CLUSTER_LOGGING,
ELASTICSEARCH_LOGGING_REPLICAS and DNS_REPLICAS down to the master,
since these are needed there now.

(Desperately want just a yaml or json file we can share between
providers that has all this crap. Maybe #3525 is an answer?)

Huge caveats: I've gone pretty firm testing on GCE, including
twiddling the env variables and making sure the objects I expect to
come up, come up. I've tested that it doesn't break GKE bringup
somehow. But I haven't had a chance to test the other providers.
2015-01-21 12:25:50 -08:00
Joe Beda a735e2d160 Switch official builds to go 1.4.
This fixes #2894
2015-01-21 12:13:22 -08:00
Joe Beda d20b9d4567 Merge pull request #3666 from thockin/golang-static
Fix static builds in go1.4
2015-01-21 10:07:41 -08:00
Tim Hockin 0a538132cf Fix static builds in go1.4
https://github.com/golang/go/issues/9344
2015-01-20 21:04:04 -08:00
Alex Robinson 4fdf240415 Merge pull request #3620 from zmerlynn/push_custom_release
Add push-devel-build.sh to upload release artifacts to current GCS project
2015-01-20 14:05:46 -08:00
Zach Loafman 9f02caa668 Add push-devel-build.sh to upload release artifacts to current GCS project
This is essentially a variant of push-ci-build.sh, but pushes it to
the current project. The defaults for gcs::release actually pick a
shorthash of the GCS project, so you end up uploading to something
like: gs://kubernetes-releases-3fda2/devel/v0.8.0-437-g7f147ed/ (where
the last part is the "git describe" of your current commit)
2015-01-20 13:53:38 -08:00
Andrew Seidl 6dee1d7fa4 Fix typos in user-facing strings 2015-01-18 01:32:34 -06:00
Jeff Lowdermlk cb517b3a4a Build win32 client binaries 2015-01-16 16:45:14 -08:00
Zach Loafman c3858ab322 Commit f1fed3b broke gcs::release in this function, breaking
the build.
2015-01-07 11:10:08 -08:00
Zach Loafman fd9d2df6e1 Merge pull request #3238 from zmerlynn/gcs_bucket
Add script to push CI artifacts to gs://kubernetes-release/ci
2015-01-07 10:08:43 -08:00
Joe Beda 4b94829cf2 Make 'make clean' work with Docker not installed.
Fixes #1959.
2015-01-06 11:36:35 -08:00
Zach Loafman e66e30183b Add script to push continuous integration artifacts to gs://kubernetes-release/ci
This pushes artifacts in a similar manner to the official release,
except that instead of release/vFOO, it goes to ci/$(git describe),
e.g.: gs://kubernetes-release/ci/v0.7.0-315-gcae5722

It also pushes a text file to gs://kubernetes-release/ci/latest.txt,
so anyone can do, for instance:

gsutil ls gs://kubernetes-release/ci/$(gsutil cat gs://kubernetes-release/ci/latest.txt)

(In a parallel change, I'm going to flip the jenkins scripts over to
use git describe, since it's shorter and a little more descriptive)
2015-01-05 18:07:27 -08:00
Joe Beda f1fed3bcfc Remove support for building "run containers".
This was untested, broken and largely unused.

Related to #12 and #2455#issuecomment-68803245.
2015-01-05 16:26:28 -08:00
mdshuai 98b1c7c72f Solve apt-get update 404 Not Found Package error 2014-12-23 12:52:46 +08:00
Zach Loafman a4c4746f7c Fix OS X testtar build break
Handle copy in super portable way. Every tar on the planet should
accept this. Oblig XKCD: http://xkcd.com/1168/
2014-12-18 08:23:46 -08:00
Zach Loafman d3aed6c9cd Add kubernetes-test.tar.gz
Add test artifacts to the build. This lets you do:

tar -xzf kubernetes.tar.gz
tar -xzf kubernetes-test.tar.gz
cd kubernetes
go run ./hack/e2e.go -up -test -down

without having a git checkout.
2014-12-17 14:30:30 -08:00
Dawn Chen d70160de1c Revert "Switch to the new home for go cover." 2014-12-12 15:16:26 -08:00
Brendan Burns 3ebaa3c81c Switch to the new home for go cover. 2014-12-11 10:12:17 -08:00
Zach Loafman 21eb09fb6a Wait/reap build container before removing it
Fixes: https://github.com/GoogleCloudPlatform/kubernetes/issues/1853
2014-12-06 11:12:11 -08:00
James Kyle 361c8dbae5 Support remote docker hosts on OS X.
This commit brings two main changes, notably:

Two new options that can be set as environment variables

- DOCKER_OPTS: any arbitrary set of docker options. Example: --tlsverify
- DOCKER_NATIVE: This forces the use of the native docker available.
                 This is most useful if you're on OS X and do not want
                 to use boot2docker.

Now uses 'docker cp' instead of tar piping to transfer files. This
currently must be done by copying the binaries off of the docker volume
and into a local filesystem (/tmp) before a docker cp is done. This
workaround will no longer be necessary after bug fix
https://github.com/docker/docker/pull/8509 makes it into stable.

This was necessary because the tar | tar method was creating corrupted
archives on OS X even with the < /dev/null workaround.
2014-12-01 11:47:16 -08:00
Joe Beda 5bf43236e3 Support building/packaging Windows client binaries.
Ug -- .exe suffix is a pain.  These are largely untested.
2014-11-24 14:10:28 -08:00
Joe Beda 35313c605c Script to help mark new versions 2014-11-24 12:24:29 -08:00
Joe Beda 3a385a8b0b Squash output from 'which' 2014-11-24 12:23:34 -08:00
Joe Beda d5536abdb5 Better version check on push 2014-11-24 12:23:34 -08:00