Commit Graph

670 Commits (4c7c865ff6af3935ed76eadcc0948d57b59cdd49)

Author SHA1 Message Date
Bowei Du 0992e2bfc9 Remove DNS code from the main repo (code is now in http://github.com/kubernetes/dns) 2017-01-06 12:57:45 -08:00
Kubernetes Submit Queue af1a5ce426 Merge pull request #39492 from mikedanese/xtables
Automatic merge from submit-queue

add netlink and libxtables to kube-proxy image

kube-proxy won't start
2017-01-06 00:23:38 -08:00
Jeff Grafton 20d221f75c Enable auto-generating sources rules 2017-01-05 14:14:13 -08:00
Mike Danese eb62ac4363 add netlink and libxtables to kube-proxy image 2017-01-05 13:42:26 -08:00
Mike Danese 35ca259464 uses debs to build k8s docker images 2017-01-04 15:35:49 -08:00
Yifan Gu dd59aa1c3b cluster/gce: Rename coreos to container-linux. 2016-12-30 15:32:02 -08:00
Kubernetes Submit Queue 274a9f0f70 Merge pull request #38927 from luxas/remove_maintainer
Automatic merge from submit-queue

Remove all MAINTAINER statements in the codebase as they are deprecated

**What this PR does / why we need it**:
ref: https://github.com/docker/docker/pull/25466

**Release note**:

```release-note
Remove all MAINTAINER statements in Dockerfiles in the codebase as they are deprecated by docker
```
@ixdy @thockin (who else should be notified?)
2016-12-29 16:41:24 -08:00
Łukasz Oleś 1ef56828f8 Remove build containers
5 containers are created during the build and not used anymore. Removing them.
2016-12-29 18:22:00 +01:00
Lee Verberne c706a052ef pause.c: Document intended PID 1 behavior 2016-12-22 21:51:10 +00:00
Kubernetes Submit Queue e843f77c6a Merge pull request #38919 from brendandburns/fix
Automatic merge from submit-queue

Add a KUBERNETES_NODE_* section to build kubelet/kube-proxy for windows

@pires @ixdy 

Addresses https://github.com/kubernetes/kubernetes/issues/38785 (I hope)
2016-12-20 15:32:40 -08:00
Kubernetes Submit Queue 46afb00f4c Merge pull request #38984 from deads2k/fed-16-make-image
Automatic merge from submit-queue

create kuberentes-discovery image

Creates an image for `kubernetes-discovery` since this is the API registration, aggregation, and proxy image.
2016-12-20 07:05:40 -08:00
deads2k 47073be356 create kuberentes-discovery image 2016-12-20 07:42:49 -05:00
Euan Kemp 13afe18ab4 cluster/coreos: update to gci based implementation
This update includes significant refactoring. It moves almost all of the
logic into bash scripts, modeled after the `gci` cluster scripts.

The primary differences between the two are the following:
1. Use of the `/opt/kubernetes` directory over `/home/kubernetes`
2. Support for rkt as a runtime
3. No use of logrotate
4. No use of `/etc/default/`
5. No logic related to noexec mounts or gci-specific firewall-stuff
2016-12-17 21:36:31 -08:00
Brendan Burns ab0e245bc6 Add a KUBERNETES_NODE_* section to build kubelet/kube-proxy for windows 2016-12-17 21:07:18 -08:00
Lucas Käldström 3c5b5f5963 Remove all MAINTAINER statements in the codebase as they aren't very useful and now deprecated 2016-12-17 20:34:10 +02:00
Alejandro Escobar 7d9c06f82d local-up-cluster changes: added help option, added error message for why docker ps fails and how to recover, added test to check if etcd is in your path to fail fast when not found.
from etcd.sh split the start process into validate fucntion + start function so that the validate piece can be reused elsewhere. the up-cluster script has been changed to remove duplicate docker logic to the one used in buid-tools/common.sh and the validate etcd function is now used here.

moved docker daemon check function to util.sh and made function name changes and upstream changes.
2016-12-16 07:41:35 -08:00
Kubernetes Submit Queue aa454ec740 Merge pull request #37215 from shashidharatd/fed-ci
Automatic merge from submit-queue

[Federation][init-11.2] use USE_KUBEFED env var to choose bw old and new federation deployment

This is continuation of #35961
USE_KUBEFED variable is used for deploying federation control plane. if not defined, federation will be brought up using old method i.e scripts.

Have verified that federation comes up using the old method, using following steps
```
$ export FEDERATION=true
$ export E2E_ZONES="asia-east1-c"
$ export FEDERATION_PUSH_REPO_BASE=gcr.io/<my-project>
$ KUBE_RELEASE_RUN_TESTS=n KUBE_FASTBUILD=true go run hack/e2e.go -v -build
$ build-tools/push-federation-images.sh
$ go run hack/e2e.go -v --up
```
Should merge #35961 before this PR

@madhusudancs
2016-12-16 00:33:35 -08:00
Kubernetes Submit Queue 87444522d0 Merge pull request #32088 from piosz/fluentd-daemon-set
Automatic merge from submit-queue

Migrated fluentd addon to daemon set

fix #23224
supersedes #23306 

``` release-note
Migrated fluentd addon to daemon set
```
2016-12-15 23:04:40 -08:00
Madhusudan.C.S 5a7644c502 [Federation][init-11] Switch federation e2e tests to use the new federation control plane bootstrap via the `kubefed init` command. 2016-12-16 11:22:44 +05:30
Lee Verberne 7910a3f315 Move orphan.c to catch up to build-tools rename 2016-12-16 02:36:32 +00:00
Lee Verberne c1520e15ff Address style comments for pause.c
Run clang-format on the C files and capitalize error messages.
2016-12-16 02:30:58 +00:00
Lee Verberne 81d27aa239 Add SIGCHLD handler to pause container
This allows pause to reap zombies in the upcoming Shared PID namespace
(#1615). Uses the better defined sigaction() instead of signal() for all
signals both for consistency (SIGCHLD handler avoids SA_RESTART) and to
avoid the implicit signal()->sigaction() translation of various libc
versions.

Also makes warnings errors and includes a tool to make orphaned zombies
for manual testing.
2016-12-16 02:30:58 +00:00
Jeff Grafton dd7c960aaf Rename build-tools/debs to build/debs 2016-12-15 11:10:23 -08:00
Piotr Szczesniak a52637f09f Migrated fluentd to daemon set 2016-12-15 13:48:32 +01:00
xuxinkun 29dc75abc2 fix kube::log::error in `start_rsyncd_container`.
Signed-off-by: xuxinkun <xuxinkun@gmail.com>
2016-12-15 10:00:19 +08:00
Jeff Grafton 27d096d27d Rename build-tools/ back to build/ 2016-12-14 13:42:15 -08:00
Mike Danese 27116c6818 rename build/ to build-tools/ 2016-10-24 14:41:56 -07:00
Vish Kannan d5b1b4087e Fix path to gci mounter in release.sh 2016-10-24 05:50:24 -07:00
Michael Taufen f819cada9c Add a bare-bones level of indirection for GCI mounter
This is the bare bones scaffolding from @vishh's PR #34787
2016-10-24 05:50:24 -07:00
Mike Danese 88c1ee28ed gazel 2016-10-21 17:31:54 -07:00
Jeff Grafton c32da484ff Delete some old, dead release code 2016-10-20 13:57:15 -07:00
Kubernetes Submit Queue 6e2f5f8f6d Merge pull request #28742 from jessfraz/test-go1.7rc1
Automatic merge from submit-queue

Update to go 1.7

<!--
Checklist for submitting a Pull Request

Please remove this comment block before submitting.

1. Please read our [contributor guidelines](https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md).
2. See our [developer guide](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md).
3. If you want this PR to automatically close an issue when it is merged,
   add `fixes #<issue number>` or `fixes #<issue number>, fixes #<issue number>`
   to close multiple issues (see: https://github.com/blog/1506-closing-issues-via-pull-requests).
4. Follow the instructions for [labeling and writing a release note for this PR](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes) in the block below.
-->

Closes #33070
Closes #32999

```release-note
Updated Go to 1.7
```


[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()

This is to test go version 1.7
2016-10-18 05:59:04 -07:00
Kubernetes Submit Queue 1d323adade Merge pull request #34361 from jessfraz/remove-docker-tag-f
Automatic merge from submit-queue

remove all instances of docker tag -f

<!--  Thanks for sending a pull request!  Here are some tips for you:
1. If this is your first time, read our contributor guidelines https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md and developer guide https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md
2. If you want *faster* PR reviews, read how: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/faster_reviews.md
3. Follow the instructions for writing a release note: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes
-->

**What this PR does / why we need it**: There is no flag `-f` for newer versions of `docker tag`

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #

**Special notes for your reviewer**:

**Release note**:
<!--  Steps to write your release note:
1. Use the release-note-* labels to set the release note state (if you have access) 
2. Enter your extended release note in the below block; leaving it blank means using the PR title as the release note. If no release note is required, just write `NONE`. 
-->
2016-10-17 19:16:56 -07:00
shashidharatd c47732c60a Fix federated-image.tag written with empty string 2016-10-17 11:00:18 +05:30
Jess Frazelle 40e71deb25
remove all instances of docker tag -f
Signed-off-by: Jess Frazelle <acidburn@google.com>
2016-10-13 21:26:20 -07:00
Jess Frazelle 3193174142
Remove go patches for darwin
Signed-off-by: Jess Frazelle <acidburn@google.com>
2016-10-13 21:12:15 -07:00
Jess Frazelle 3803fee972
Update to go1.7.1
Signed-off-by: Jess Frazelle <me@jessfraz.com>
2016-10-13 21:12:15 -07:00
Jeff Grafton 809e528d96 Increase build verbosity for rsync operations in verify-generated-{protobuf,runtime}.sh 2016-10-13 13:40:07 -07:00
Kubernetes Submit Queue 36be3b34f6 Merge pull request #34487 from jessfraz/update-gcloud-docker-commands
Automatic merge from submit-queue

Update `gcloud docker` commands to use `gcloud docker -- ARGS`

We can then avoid the following warning:
```
WARNING: The '--' argument must be specified between gcloud specific args on the left and DOCKER_ARGS on the right. IMPORTANT: previously, commands allowed the omission of the --, and unparsed arguments were treated as implementation args. This usage is being deprecated and will be removed in March 2017.
This will be strictly enforced in March 2017. Use 'gcloud beta docker' to see new behavior.
```
2016-10-13 07:04:59 -07:00
Joe Beda 2582f1f368 Add --delete flag when rsyncing into container.
If you delete a source file, we want to reflect that in the build container.  We
only use --delete going that one way as we don't want to accidentally delete
files in the user's source tree.
2016-10-11 10:08:16 -07:00
Jess Frazelle cde5559d09
Update `gcloud docker` commands to use `gcloud docker -- ARGS`
We can then avoid the following warning:
```
WARNING: The '--' argument must be specified between gcloud specific args on the left and DOCKER_ARGS on the right. IMPORTANT: previously, commands allowed the omission of the --, and unparsed arguments were treated as implementation args. This usage is being deprecated and will be removed in March 2017.
This will be strictly enforced in March 2017. Use 'gcloud beta docker' to see new behavior.
```

Signed-off-by: Jess Frazelle <acidburn@google.com>
2016-10-10 13:42:34 -07:00
Kubernetes Submit Queue 160adc3864 Merge pull request #34351 from jbeda/verify-rsync
Automatic merge from submit-queue

Check for rsync and give friendlier message

Fixes #34300.

Not sure if #34309 is the same issue.  Hopefully it is the same issue.
2016-10-08 02:48:14 -07:00
Kubernetes Submit Queue bf1e7c8c69 Merge pull request #34288 from ixdy/build-image-rsync-sh
Automatic merge from submit-queue

Make sure rsync.sh is executable inside the build image

I kept having the build fail:
```console
$ make quick-release
+++ [1006 18:13:44] Verifying Prerequisites....
+++ [1006 18:13:44] Building Docker image kube-build:build-d3c60cf83f-3-v1.6.3-9
+++ [1006 18:13:54] Creating data container kube-build-data-d3c60cf83f-3-v1.6.3-9
+++ [1006 18:13:55] Syncing sources to container
!!! [1006 18:16:01] Could not connect to rsync container. See build/README.md for setting up remote Docker engine.
make: *** [quick-release] Error 1
```

`docker ps` revealed the issue:
```console
$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
$ docker ps -a
CONTAINER ID        IMAGE                                    COMMAND                  CREATED             STATUS                       PORTS               NAMES
75c2a3c40cb3        kube-build:build-d3c60cf83f-3-v1.6.3-9   "/rsyncd.sh"             6 seconds ago       Exited (126) 5 seconds ago                       kube-rsync-d3c60cf83f-3-v1.6.3-9
3eb215e41f36        kube-build:build-d3c60cf83f-3-v1.6.3-9   "chown -R 85078.5000 "   8 seconds ago       Exited (0) 6 seconds ago                         kube-build-data-d3c60cf83f-3-v1.6.3-9
5a2707af2ccd        882577c54f67                             "/bin/sh -c 'cd ${K8S"   7 days ago          Exited (2) 7 days ago                            stupefied_goldberg
$ docker logs 75c2a3c40cb3
/bin/bash: /rsyncd.sh: Permission denied
```

I'm not sure why this works on Jenkins but not on my machine.
2016-10-07 13:28:58 -07:00
Joe Beda 48906e6295 Check for rsync and give friendlier message 2016-10-07 12:25:09 -07:00
Jonathan Boulle 69874a4dca build: fix typo in error message help
"hasn't been set of is set" --> "hasn't been set or is set"
2016-10-07 16:30:02 +02:00
Jeff Grafton e4b16a5a18 Make sure rsync.sh is executable inside the build image
Also make sure /etc/localtime is readable

Also move BUILD_IMAGE_VERSION to build-image/VERSION to be consistent
with the way the cross-image works.
2016-10-06 18:56:41 -07:00
Joe Beda add137c4d5 Use rsync to probe for rsync ready
We were using netcat to try and figure out when the rsync container is ready. Now we instead use rsync itself. I suspect that there was a race condition with some versions of Docker where it would accept connections and then close them during container start.

This fixes #34214 (I think)
2016-10-06 12:13:04 -07:00
Joe Beda ce00838e47 Fix broken build/push-federation-images.sh
This was broken by #30787. A stray bash `source` caused an undefined variable reference.

Apparently the federation images have a parallel nad different "release" path
that isn't tested by the pre-checkin tests.
2016-10-06 06:23:31 -07:00
Wojciech Tyczynski 19e50d56dc Run integration tests with 3.0.10 etcd underneath 2016-10-06 09:32:49 +02:00
Joe Beda d955f54918 Remove unused bash variables 2016-10-03 19:42:22 -07:00
Joe Beda 034fc8829f Update comment on release.sh to reflect new release repo 2016-10-03 19:42:21 -07:00
Joe Beda 4330560b6a Make update-generated-*.sh not hack around with docker images
make-generated-{protobuf,runtime}.sh was doing some really nasty stuff with how
the build container was managed in order to copy results out.  Since we have
more flexibility to grab results out of the build container, we can now avoid
all of this.  Ideally we wouldn't have `hack` calling `build` at all, but we
aren't there yet.
2016-10-03 19:42:21 -07:00
Joe Beda f861163a15 Move release code (bash) out of build/common.sh 2016-10-03 19:42:21 -07:00
Joe Beda dc586ea8f7 Use rsync to get source into build container
We also add "version" to all docker images and containers

This version is to be incremented manually when we change the shape of the build
image (like changing the golang version or the set of volumes in the data
container).  This will delete all older versions of images and containers when
the version is different.
2016-10-03 19:42:20 -07:00
Joe Beda 17454a04ac Remove support for boot2docker 2016-10-03 19:42:20 -07:00
Kubernetes Submit Queue 2628af06f8 Merge pull request #33803 from ixdy/go1.7-darwin-client-binaries
Automatic merge from submit-queue

Use patched golang1.7.1 for cross-builds targeting darwin

This PR extends #32517 to use the patched go1.7.1 introduced by that PR to build all darwin targets (e.g. kubectl).

This is necessary because binaries built with earlier versions of Go regularly segfault on macOS Sierra (see #32999 and #33070).

This solution is somewhat hacky, but we intend to cherry-pick this to 1.4, and switching all of 1.4 to build with go1.7.1 is very high risk.

I haven't yet pushed the cross build image yet, so this will fail to build. Will test locally and update with results.

First step of fixing #33801.

cc @luxas @pwittrock @david-mcmahon @liggitt @smarterclayton @jfrazelle @Starefossen @gerred
2016-09-30 12:29:18 -07:00
Kubernetes Submit Queue b71def750f Merge pull request #33774 from MrHohn/kubedns-graceful
Automatic merge from submit-queue

Bump up addon kube-dns to v20 for graceful termination

Below images are built and pushed:
- gcr.io/google_containers/kubedns-amd64:1.8
- gcr.io/google_containers/kubedns-arm:1.8
- gcr.io/google_containers/kubedns-arm64:1.8
- gcr.io/google_containers/kubedns-ppc64le:1.8

Both kubedns and dnsmasq are bumped up in the manifest files.

@thockin @bprashanth
2016-09-30 00:15:13 -07:00
MrHohn 3e55d4d6bd Bump up addon kube-dns to v20 for graceful termination 2016-09-29 18:09:20 -07:00
Jeff Grafton f769b02c8f Use patched go1.7.1 for cross-builds targeting darwin 2016-09-29 17:05:23 -07:00
mbohlool 35b5174bf1 Generate and verify openapi specs in source tree at api/openapi-spec 2016-09-29 17:03:31 -07:00
deads2k 06b1a9636d promote contrib/mesos to incubator 2016-09-28 10:58:09 -04:00
Joe Beda 1b1806af56 Add jbeda to OWNERS for build, cluster, hack 2016-09-27 14:53:16 -07:00
Jeff Grafton 13a3313957 Bundle kubemark in test tarball instead of server tarball 2016-09-26 11:06:48 -07:00
Kubernetes Submit Queue dae3bddf90 Merge pull request #32884 from Random-Liu/separate-build-for-node-e2e
Automatic merge from submit-queue

Add separate build process for node test.

This PR is part of https://github.com/kubernetes/kubernetes/pull/31093. However, because currently node e2e is built on `KUBE_TEST_PLATFORMS`, which includes linux/amd64, darwin/amd64, windows/amd64 and linux/arm, it caused #32251 to fail.

In fact, node e2e is running on the same node with kubelet, and it also has built-in apiserver, etcd and namespace controller. All of them are only built on `KUBE_SERVER_PLATFORMS`, so node e2e should also only be built on those platforms.
```
KUBE_SERVER_PLATFORMS=(
     linux/amd64
     linux/arm
     linux/arm64
   )
```

This PR added a separate build process for node e2e to address this.

@vishh Do you need this for v1.4? because this blocks your #32251. /cc @dchen1107
2016-09-16 14:16:57 -07:00
Kubernetes Submit Queue 9bc7e36f4b Merge pull request #32517 from luxas/fix_arm_ppc64le
Automatic merge from submit-queue

Use a patched golang version for building linux/arm

Fixes: #29904

Right now, linux/arm is broken because of an internal limitation in Go.
I've filed an issue for it here: https://github.com/golang/go/issues/17028

The affected binaries of this limitation are hyperkube and kube-apiserver, which are the largest binaries.

And when we now have a patched go 1.7.1 version for building "unsupported" but important architectures (ref: https://github.com/kubernetes/kubernetes/blob/master/docs/proposals/multi-platform.md), we should also include the patch for ppc64le and start building ppc64le again. 

As soon as @laboger has the patch I need up on Github, I'll include ppc64le to this PR and we'll merge it

TODO:
 - [ ] ~~Update the PR with patches for ppc64le at the same time @luxas~~
 - [x] Push the new kube-cross image @ixdy 
 - [x] Run a full `make release` before to verify nothing breaks @luxas + @ixdy 
 - [ ] Cherrypick into the 1.4 branch @luxas + (who?)

@lavalamp @smarterclayton @ixdy @rsc @davecheney @wojtek-t @jfrazelle @bradfitz @david-mcmahon @pwittrock
2016-09-16 12:52:17 -07:00
Random-Liu a67fec6419 Add separate build process for node test. 2016-09-16 11:17:49 -07:00
Lucas Käldström aa045f786e Use a patched golang version for building linux/arm, fixes kube-apiserver 2016-09-14 18:04:22 +03:00
Kubernetes Submit Queue 8b78066918 Merge pull request #32164 from ixdy/build-semantic-version
Automatic merge from submit-queue

kubectl version -c has been deprecated, use --client instead

```
Flag shorthand -c has been deprecated, please use --client instead.
```
2016-09-14 00:07:32 -07:00
Jeff Grafton db7c8f633b kubectl version -c has been deprecated, use --client instead 2016-09-12 13:08:32 -07:00
David McMahon f912317b11 Remove missed push-ci-build.sh removal! 2016-09-10 13:14:01 -07:00
Kubernetes Submit Queue da4f0ca6f4 Merge pull request #24629 from david-mcmahon/release-deprecation
Automatic merge from submit-queue

Deprecate release infrastructure and doc - moved to kubernetes/release

Part 2 of https://github.com/kubernetes/release/pull/1
This PR finalizes the split between the main kubernetes repo and the release tooling now under kubernetes/release.

ref #16529
2016-09-09 19:15:12 -07:00
David McMahon 4e07b43d70 Deprecate kubernetes/kubenetes release infrastructure and doc. 2016-09-09 17:51:20 -07:00
Chao Xu 7e92025cfd stick to 2.2.1 etcd 2016-09-09 16:35:05 -07:00
Daniel Smith 279219ca89 Use etcd 2.3.7 (container already pushed) 2016-09-09 09:45:53 +02:00
Aaron Levy 17c5ea9c37 bump kube-cross image version 2016-09-08 11:22:55 -07:00
gmarek 3e2c3a5db2 Make image-puller work on GCI nodes. 2016-09-07 15:23:39 +02:00
Minhan Xia 1e88c99e3e bump cni 2016-09-06 10:48:36 -07:00
Kubernetes Submit Queue b126a7a7e9 Merge pull request #31398 from yongtang/08242016-doc-build
Automatic merge from submit-queue

Update build docs to include path for scripts.

<!--  Thanks for sending a pull request!  Here are some tips for you:
1. If this is your first time, read our contributor guidelines https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md and developer guide https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md
2. If you want *faster* PR reviews, read how: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/faster_reviews.md
3. Follow the instructions for writing a release note: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes
-->

**What this PR does / why we need it**:

This fix updates the build docs (`build/README.md`) to include the path of `build/` for shell scripts (like `run.sh`, `shell.sh`).

The reason is that while trying to follow the `build/README.md` to build the kubernetes, it is not obvious that all the scripts, e.g., `run.sh make`, `shell.sh`, etc. needs to be executed from the root directory (vs. executed from the `build/` directory).

In other words, the executation should be:
```
build/run.sh make
build/make-clean.sh
...
```

This fix adds `build/` so that it is easy for user to follow the steps.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #

**Special notes for your reviewer**:

**Release note**:
<!--  Steps to write your release note:
1. Use the release-note-* labels to set the release note state (if you have access) 
2. Enter your extended release note in the below block; leaving it blank means using the PR title as the release note. If no release note is required, just write `NONE`. 
-->
```release-note
```
2016-09-05 11:10:18 -07:00
Minhan Xia 1a484d5585 bump debian-iptables version 2016-09-02 14:34:29 -07:00
Kubernetes Submit Queue 09a97203aa Merge pull request #30744 from madhusudancs/fed-split-build-to-develop-deploy
Automatic merge from submit-queue

Separate federation build.sh into development and deployment scripts.

The idea behind this separation is that it provides a clear distinction
between the dev environment and the prod environment. The
deploy/deploy.sh script will be shipped to the users, but
develop/develop.sh will be purely for development purposes and won't
be part of a release distribution.

Purely for developer convenience, all the deployment functionality is
made available through the develop/develop.sh script.

This change also copies deploy/* files into the release distribution.

cc @kubernetes/sig-cluster-federation @colhom 

```release-note
Federation can now be deployed using the `federation/deploy/deploy.sh` script. This script does not depend on any of the development environment shell library/scripts. This is an alternative to the current `federation-up.sh`/`federation-down.sh` scripts. Both the scripts are going to co-exist in this release, but the `federation-up.sh`/`federation-down.sh` scripts might be removed in a future release in favor of `federation/deploy/deploy.sh` script.
```
2016-08-29 13:46:19 -07:00
Kubernetes Submit Queue 72fbb5193b Merge pull request #31551 from freehan/cnirelease
Automatic merge from submit-queue

add Makefile for building/pushing cni binary

fixes: #27211
2016-08-27 02:58:46 -07:00
Kubernetes Submit Queue adc2db5ff9 Merge pull request #29929 from madhusudancs/fed-bin-downsize-v2
Automatic merge from submit-queue

[Federation] Downsize the release binary distribution v2.

Second attempt of PR #29632.

There are two things that this PR does:

1. It removes `federation-apiserver` and `federation-controller-manager` from binaries and docker_wrapped_binaries target lists.
2. Build the docker image for `hyperkube` on-the-fly while pushing the federation images. 

```release-note
Federation binaries and their corresponding docker images - `federation-apiserver` and `federation-controller-manager` are now folded in to the `hyperkube` binary. If you were using one of these binaries or docker images, please switch to using the `hyperkube` version. Please refer to the federation manifests - `federation/manifests/federation-apiserver.yaml` and `federation/manifests/federation-controller-manager-deployment.yaml` for examples.
```

cc @kubernetes/sig-cluster-federation @colhom 

Fixes Issue #28633
2016-08-26 15:11:58 -07:00
Minhan Xia 59ce7aa1d5 add Makefile for building/pushing cni binary 2016-08-26 14:32:50 -07:00
Kubernetes Submit Queue d5033c27e4 Merge pull request #31392 from MrHohn/push-kube-dns
Automatic merge from submit-queue

Build and push kube-dns for 1.4 release.

Fix #31355.

Following docker images had been uploaded:
gcr.io/google_containers/kubedns-amd64:1.7
gcr.io/google_containers/kubedns-arm:1.7
gcr.io/google_containers/kubedns-arm64:1.7

Build for ppc64le is disabled by default, and it failed to be built using:
`KUBE_BUILD_PPC64LE=y make release`

I'm still working on making the ppc64le build. Updates will be added following this thread.

@girishkalele @thockin
2016-08-26 00:40:10 -07:00
Kubernetes Submit Queue d3ecad111e Merge pull request #28717 from freehan/ebtable
Automatic merge from submit-queue

Filter duplicate network packets in promiscuous bridge mode (with ebtables)

also fixes: #30783
2016-08-25 19:12:09 -07:00
Madhusudan.C.S a6ff2364c5 Addressed review comments. 2016-08-25 14:34:19 -07:00
Madhusudan.C.S d9cea93eb6 [Federation] Do not build separate binaries for federation control plane components, hyperkube should be sufficient.
Also build the hyperkube docker image on-the-fly.

This is only a temporary fix until the proposal in issue
https://github.com/kubernetes/kubernetes/issues/28630 is implemented.

Also, the new build/deployment method completely obviates this step.

We use debian image instead of busybox and do not build hyperkube as a
static binary yet. Wait until PR
https://github.com/kubernetes/kubernetes/pull/26028 is merged to build
static hyperkube binaries.
2016-08-25 14:29:32 -07:00
Yong Tang e939dd3776 Update build docs to include path for scripts.
This fix updates the build docs to include the path of `build/` for
shell scripts. The reason is that while trying to follow the `build/README.md`,
it is not obvious that all the scripts, e.g., `run.sh make`, `shell.sh`,
etc. needs to be executed from the root directory (vs. executed from the
`build/` directory). In other words,
the executation should be:
```
build/run.sh make
build/make-clean.sh
...
```

This fix adds `build/` so that it is easy for user to follow the steps.
2016-08-25 20:41:48 +00:00
Madhusudan.C.S 9650a84f7b Separate federation build.sh into development and deployment scripts.
The idea behind this separation is that it provides a clear distinction
between the dev environment and the prod environment. The
deploy/deploy.sh script will be shipped to the users, but
develop/develop.sh will be purely for development purposes and won't
be part of a release distribution.

Purely for developer convenience, all the deployment functionality is
made available through the develop/develop.sh script.

This change also copies deploy/* files into the release distribution.
2016-08-25 12:37:50 -07:00
MrHohn f1ff86f189 Build and push kube-dns for 1.4 release 2016-08-24 21:21:52 -07:00
Minhan Xia 3ed5c7a8d7 add ebtables into images 2016-08-24 10:57:33 -07:00
Girish Kalele 3e2435fec0 Update kube-dns changelog for 1.6 bump 2016-08-23 16:56:08 -07:00
Kubernetes Submit Queue a24df66dc8 Merge pull request #30870 from piosz/rescheduler-setup
Automatic merge from submit-queue

Salt configuration for Rescheduler

ref #29023
2016-08-19 02:54:24 -07:00
Kubernetes Submit Queue b1194ffb43 Merge pull request #30659 from ixdy/disable-kubemark-ppc
Automatic merge from submit-queue

Disable linux/ppc64le compilation by default

Work-around for #30384.

I'm still testing this locally to see if it actually works. The build is slow. (PR Jenkins won't tell us whether this fixes ppc.)

cc @Random-Liu @spxtr @david-mcmahon @luxas
2016-08-18 23:12:09 -07:00
Piotr Szczesniak 1f3fdab063 Salt configuration for Rescheduler 2016-08-18 12:24:09 +02:00
Madhusudan.C.S 2c32dc6ca4 Provide absolute path to cross build image VERSION file.
This allows invoking builds from non-root directories.
2016-08-16 22:51:04 -07:00
Jeff Grafton dec4d1ea33 Disable linux/ppc64le compilation by default.
It can be reenabled with KUBE_BUILD_PPC64LE=y.
2016-08-16 17:05:42 -07:00
Kubernetes Submit Queue 1cc23155f7 Merge pull request #30546 from thockin/build-vol-whole-output
Automatic merge from submit-queue

Fix subtle build breakage

Repro case:
$ make clean generated_files
$ hack/update-generated-protobuf.sh

This would complain about not finding `fmt`, and it was indicating the wrong
GOROOT.  The problem was that the first step built binaries for generating
code, which *embeds* the value of GOROOT into the binary.  The whole tree was
bind-mounted into the build container and then JUST the dockerized dir was
mounted over it.  The in-container build tried to use the existing binaries,
but GOROOT is wrong.

This change whites-out the whole _output dir.

I first made just an anonymous volume for _output, but docker makes that as
root, which means I can't write to it from our non-root build.  So I just put
it in the data container.  This seems to work.  The biggest change this makes
is that the $GOPATH/bin/ and $GOPATH/pkg/ dirs will persist across dockerized
builds.

NB: this requires a `make clean` to activate.

@lavalamp @jbeda @quinton-hoole @david-mcmahon
2016-08-15 11:42:09 -07:00
Tim Hockin 99a6a8ab16 Fix subtle build breakage
Repro case:
$ make clean generated_files
$ hack/update-generated-protobuf.sh

This would complain about not finding `fmt`, and it was indicating the wrong
GOROOT.  The problem was that the first step built binaries for generating
code, which *embeds* the value of GOROOT into the binary.  The whole tree was
bind-mounted into the build container and then JUST the dockerized dir was
mounted over it.  The in-container build tried to use the existing binaries,
but GOROOT is wrong.

This change whites-out the whole _output dir.

I first made just an anonymous volume for _output, but docker makes that as
root, which means I can't write to it from our non-root build.  So I just put
it in the data container.  This seems to work.  The biggest change this makes
is that the $GOPATH/bin/ and $GOPATH/pkg/ dirs will persist across dockerized
builds.
2016-08-12 21:20:38 -07:00
Timothy St. Clair a0d177ca71 Update core etcd references to use 3.0.4 2016-08-12 13:39:07 -05:00
Kubernetes Submit Queue f2d9aaba4d Merge pull request #30276 from nhlfr/mesos-build-fix
Automatic merge from submit-queue

Avoid duplicated contrib/ sources

This commit removes a part of common.sh script which copied contrib/ sources for enabled contribs, which resulted in the duplicated files inside tarball.

Fixes #30150

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.kubernetes.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.kubernetes.io/reviews/kubernetes/kubernetes/30276)
<!-- Reviewable:end -->
2016-08-10 13:16:27 -07:00
Michal Rostecki 5a85ed7646 Avoid duplicated contrib/ sources
This commit removes a part of common.sh script which copied
contrib/ sources for enabled contribs, which resulted in the
duplicated files inside tarball.

Fixes #30150
2016-08-10 07:39:37 +02:00
Kubernetes Submit Queue bd421c9618 Merge pull request #29399 from timothysc/etcd3_scripts
Automatic merge from submit-queue

Update etcd 2.2 references to use 3.0.x

This update an assortment of etcd 2.2.X references to 3.0.4 in the code base.  

/cc @hongchaodeng 

xref: https://github.com/kubernetes/kubernetes/issues/22448

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.kubernetes.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.kubernetes.io/reviews/kubernetes/kubernetes/29399)
<!-- Reviewable:end -->
2016-08-09 11:54:06 -07:00
Kubernetes Submit Queue e4a1ca7105 Merge pull request #30101 from spxtr/push
Automatic merge from submit-queue

Allow control of updating latest-build.txt.

This will allow us to fix a race in the PR Jenkins E2E GKE job and also stop copying over from another bucket.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.kubernetes.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.kubernetes.io/reviews/kubernetes/kubernetes/30101)
<!-- Reviewable:end -->
2016-08-09 11:18:18 -07:00
Timothy St. Clair 456c43c22d Update to shift etcd 2.2 references to use 3.0.3 2016-08-09 08:51:15 -05:00
Tim Hockin 3b1407af70 Add goimports to the cross build 2016-08-05 22:58:57 -07:00
Joe Finney c738c2d8f8 Allow control of updating latest-build.txt. 2016-08-04 13:42:18 -07:00
Kubernetes Submit Queue 3e5b40d9a5 Merge pull request #29947 from ixdy/go-bindata-cross-image
Automatic merge from submit-queue

Install go-bindata in cross-build image

Another follow-up to #25584.

We need `go-bindata` to create `test/e2e/generated`, and downloading it with `go get` at build time is painful for a variety of reasons. We can just include it in the cross-build image and not worry about it, especially as it updates very infrequently.

This fixes `hack/update-generated-protobuf.sh` as well.

cc @jayunit100 @soltysh
2016-08-04 06:03:29 -07:00
Jeff Grafton b03784934d Add go-bindata to the cross-build image 2016-08-03 11:09:55 -07:00
Erick Fejta add6feb53c Use format instead of awk to extract active account/project 2016-08-03 10:46:20 -07:00
Madhusudan.C.S 31f5525f43 Revert "[Federation] Downsize the release binary distribution." 2016-08-01 23:54:09 -07:00
Madhusudan.C.S 5a3a84968b [Federation] Do not build separate binaries for federation control plane components, hyperkube should be sufficient. 2016-08-01 11:45:21 -07:00
Jess Frazelle a333cf429a update go to 1.6.3
Signed-off-by: Jess Frazelle <me@jessfraz.com>
2016-07-18 16:29:46 -04:00
Mike Danese 95e2e299a9 move kube-dns to the cluster/addons/ directory 2016-07-14 11:44:00 -07:00
Tim Hockin 9613e15801 Make releases work 2016-07-12 21:52:54 -07:00
Tim Hockin 7e5b59b08c Include almost the whole tree in the build img 2016-07-12 21:52:54 -07:00
Tim Hockin 881e21c2d5 Link _output/bin/ to real binaries for this arch
This makes followup commits easier wrt finding binaries during build.
2016-07-12 21:52:00 -07:00
Tim Hockin faeef5c4ae Use make as the main build tool
This allows us to start building real dependencies into Makefile.

Leave old hack/* scripts in place but advise to use 'make'.  There are a few
rules that call things like 'go run' or 'build/*' that I left as-is for now.
2016-07-12 21:52:00 -07:00
Zach Loafman 3edbadc8a2 Migrate to kuberetes-release-dev
This turns off the kubernetes-release-dev mirror. #28193 should have
shifted all the references over, this should ensure that it's true.
2016-07-11 13:37:10 -07:00
Lorrin Nelson 85589b406b Fix unintentional grammatical double-negative in error message when Docker not found on OS X. 2016-07-07 11:26:30 -07:00
Lorrin Nelson d0e36819a4 Fix build on OS X when GNU sed is present.
See #20147, which fixed it when system default BSD sed was present but did not account for possibiliyt of GNU sed on OS X.
2016-07-07 11:26:30 -07:00
k8s-merge-robot e232ecd201 Merge pull request #28498 from endocode/kayrus/fix_kuberoot
Automatic merge from submit-queue

build: fixed ${KUBE_ROOT} prefix for build scripts

Running `./make-build-image.sh` command inside the `build` directory doesn't work:

```sh
$ cd build
$ ./make-build-image.sh 
./../build/common.sh: line 32: hack/lib/init.sh: No such file or directory
```

This PR adds `${KUBE_ROOT}` prefix for the `source` bash function. Also I added braces to unify the code style.

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-07-07 07:33:25 -07:00
k8s-merge-robot 32ffa785d8 Merge pull request #28556 from madhusudancs/fed-gce-gci-readonly-var
Automatic merge from submit-queue

Copy FEDERATIONS_DOMAIN_MAP to a local variable since the helper script doesn't allow overwriting the existing variable.

cc @kubernetes/sig-cluster-federation 


[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-07-06 18:33:00 -07:00
Madhusudan.C.S 5f01e8d335 Give sufficient permissions to kube-version-defs file to be able to source it during build. 2016-07-06 14:41:15 -07:00
Brandon Weeks d3208c6c3f
Test for certificate error and prompt to regenerate
If the docker-machine certificates get in a bad state, the current behavior
causes an infinite loop waiting for `docker-machine env` to return. Now it will
echo the certificate error and prompt the user to regenerate.
2016-07-06 10:27:16 -07:00
Anton Khramov 745d253d72 build: fixed ${KUBE_ROOT} prefix for build scripts 2016-07-05 14:47:31 +02:00
Tim Hockin 55eaa38036 Allow non-root build to write go code. 2016-07-03 00:39:59 -07:00
Tim Hockin c3f4fb53ed Set hostname on build container 2016-07-03 00:38:32 -07:00
Tim Hockin 4959c2c76f Clean up logging in build container 2016-07-03 00:38:32 -07:00
Tim Hockin ac75bd11cf Run builds as the calling user
This means no 'sudo' is needed to copy files out.
2016-07-03 00:36:20 -07:00
Tim Hockin 8fe8ec980e Cleanup a TODO from godeps -> vendor change
This logs a false "error" message, so it's time to go.  It was needed to ensure
nobody has stale build images laying around, but that was quite a while ago, so
it's probably safe now.
2016-07-02 15:15:39 -07:00
k8s-merge-robot c3e9485dfa Merge pull request #28247 from girishkalele/skydns_godep_up
Automatic merge from submit-queue

Bump skydns godeps to latest

Update Godeps for github.com/skynetservices/skydns and miekg/dns.

Bump kubedns version to 1.6 with latest skynetservices/skydns code
    
Built kube-dns for all architectures and pushed containers to gcr.io.
2016-06-30 11:19:46 -07:00
Girish Kalele 8614be3c71 Bump kubedns version to 1.6 with latest skynetservices/skydns code
Built kube-dns for all architectures and pushed containers to gcr.io
2016-06-30 10:45:00 -07:00
David McMahon ef0c9f0c5b Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
k8s-merge-robot 3d22132a14 Merge pull request #28233 from zmerlynn/revert-revert-28172
Automatic merge from submit-queue

Revert revert of #28172

We're going to try reintroducing just the build changes in #28172, get signal off of that, and wait on re-introducing #28193. I also setup the `gke-updown` job for faster signal: https://github.com/kubernetes/test-infra/pull/239.

This reverts commit fe64293c6a.

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-29 14:09:51 -07:00
k8s-merge-robot 3a6494e9ae Merge pull request #28132 from madhusudancs/fed-kubedns-flags-nodebootstrap
Automatic merge from submit-queue

Substitute federation_domain_map parameter with its value in node bootstrap scripts.

This PR also removes the substitution code we added to the build scripts.

**Release Note**

```release-note
If you use one of the kube-dns replication controller manifest in `cluster/saltbase/salt/kube-dns`, i.e. `cluster/saltbase/salt/kube-dns/{skydns-rc.yaml.base,skydns-rc.yaml.in}`, either substitute one of `__PILLAR__FEDERATIONS__DOMAIN__MAP__` or `{{ pillar['federations_domain_map'] }}` with the corresponding federation name to domain name value or remove them if you do not support cluster federation at this time. If you plan to substitute the parameter with its value, here is an example for `{{ pillar['federations_domain_map'] }`
pillar['federations_domain_map'] = "- --federations=myfederation=federation.test"
where `myfederation` is the name of the federation and `federation.test` is the domain name registered for the federation.
```

cc @erictune  @kubernetes/sig-cluster-federation @MikeSpreitzer @luxas 

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-29 14:09:46 -07:00
Zach Loafman ae313b6c8b Revert "Revert "Merge pull request #28172 from zmerlynn/push-alt-ci""
This reverts commit fe64293c6a.
2016-06-29 11:52:07 -07:00
Zach Loafman fe64293c6a Revert "Merge pull request #28172 from zmerlynn/push-alt-ci"
This reverts commit 43437e4528, reversing
changes made to 532491aab6.
2016-06-29 07:56:48 -07:00
Zach Loafman 42827482b2 Build: Add KUBE_GCS_RELEASE_BUCKET_MIRROR option to push-ci-build.sh
And start pushing to new CI bucket as well.
2016-06-28 15:02:48 -07:00
k8s-merge-robot f3359fe134 Merge pull request #27867 from johscheuer/add-upgrade-docker-vm
Automatic merge from submit-queue

Add upgrade Docker VM

Add an Error Message to upgarde your Docker VM if needed, example output:

```bash
+++ [0622 13:19:48] No docker host is set. Checking options for setting one...
+++ [0622 13:19:49] docker-machine was found.
+++ [0622 13:19:49] A Docker host using docker-machine named 'kube-dev' is ready to go!
Can't connect to 'docker' daemon.  please fix and retry.

Possible causes:
  - On Mac OS X, DOCKER_HOST hasn't been set. You may need to:
    - Create and start your VM using docker-machine or boot2docker:
      - docker-machine create -d virtualbox --virtualbox-memory 4096 --virtualbox-cpu-count -1 kube-dev
      - boot2docker init && boot2docker start
    - Set your environment variables using:
      - eval $(docker-machine env kube-dev)
      - $(boot2docker shellinit)
  - On Linux, user isn't in 'docker' group.  Add and relogin.
    - Something like 'sudo usermod -a -G docker jscheuermann'
    - RHEL7 bug and workaround: https://bugzilla.redhat.com/show_bug.cgi?id=1119282#c8
  - On Linux, Docker daemon hasn't been started or has crashed.
!!! Error in hack/../hack/update-generated-protobuf.sh:53
  'return 1' exited with status 1
Call stack:
  1: hack/../hack/update-generated-protobuf.sh:53 main(...)
Exiting with status 1
Updating generated-protobuf FAILED

$docker info
Error response from daemon: client is newer than server (client API version: 1.24, server API version: 1.23)
```

After running `docker-machine upgrade kube-dev` everything is fine again. So we should add a hint in the error message that this can also happen.
2016-06-28 04:35:20 -07:00
Madhusudan.C.S 816c4d9e2b Substitute federation_domain_map parameter with its value in node bootstrap scripts.
This also removes the substitution code we added to the build
scripts in one of the previous commits.
2016-06-27 14:54:49 -07:00
Matt Liggett 220da9949a Remove extra double quotes in --federations.
Fixes #28059
2016-06-24 16:43:52 -07:00
k8s-merge-robot 391bcfb206 Merge pull request #27986 from madhusudancs/fed-kubedns-flags
Automatic merge from submit-queue

Parametrize the kube-dns --federations command line argument in the manifest

This parameter is later substituted with the environment variable during
the build process.

cc @kubernetes/sig-cluster-federation 

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-24 11:33:31 -07:00
Madhusudan.C.S 3ee03a5584 Remove federation_domain_map entirely if it isn't set, seems to be not replaced by empty value. 2016-06-24 09:59:17 -07:00
nikhiljindal 7be429307b Updating the Makefile and YAML files to use the updated image 2016-06-23 17:50:13 -07:00
Madhusudan.C.S f980aa2ae1 Address review comments. 2016-06-23 17:47:09 -07:00
Madhusudan.C.S c2e70a7c35 Parametrize the kube-dns --federations command line argument in the manifest.
This parameter is later substituted with the environment variable during
the build process.
2016-06-23 16:18:45 -07:00
k8s-merge-robot cfc4bc0a83 Merge pull request #27864 from johscheuer/add-docker-macos-support
Automatic merge from submit-queue

Add support for Docker for MacOS

With Docker for MacOS [public beta](https://docs.docker.com/docker-for-mac) you don't need docker-machine on MacOS to build kubernetes instead you can use docker "natively". Per Default Docker for MacOS will be installed to `/Applications/Docker.app/Contents/MacOS/Docker` so if Docker for Mac is installed we should use the native version.

I tested it locally with `15.5.0 Darwin Kernel Version 15.5.0`  and Docker version `1.12.0-rc2`
2016-06-23 12:14:23 -07:00
Johannes Scheuermann 66e595b480 Add support for Docker for MacOS 2016-06-23 00:09:01 +02:00
Johannes Scheuermann 97ac3595d3 Add upgrade Docker VM 2016-06-22 23:27:41 +02:00