Commit Graph

1125 Commits (37c253aba1f281e1708f5b638f9559d18e1d995d)

Author SHA1 Message Date
Kubernetes Submit Queue eea9045a3d Merge pull request #50052 from foxyriver/clean-install
Automatic merge from submit-queue (batch tested with PRs 49805, 50052)

remove the temporary file to make the hyperkube image smaller

Remove the temporary file after apt-get install to make the hyperkube image smaller.
2017-08-05 12:33:01 -07:00
Ming Zhao e391509f81 Update build requirements 2017-08-04 14:01:34 -07:00
Clayton Coleman c42531cc51
Add pkg/kubectl/proxy to list of pkg/kubectl/util consumers 2017-08-04 12:48:23 -04:00
Kubernetes Submit Queue d15baf69e1 Merge pull request #48969 from ixdy/update-kazel
Automatic merge from submit-queue (batch tested with PRs 50103, 49677, 49449, 43586, 48969)

Run kazel on the entire tree

**What this PR does / why we need it**: part of #47558: auto-generate `BUILD` files on the entire tree, since this is what `gazelle` does, and it'll make subsequent reviews easier if less is changing.

**Release note**:

```release-note
NONE
```
/assign
/release-note-none
2017-08-03 16:43:41 -07:00
Kubernetes Submit Queue efe3951ac0 Merge pull request #48365 from ixdy/hyperkube-base-image
Automatic merge from submit-queue (batch tested with PRs 48365, 49902, 49808, 48722, 47045)

Rebase hyperkube image on debian-hyperkube-base, based on debian-base.

**What this PR does / why we need it**: saves all of the hyperkube image dependencies in a cacheable base image, rather than downloading them for every build (which is slow and flaky).

This way, at build time, we only need to pull down the hyperkube base image and add the hyperkube binary.

I've additionally based the base image on `debian-base` instead of `debian`, though we amusing end up reinstalling a bunch of the things we removed in `debian-base`.

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

**Special notes for your reviewer**: I'm increasingly convinced that the hyperkube image is a bad pattern, as this image carries the superset of dependencies anyone might need, rather than the limited set of dependencies one needs. hyperkube really needs a proper owner.

**Release note**:

```release-note
```

/assign @timstclair @luxas @philips @nikhiljindal 
cc @kubernetes/sig-release-pr-reviews
2017-08-02 22:32:49 -07:00
foxyriver 3681aa13fe remove temporary file after apt-get install 2017-08-03 09:50:56 +08:00
Jeff Grafton 3579017b86 Run hack/update-bazel.sh to generate BUILD files 2017-08-02 18:33:25 -07:00
Jeff Grafton 12444b42c8 Update kazelcfg to kazel everything 2017-08-02 18:32:50 -07:00
Jeff Grafton 4e83c0a4ba Update repo-infra and rules_go Bazel workspace dependencies 2017-08-02 12:57:54 -07:00
Kubernetes Submit Queue 5d4d422be2 Merge pull request #49871 from xiangpengzhao/fix-make
Automatic merge from submit-queue (batch tested with PRs 49871, 49422, 49092, 49858, 48999)

Add KUBE_COVER help to "make test"

**What this PR does / why we need it**:
Add help info on `KUBE_COVER` to tell contributors how to run test with code coverage.

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

**Special notes for your reviewer**:
/sig contributor-experience

**Release note**:

```release-note
NONE
```
2017-08-01 23:35:48 -07:00
Kubernetes Submit Queue 55d314a84e Merge pull request #49892 from mikedanese/rpms
Automatic merge from submit-queue (batch tested with PRs 49870, 49416, 49872, 49892, 49908)

kubeadm: make rpm use --bootstrap-kubeconfig

Missed this in https://github.com/kubernetes/kubernetes/pull/49681
2017-08-01 19:53:04 -07:00
Jeff Grafton 9a7ffbb2ea Use --sandbox_fake_username with bazel build 2017-07-31 13:01:40 -07:00
Mike Danese a6fe42f78c kubeadm: make rpm use --bootstrap-kubeadm 2017-07-31 11:00:08 -07:00
xiangpengzhao 883c2cc67b Add KUBE_COVER help to "make test" 2017-07-31 19:49:00 +08:00
Mike Danese fe7ba9e748 kubeadm: use kubelet bootstrap instead of reimplementing 2017-07-27 09:21:24 -07:00
Kubernetes Submit Queue c29f6cb576 Merge pull request #46913 from xiangpengzhao/fix-make-help
Automatic merge from submit-queue (batch tested with PRs 46913, 48910, 48858, 47160)

Fix "make help" info

**What this PR does / why we need it**:
fixes some incorrect help info

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2017-07-25 23:00:28 -07:00
Kubernetes Submit Queue f9f43143a4 Merge pull request #46193 from cblecker/staging-godeps-dockerized
Automatic merge from submit-queue (batch tested with PRs 43443, 46193, 49071, 47252)

Run the update-staging-godeps script inside a docker container

**What this PR does / why we need it**:
This PR moves the update-staging-godeps script to run inside a docker container.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```

/assign @ixdy @sttts
2017-07-25 21:52:48 -07:00
Kubernetes Submit Queue 66a1ae38ea Merge pull request #43443 from irfanurrehman/kubefed-doc-1
Automatic merge from submit-queue (batch tested with PRs 43443, 46193, 49071, 47252)

[Federation][Kubefed] Support reference document autogeneration for kubefed

This PR is needed to address the documentation issue https://github.com/kubernetes/kubernetes.github.io/issues/2888

Apart from the code auto generation have updated some descriptions for consistency.

**Special notes for your reviewer**:
@kubernetes/sig-federation-misc 
cc @madhusudancs @csbell  

**Release note**:

```NONE
```
2017-07-25 21:52:45 -07:00
Jeff Grafton 66b9ae7cd8 Rebase hyperkube image on debian-hyperkube-base, based on debian-base. 2017-07-25 15:03:38 -07:00
Christoph Blecker 2ee8983daf
Dockerize update-staging-godeps 2017-07-25 12:26:57 -07:00
Christoph Blecker d3b838b608
rsync git directories into kube-build 2017-07-25 12:11:06 -07:00
Christoph Blecker e89ab20ceb
Add jq and remove godep from kube-cross 2017-07-25 12:11:06 -07:00
xiangpengzhao e042a42270 Fix make help 2017-07-25 11:11:07 +08:00
Michael Taufen 38aee0464d Providing kubeconfig file is now the switch for standalone mode
Replaces use of --api-servers with --kubeconfig in Kubelet args across
the turnup scripts. In many cases this involves generating a kubeconfig
file for the Kubelet and placing it in the correct location on the node.
2017-07-24 11:03:00 -07:00
Kubernetes Submit Queue 396207b188 Merge pull request #48565 from jmillikin-stripe/support-external-deps
Automatic merge from submit-queue (batch tested with PRs 48565, 49172)

Use $(location) to find generated output paths.

Along with the build-infra PR https://github.com/kubernetes/repo-infra/pull/19, this allows Kubernetes binaries (e.g. hyperkube) to be built as external dependencies in other Bazel projects.

```release-note
NONE
```
2017-07-21 01:13:17 -07:00
Dr. Stefan Schimanski edfbb9aa64 Fixup go2idl references 2017-07-20 07:41:37 +02:00
Jeff Grafton 64b0c9ec47 Switch from gazel to kazel, and move kazelcfg into build/root 2017-07-18 12:48:51 -07:00
Jeff Grafton 9bf4c4962d Always use gcr.io/google_containers for side-loaded Docker images 2017-07-17 16:46:02 -07:00
Kubernetes Submit Queue cab07f3af0 Merge pull request #46893 from yguo0905/image-spec
Automatic merge from submit-queue (batch tested with PRs 48890, 46893, 48872, 48896)

Support customized system spec in the node conformance test and create the GKE system spec

ref: https://github.com/kubernetes/kubernetes/issues/46891

- System specs are located in `test/e2e_node/system/specs`. Created one for validating GKE images in `test/e2e_node/system/specs/gke.yaml`.
- `--image-spec-name` can be used to specify a system spec in node e2e and conformance tests. This option maps to `SYSTEM_SPEC_NAME` in a test properties file, which is the user facing configuration. So, users can specify `SYSTEM_SPEC_NAME=gke` to run the image validation using the GKE system spec.
- If `SYSTEM_SPEC_NAME` is unspecified, the default spec (`system.DefaultSysSpec`) will be used.
- We can also use `make test-e2e-node SYSTEM_SPEC_NAME=gke` to run tests using GKE image spec.

**Release note**:
`None`
2017-07-14 16:49:52 -07:00
Kubernetes Submit Queue 048b0600f9 Merge pull request #48842 from enisoc/quick-verify
Automatic merge from submit-queue

Add quick-verify make rule.

This is useful for humans to run to catch obvious problems before
pushing commits and waiting for CI to run verify checks.

Quick mode only runs a whitelist of verify scripts that are reasonably fast.
I set the initial bar arbitrarily at <10s each on my workstation.

The whole set runs in <30s for me, assuming I had already run `make` and
`hack/godep-restore.sh`. This is compared to the full `make verify`
which takes [I don't know how long because I gave up after 45min].
2017-07-14 14:38:28 -07:00
John Millikin 4d84968413
Use $(location) to find generated output paths.
Along with the build-infra PR
https://github.com/kubernetes/repo-infra/pull/19, this allows Kubernetes
binaries (e.g. hyperkube) to be build as external dependencies in other
Bazel projects.
2017-07-14 14:36:23 -07:00
Yang Guo 22c9e23202 Supports customized system spec in the node conformance test and creates the GKE system spec 2017-07-14 09:39:19 -07:00
Mike Danese 8744db432c add make bazel-test-integration target 2017-07-12 17:34:55 -07:00
Mike Danese 8e23c656ca add testmain setup func to the integration framework 2017-07-12 17:34:55 -07:00
Anthony Yeh db869a6b0b
Add quick-verify make rule.
This is useful for humans to run to catch obvious problems before
pushing commits and waiting for CI to run verify checks.

Quick mode only runs a whitelist of verify scripts that are reasonably fast.
I set the initial bar arbitrarily at <10s each on my workstation.

The whole set runs in <30s for me, assuming I had already run `make` and
`hack/godep-restore.sh`. This is compared to the full `make verify`
which takes [I don't know how long because I gave up after 45min].
2017-07-12 16:29:31 -07:00
Phillip Wittrock 2b5b4d26ae Move kubectl e2e tests to their own directory and prefix the test names with [sig-cli] 2017-07-12 09:42:06 -07:00
Kubernetes Submit Queue 33f3332a44 Merge pull request #48661 from mikedanese/bump-docker
Automatic merge from submit-queue (batch tested with PRs 46865, 48661, 48598, 48658, 48614)

bump rules_docker to pickup performance improvements
2017-07-12 03:02:17 -07:00
Dr. Stefan Schimanski 1f40e75aa0 Workaround docker-wait freeze with 17.06.0 2017-07-11 16:22:53 +02:00
Mike Danese afa633d4bc bump rules_docker to pickup performance improvements 2017-07-08 13:15:01 +02:00
Lucas Käldström 8046bafca5
kubeadm: Move app/master into a separate phase directory 2017-07-04 12:30:42 +03:00
Kubernetes Submit Queue a7a8412447 Merge pull request #47951 from ixdy/bazel-busybox-image
Automatic merge from submit-queue (batch tested with PRs 47619, 47951, 46260, 48277)

bazel: update rules_docker and use official busybox base image

**What this PR does / why we need it**: Follow-up of #46820 now that https://github.com/bazelbuild/rules_docker/issues/40 is fixed. Now all images built by bazel should have the same dependencies as those built with the dockerized build system.
We can also stop worrying about updating our .deb dependency.

**Release note**:

```release-note
NONE
```
/release-note-none
/assign @mikedanese @spxtr
2017-06-29 14:05:26 -07:00
Kubernetes Submit Queue 51c43edc65 Merge pull request #48042 from luxas/update_kubeadm_deb
Automatic merge from submit-queue (batch tested with PRs 48139, 48042, 47645, 48054, 48003)

Reflect kubeadm-specific kubelet changes in the bazel debs

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

Sync this file with the one in kubernetes/release

cc @pipejakob @mikedanese @ixdy 

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

Fixes: https://github.com/kubernetes/kubeadm/issues/321

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2017-06-27 14:08:09 -07:00
Jeff Grafton 211554a37f bazel: update rules_docker and use official busybox base image 2017-06-26 14:29:58 -07:00
Lucas Käldström c257eb358f
Reflect kubeadm-specific kubelet changes in the bazel debs 2017-06-26 09:29:27 +03:00
Haoran Wang 76251ea782 Move the workload e2e tests to it's own package 2017-06-26 09:56:20 +08:00
Jeff Grafton a29d364fff Save docker image tarfiles in _output/release-images/$arch/.
Additionally, add option KUBE_BUILD_HYPERKUBE to build hyperkube
outside of the release flow.
2017-06-23 13:58:35 -07:00
Kubernetes Submit Queue e4af9dccb0 Merge pull request #46923 from dims/nuke-wrapper-go-flags
Automatic merge from submit-queue (batch tested with PRs 47921, 45984, 46829, 46896, 46923)

Remove unnecessary wrapper flags

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

Drop KUBE_GOFLAGS, KUBE_GOGCFLAGS, KUBE_GOLDFLAGS references
from the build infrastructure

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2017-06-22 20:26:29 -07:00
Kubernetes Submit Queue d58b238b62 Merge pull request #46896 from dims/add-git-branch-to-short-hash
Automatic merge from submit-queue (batch tested with PRs 47921, 45984, 46829, 46896, 46923)

Add git branch to make build short hash unique

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

KUBE_ROOT_HASH depends just on the host name and
directory path. So when working with branches, it could lead
to some confusion since the hash is the same even when
you switch from branch to branch. Let us use the git branch
information when we compute the short hash

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

Fixes #1801

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2017-06-22 20:26:26 -07:00
Kubernetes Submit Queue dafe578377 Merge pull request #45984 from cblecker/hack-vet
Automatic merge from submit-queue (batch tested with PRs 47921, 45984, 46829, 46896, 46923)

Move govet verify into rest of verify*-.sh scripts

**What this PR does / why we need it**:
Instead of having two govet scripts, consolidate them to into one and have both the Makefile and verify.sh scripts target the same script. This also will allow proper syntax highlighting and timing when the vet script is run as part of `make verify`.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes https://github.com/kubernetes/test-infra/issues/2725

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```

/cc @fejta @rmmh
2017-06-22 20:26:21 -07:00
Chao Xu bad65b4c95 Don't revert, necessary change to make helpers to include k8s.io/api
Don't revert, change boundingdirs in Makefile for deepcopy-gen

manually fix pkg/client/clientset_generated/clientset/typed/core/v1/pod_expansion.go because external policy types are moved now
2017-06-22 11:30:43 -07:00
Jeff Grafton 51a8f3c60a Update debian-iptables-amd64 for bazel build 2017-06-21 14:08:13 -07:00
Christoph Blecker 97783f9093
Run hack/verify-govet.sh as part of verify make target
This commit ensures that:
- go vet will be run as part of the make verify target
- the vet make-rule script won't be run directly, as generated_files won't be run in that case
- that go vet errors show up in the build log with a start time, finish time, and SUCCESS/FAILED message as part of the verify make rule script
2017-06-21 11:10:25 -07:00
Jeff Grafton 2098cb8463 debian-base: don't remove libcap2 2017-06-15 14:11:43 -07:00
Kubernetes Submit Queue 54f628ad79 Merge pull request #47375 from ixdy/debian-iptables-v8
Automatic merge from submit-queue (batch tested with PRs 46678, 45545, 47375)

bazel: update debian-iptables-amd64 digest

**What this PR does / why we need it**: upstream debian has fixed several CVEs recently, so we should apply those fixes:
* CVE-2017-2616
* CVE-2017-6512

x-ref #47386

**Special notes for your reviewer**: nothing has been pushed yet, so this will likely fail many of the tests.

Do you think these version numbers make sense? We also need to fix debian-iptables v5, and I don't know what to do there. (v5.1?)

**Release note**:

```release-note
NONE
```
/assign @timstclair
2017-06-12 20:32:43 -07:00
Jeff Grafton 901fba45e0 Bazel: use new debian-iptables-amd64 image 2017-06-12 16:42:56 -07:00
Jeff Grafton 0ac28c4b4c Add make rule to push debian-base image 2017-06-12 16:42:35 -07:00
Jeff Grafton 6b20f50142 Don't delete docker image if building a release 2017-06-12 12:06:22 -07:00
Jeff Grafton 5aa25f8309 Bump bazelbuild/rules_go and kubernetes/repo-infra dependencies 2017-06-08 14:59:55 -07:00
Kubernetes Submit Queue 502be9f906 Merge pull request #46401 from mikedanese/deprecate
Automatic merge from submit-queue

DO TODO: remove this alias after 2017-05-22
2017-06-08 13:50:49 -07:00
Davanum Srinivas 823e26ddbf Remove unnecessary wrapper flags
Drop KUBE_GOFLAGS, KUBE_GOGCFLAGS, KUBE_GOLDFLAGS references
from the build infrastructure. There are some usages still
for KUBE_GOFLAGS, so we should print a deprecation message
until all those are fixed. If both KUBE_GOFLAGS and GOFLAGS
are just then we just bail out.
2017-06-07 12:31:01 -04:00
Irfan Ur Rehman bc9852fca4 [Federation][Kubefed] Support documentation for kubefed and its sub commands 2017-06-03 17:11:36 +05:30
Davanum Srinivas 733bb2c31d Add git branch to make build short hash unique
KUBE_ROOT_HASH depends just on the host name and
directory path. So when working with branches, it could lead
to some confusion since the hash is the same even when
you switch from branch to branch. Let us use the git branch
information when we compute the short hash

Fixes #1801
2017-06-02 21:18:00 -04:00
Jeff Grafton 052e4848f9 bazel: base kube-proxy image on debian-iptables instead of busybox 2017-06-01 19:27:15 -07:00
Kubernetes Submit Queue 47ba1a6c76 Merge pull request #46419 from bruceauyeung/k8s-branch-fix-make-release-doesnt-respect-go-build-flags
Automatic merge from submit-queue (batch tested with PRs 44061, 46614, 46419, 46628, 46134)

fix make release/quick-release doesn't respect go build flags

**What this PR does / why we need it**:
k8s build process run `make cross` in a docker container, so we have to pass make command line variables to docker container, then  each environment variable in docker container will be transformed into a makefile variable with the same name and value.
with this PR, `make release GOFLAGS=xx GOLDFLAGS=xx GOGCFLAGS=xx`, `make quick-release GOFLAGS=xx GOLDFLAGS=xx GOGCFLAGS=xx` will work as expected

**Which issue this PR fixes**: 
fixes #46274
2017-05-30 18:34:59 -07:00
Christoph Blecker f3d3b0b092
Bump CNI base image to go1.7.6 2017-05-29 09:38:16 -07:00
Jeff Grafton 122499621b Bazel: mount tmpfs on /tmp 2017-05-26 17:02:18 -07:00
Kubernetes Submit Queue 99eee154f6 Merge pull request #46269 from xiangpengzhao/fix-make-helpinfo
Automatic merge from submit-queue

Update examples in Makefile with WHAT arguments changed.

**What this PR does / why we need it**:
The examples `make check WHAT` and `make vet WHAT` in Makefile don't work anymore. This PR updates them.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #
xref: https://github.com/kubernetes/community/issues/327, https://github.com/kubernetes/community/pull/296, https://github.com/kubernetes/kubernetes/pull/39433

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2017-05-26 01:33:30 -07:00
Wojciech Tyczynski 97b6701ea1 Get rid of patched version of Go 1.8.1 2017-05-25 20:05:34 +02:00
Wojciech Tyczynski 3e8c27af34 Bump Go version to 1.8.3 2017-05-25 20:05:34 +02:00
bruceauyeung 396695af15 fix make release/quick-release doesn't respect go build flags 2017-05-25 17:05:09 +08:00
Mike Danese 6f92f51d60 DO TODO: remove this alias after 2017-05-22 2017-05-24 20:03:14 -07:00
xiangpengzhao a320c94cc3
Update examples in Makefile with WHAT arguments changed. 2017-05-23 12:36:45 +08:00
Jeffrey Regan 5a9b06b717 **What this PR does / why we need it**:
Remove kubectl's dependence on pkg/api/helper, as part of
broader effort to isolate kubectl from the rest of k8s.
In this case, the code becomes private to kubectl; nobody else uses it.

**Which issue this PR fixes**

Part of a series of PRs to address kubernetes/community#598

**Special notes for your reviewer**:

**Release note**:
```release-note
NONE
```
2017-05-21 20:44:21 -07:00
Kubernetes Submit Queue 249551461e Merge pull request #45855 from mikedanese/out-of-root
Automatic merge from submit-queue (batch tested with PRs 45582, 45855)

move build related files out of the root directory

Turn the files in root to symlinks into build/root/

alternative to OWNERS changes. what do you guys think of this?
2017-05-18 00:56:47 -07:00
Kubernetes Submit Queue e7b1814863 Merge pull request #43578 from vsiddharth/pause-container
Automatic merge from submit-queue

Improve pause-container warning message

Signed-off-by: Vinothkumar Siddharth <sidvin@amazon.com>



**What this PR does / why we need it**:
This just improves the warning message currently emitted by pause

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

**Special notes for your reviewer**:

**Release note**:

```release-note
```
2017-05-17 22:56:20 -07:00
Vinothkumar Siddharth 9fa5e857e5 Fix file semantics
Signed-off-by: Vinothkumar Siddharth <sidvin@amazon.com>
2017-05-17 10:34:20 -07:00
Kubernetes Submit Queue b059116a69 Merge pull request #45879 from wojtek-t/workaround_go_performance_regression
Automatic merge from submit-queue (batch tested with PRs 45884, 45879, 45912, 45444, 45874)

Use patched version of Go 1.8.1 to eliminate performance regression

Ref https://github.com/kubernetes/kubernetes/issues/45216

Until this is solved in Go (it's still unclear whether there will be patch release with the fix or not), this is solving the problem on our side.
2017-05-16 22:18:52 -07:00
Wojciech Tyczynski 3a1bb09ea9 Patch golang 2017-05-16 21:29:22 +02:00
Mike Danese c67e4d1df0 plumb through version 2017-05-16 09:17:30 -07:00
Mike Danese fd9c017d2d bazel: build rpms to match the debs that we output 2017-05-16 09:17:30 -07:00
Mike Danese 4bf2ef646f move build related files out of the root directory 2017-05-15 15:53:54 -07:00
Jeffrey Regan 7abff879d7 Introduce visibility rules to kubernetes code.
**What this PR does / why we need it**:

Visibility rules allow dependency control.  The rules currently in
place make all targets public, to override the default state of
private.  This PR removes public visibility from kubectl code.  It
uses specially named pacakge groups to identify "bad" dependencies on
kubectl code for later refactoring or removal.

**Which issue this PR fixes**

First in a series of PRs to address kubernetes/community#598

**Release note**:
```release-note
NONE
```
2017-05-15 12:50:56 -07:00
David McMahon b82b3c0632 Only tag release containers if the name is different. 2017-05-04 18:43:23 -07:00
Jeff Grafton e231d4280b Replace git_repository with http_archive and use ixdy's fork of bazel tools for pkg_tar 2017-05-03 10:13:06 -07:00
Jeff Grafton 45a6455ac7 Use new docker_bundle rule instead of ixdy's custom docker_build rule 2017-05-02 16:30:24 -07:00
Kubernetes Submit Queue 46971d6d21 Merge pull request #45120 from ixdy/bazel-push-build
Automatic merge from submit-queue

Also upload debs to bin/$OS/$ARCH

**What this PR does / why we need it**: the bazel-built debs are used by the kubeadm e2e tests, so upload them too.

https://github.com/kubernetes/kubernetes/pull/44591#issuecomment-298084453

/assign @pipejakob 
/cc @mikedanese @spxtr 

**Release note**:

```release-note
NONE
```
2017-05-02 15:40:35 -07:00
Jeff Grafton 37eb292bc0 Update bazel build to dockerize cloud-controller-manager 2017-05-02 12:07:13 -07:00
Kubernetes Submit Queue 3791abd628 Merge pull request #44981 from ixdy/version-docker-tag
Automatic merge from submit-queue

Use munged semantic version for side-loaded docker tag

**What this PR does / why we need it**: rather than using the md5sum of the dockerized binary for each side-loaded docker image, use the semantic version (with `+`s replaced with `_`s) for the side-loaded docker images.

The use of the md5sum for the docker tag dates to #6326 2 years ago. I'm not sure why that was chosen, short of it being fairly unique.

My main motivation for changing this is that it makes building the docker images using Bazel's docker rules easier, since the semantic version doesn't depend on the build output.

An added benefit is that the list of images on a running kubernetes cluster is also more straightfoward; rather than a list of opaque, meaningless hexadecimal strings, you get something that indicates the provenance of the image. It'd also be clearer that all of the images came from the same build.

I was able to start a cluster with this change on GCE using both `make quick-release` and `make bazel-release`.

Note that this change has no effect on the tag that's pushed to gcr.io during releases; that's still controlled via `KUBE_IMAGE_DOCKER_TAG`, though we may want to merge this functionality at some point.

@kubernetes/sig-node-pr-reviews is there any reason to stick with using the md5sum strategy? @dchen1107 do you remember why we went with md5sums originally?
cc @spxtr @mikedanese 

**Release note**:

```release-note
```
2017-05-01 19:48:18 -07:00
Kubernetes Submit Queue 03c9c48c81 Merge pull request #44062 from ixdy/semver-regexes
Automatic merge from submit-queue

Support arbitrary alphanumeric strings as prerelease identifiers

**What this PR does / why we need it**: this is basically an extension of #43642, but supports more general prerelease identifiers, per the spec at http://semver.org/#spec-item-9.

These regular expressions are still a bit more restrictive than the SemVer spec allows (we disallow hyphens, and we require the format `-foo.N` instead of arbitrary `-foo.X.bar.Y.bazZ`), but this should support our needs without changing too much more logic or breaking other assumptions.

**Release note**:

```release-note
NONE
```
2017-05-01 12:54:44 -07:00
Lucas Käldström 4ee9d047fd
Create a docker image for the cloud controller manager 2017-04-30 10:28:56 +03:00
Jeff Grafton f0e0a27f3e Also upload debs to bin/$OS/$ARCH 2017-04-28 13:25:12 -07:00
Timothy St. Clair 01366851ea Prune k8petstore from examples and e2es per discussion on sig-testing 2017-04-28 11:49:23 -05:00
Jeff Grafton f73e3cbb30 Use munged semantic version for side-loaded docker tag 2017-04-27 15:05:40 -07:00
Kubernetes Submit Queue 14a557b1a2 Merge pull request #44346 from mikedanese/build-static
Automatic merge from submit-queue (batch tested with PRs 41106, 44346, 44929, 44979, 45027)

bazel: statically link dockerized components
2017-04-27 12:11:00 -07:00
Kubernetes Submit Queue 549bd4b7d5 Merge pull request #44591 from ixdy/bazel-push-build
Automatic merge from submit-queue (batch tested with PRs 44591, 44549)

Update repo-infra bazel dependency and use new gcs_upload rule

This PR provides similar functionality to push-build.sh entirely within Bazel rules (though it relies on gsutil).

It's an alternative to #44306.

Depends on https://github.com/kubernetes/repo-infra/pull/13.

**Release note**:

```release-note
NONE
```
2017-04-27 10:54:56 -07:00
Lucas Käldström 6b5d5371d9
Bump to go1.8.1 and remove the edge GOROOT 2017-04-25 23:45:47 +03:00
Jeff Grafton a9bfae8ec3 Update repo-infra bazel dependency and use new gcs_upload rule 2017-04-25 13:45:28 -07:00
Piotr Szczesniak 113f120e29 Removed fluentd-gcp manifest pod 2017-04-20 15:53:24 +02:00
Christoph Blecker 89500f149a
Add hack/lib to kubernetes release tarball 2017-04-19 15:33:43 -07:00
StevenYCChou 7985e2c374 fix typo in build/common.sh 2017-04-16 19:22:30 -04:00
Kubernetes Submit Queue 515b089e9f Merge pull request #44364 from mikedanese/delete-unbuilding
Automatic merge from submit-queue

bazel: delete deb that doesn't build

cmd/kube-aggregator is long gone.
2017-04-14 17:22:50 -07:00
Mike Danese 3757e8bb5c bazel: statically link dockerized components
and remove libc from docker images when it's not needed.
2017-04-14 15:51:54 -07:00
Jeff Grafton 73a7e348c0 Add a few missing binaries to the Bazel SERVER_TARGETS list 2017-04-14 13:37:41 -07:00
Mike Danese 5b12a2abb9 have multiple BUILD files in vendor/ 2017-04-14 10:36:15 -07:00
Mike Danese 82089af496 bazel: delete deb that doesn't build 2017-04-11 14:56:52 -07:00
Manjunath A Kumatagi 47b0aee273 Bump K8S_GOLANG_EDGE_VERSION to 1.8.1 2017-04-07 14:51:18 -04:00
Jeff Grafton 37b07dfe62 Support arbitrary alphanumeric strings as prerelease identifiers 2017-04-04 16:30:54 -07:00
Kubernetes Submit Queue 10e9ef7189 Merge pull request #43817 from spxtr/owners
Automatic merge from submit-queue

Update my OWNERS entries.

Not sure why I was set as a reviewer for apimachinery and apiserver stuff. Adding myself to build/.
**Release note**:
```release-note
NONE
```
2017-03-31 11:29:29 -07:00
Kubernetes Submit Queue d1dd73e9f6 Merge pull request #42668 from ixdy/build-silence-docker-rmi
Automatic merge from submit-queue (batch tested with PRs 42379, 42668, 42876, 41473, 43260)

Silence error messages from the docker rmi call we expect to fail

**What this PR does / why we need it**: when we removed `docker tag -f` in #34361 we added a bunch of `docker rmi` calls to preserve behavior for older docker versions. That step is usually a no-op, however, and results in confusing messages like
```
Tagging docker image gcr.io/google_containers/kube-proxy:c8d0b2e7a06b451117a8ac58fc3bb3d3 as gcr.io/kubernetes-release-test/kube-proxy-amd64:v1.5.4
Error response from daemon: No such image: gcr.io/kubernetes-release-test/kube-proxy-amd64:v1.5.4
```

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

**Special notes for your reviewer**: I could probably remove the `docker rmi` calls entirely, though I don't know if folks are still using docker < 1.10. (I think Jenkins still has 1.9.1.)

**Release note**:

```release-note
NONE
```

cc @jessfraz
2017-03-30 23:36:24 -07:00
Joe Finney 896db18f28 Update my OWNERS entries. 2017-03-29 10:13:21 -07:00
Manjunath A Kumatagi 52f9875c0b Fix docker volume selinux issue 2017-03-24 22:37:29 -04:00
Jeff Grafton e39978e6bf Update a few regex patterns to support release candidates 2017-03-24 14:38:04 -07:00
Vinothkumar Siddharth ec45a47f93 Improve pause-container warning message
Signed-off-by: Vinothkumar Siddharth <sidvin@amazon.com>
2017-03-23 10:17:42 -07:00
Dan Gillespie 04c20f441f bump Kubernetes packaged CNI to v0.5.1 2017-03-22 12:47:31 -07:00
Clayton Coleman 7d413fb53b
protobuf generation modifies types.go, which needs to be copied out
This was broken when we moved to the build container, but no one
noticed. We also likely have another bug, which is that protobuf should
hard fail when we have fields that aren't assigned a tag.
2017-03-17 00:29:13 -04:00
Jeff Grafton 836b59962a Silence error messages from docker rmi calls we expect to fail 2017-03-07 12:49:57 -08:00
Kubernetes Submit Queue 79883dc48d Merge pull request #42070 from luxas/remove_kube_discovery
Automatic merge from submit-queue

Remove the kube-discovery binary from the tree

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

kube-discovery was a temporary solution to implementing proposal: https://github.com/kubernetes/community/blob/master/contributors/design-proposals/bootstrap-discovery.md

However, this functionality is now gonna be implemented in the core for v1.6 and will fully replace kube-discovery:
 - https://github.com/kubernetes/kubernetes/pull/36101 
 - https://github.com/kubernetes/kubernetes/pull/41281
 - https://github.com/kubernetes/kubernetes/pull/41417

So due to that `kube-discovery` isn't used in any v1.6 code, it should be removed.
The image `gcr.io/google_containers/kube-discovery-${ARCH}:1.0` should and will continue to exist so kubeadm <= v1.5 continues to work.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
Remove cmd/kube-discovery from the tree since it's not necessary anymore
```
@jbeda @dgoodwin @mikedanese @dmmcquay @lukemarsden @errordeveloper @pires
2017-03-04 12:58:23 -08:00
Kubernetes Submit Queue d1f9921449 Merge pull request #42090 from timstclair/kube-proxy
Automatic merge from submit-queue (batch tested with PRs 41921, 41695, 42139, 42090, 41949)

Rebase kube-proxy and debian-iptables on debian-base

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

Slimmer images are generally preferred, but it's a minor optimization. The larger advantage to this change is the reduced attack surface from removing unnecessary packages, and easier maintenance from sharing a common base image.

Size comparison:
```
gcr.io/google-containers/debian-iptables-amd64:v6         127.9 MB
gcr.io/google-containers/debian-iptables-amd64:v7          45.1 MB
```

**Which issue this PR fixes** https://github.com/kubernetes/kubernetes/issues/40248

**Special notes for your reviewer**:
Tested by deploying to a private test cluster and running the e2es. This will fail the jenkins builds until I push the `gcr.io/google-containers/debian-iptables-amd64:v7` image, which I will do once I have an LGTM.

**Release note**:
```release-note
Clean up the kube-proxy container image by removing unnecessary packages and files.
```

/cc @luxas @ixdy
2017-03-01 04:10:06 -08:00
Mike Danese 33ea2d11fc remove trusty GCE kube-up.sh 2017-02-28 10:08:17 -08:00
Madhusudan.C.S 8de2f05f63 Move push-federation-images.sh to federation and implement similar functionality in jenkins build directory for presubmits. 2017-02-27 17:54:37 -08:00
Tim St. Clair 8a5314fb6d
Rebase kube-proxy and debian-iptables on debian-base 2017-02-27 15:48:23 -08:00
Kubernetes Submit Queue 5b5bb97463 Merge pull request #41915 from timstclair/debian-base
Automatic merge from submit-queue (batch tested with PRs 35408, 41915, 41992, 41964, 41925)

Standard Debian base image

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

The goal of this new image is to provide a standard base image for Kubernetes system images that require substantial external dependencies (e.g. kube-proxy and fluentd). The image is significantly reduced from the standard `debian:jessie-slim` image (40 MB vs 80 MB), and removes a number of unnecessary dependencies such as e2fsprogs, systemd, and sysv-rc. In the future we may consider further reducing it to the bare minimum to run the package manager, with the requirement that images based on it add all the dependencies they need.

I tested this by rebasing kube-proxy on this image and running the e2e tests. I'm targeting 1.6 for rebasing kube-proxy & fluentd on this.

For the rational behind basing on Debian, see https://github.com/kubernetes/kubernetes/issues/40248#issuecomment-280781931

Largely based off [debian-iptables](https://github.com/kubernetes/kubernetes/tree/master/build/debian-iptables/) and [ubuntu-slim](https://github.com/kubernetes/ingress/tree/master/images/ubuntu-slim).

**Which issue this PR fixes**
https://github.com/kubernetes/kubernetes/issues/40248

**Special notes for your reviewer**:
@luxas Please review the qemu cross-build logic in the Makefile. It's copied from [debian-iptables](https://github.com/kubernetes/kubernetes/blob/master/build/debian-iptables/Makefile), but I'm not sure exactly what it's doing.

/cc @jessfraz @dlorenc
2017-02-26 18:07:54 -08:00
Lucas Käldström c4e989f51c
Remove the kube-discovery binary from the tree 2017-02-24 21:23:26 +02:00
Tim St. Clair ef950c48de
Standard Debian base image 2017-02-23 16:15:09 -08:00
Wojciech Tyczynski a7d2136ce1 Update etcd to 3.0.17 in integration tests 2017-02-23 10:08:50 +01:00
Christoph Blecker c3de31c8d0
Bump golang versions to 1.7.5 2017-02-21 13:02:16 -08:00
deads2k ab0a57760e remove kube-aggregator from bazel until we can build it 2017-02-14 14:57:52 -05:00
deads2k 1d40c3ff76 update scripts for new kube-aggregator location 2017-02-14 14:16:59 -05:00
Kubernetes Submit Queue 17a78d941e Merge pull request #40561 from ixdy/bazel-src-tarball
Automatic merge from submit-queue (batch tested with PRs 40124, 39216, 40561, 40595, 40735)

Include a dummy src tarball unless PACKAGE_SRC=true is set

**What this PR does / why we need it**: alternative to #40546. I think this will keep the cluster startup scripts happy.

**Release note**:

```release-note
NONE
```
2017-02-01 12:32:48 -08:00
Mike Danese e61ed4414e add myself to build and test approvers 2017-01-31 11:13:09 -08:00
Jeff Grafton 89a66e250b Include a dummy src tarball unless PACKAGE_SRC=true is set 2017-01-30 16:53:13 -08:00
Kubernetes Submit Queue 3897fc00db Merge pull request #38926 from luxas/update_cross_go18
Automatic merge from submit-queue

Improve the multiarch situation; armel => armhf; reenable pcc64le; remove the patched golang

**What this PR does / why we need it**: 
 - Improves the multiarch situation as described in #38067 
 - Tries to bump to go1.8 for arm (and later enable ppc64le)
 - GOARM 6 => GOARM 7
 - Remove the golang 1.7 patch
 - armel => armhf
 - Bump QEMU version to v2.7.0

**Release note**:

```release-note
Improve the ARM builds and make hyperkube on ARM working again by upgrading the Go version for ARM to go1.8beta2
```

@kubernetes/sig-testing-misc @jessfraz @ixdy @jbeda @david-mcmahon @pwittrock
2017-01-28 03:51:19 -08:00
Lucas Käldström 914824cc09
Update go version to go1.8rc2 and fix the addon-manager changelog 2017-01-27 22:44:18 +02:00
Lucas Käldström 84006601a0
Upgrade go version in Makefiles to 1.7, use qemu 2.7, armel => armhf and goarm=6 => goarm=7 and use go 1.7.4 2017-01-27 20:04:24 +02:00
Lucas Käldström 04bc44acf9
Remove the patched golang from the kube-cross image and upgrade to go1.8rc1 for arm and ppc64le instead. Reenable the ppc64le builds 2017-01-27 20:03:37 +02:00
Robert Bailey a6c65f3035 When calling chown, use : instead of . to separate the user and
group for cross platform compatibility.
2017-01-26 13:39:06 -08:00
Kubernetes Submit Queue d5d9a594d8 Merge pull request #39515 from xilabao/fix-rsync-err
Automatic merge from submit-queue

fix rsync err when make release

fix #39513
2017-01-24 19:46:29 -08:00
xilabao f6ae588207 fix rsync err when make release 2017-01-24 10:08:09 +08:00
Jeff Grafton 2f529bd3bf bazel: save git version in kubernetes.tar.gz 2017-01-23 17:28:08 -08:00
Kubernetes Submit Queue a374d277a6 Merge pull request #40120 from ixdy/bazel-release-tars
Automatic merge from submit-queue

bazel: add a config setting to control embedding kubernetes-src.tar.gz

**What this PR does / why we need it**: currently a change anywhere in the tree will cause `kubernetes-src.tar.gz` to need to be regenerated, and thus also the server and node tarballs. All of these operations are slow, so for the sake of developer productivity, only include `kubernetes-src.tar.gz` when we need it (e.g. if we were doing a real release).

I don't have metrics on how much of an effect this has, but I expect it should help incremental builds, especially those that don't affect any node/server targets.

To embed the srcs tarball with this change, you'd run
```console
bazel build //build/release-tars --define EMBED_LICENSE_TARGETS=true
```

**Release note**:

```release-note
NONE
```
2017-01-20 16:19:09 -08:00
Kubernetes Submit Queue 4f8f6006cf Merge pull request #36853 from verb/init
Automatic merge from submit-queue (batch tested with PRs 39446, 40023, 36853)

Add SIGCHLD handler to pause container

**What this PR does / why we need it**: This allows pause to reap orphaned zombies in a shared PID namespace. (#1615)

**Special notes for your reviewer**: I plan to discuss this with SIG Node to ensure compatibility with future runtimes.

**Release note**: This will have no effect until shared PID namespace is enabled, so recommend release-note-none.

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.
2017-01-19 18:53:49 -08:00
Lee Verberne 68262ad5f4 Remove SIGKILL handler from pause.c 2017-01-19 22:50:21 +00:00
Garrett Rodrigues ad1e5e98c2 Updated top level owners file to match new format 2017-01-19 11:29:16 -08:00
Jeff Grafton 16aa59c34a bazel: add a config setting to control embedding kubernetes-src.tar.gz 2017-01-18 17:07:55 -08:00
Jeff Grafton a8c528dccd add a TODO 2017-01-18 16:40:35 -08:00
Jeff Grafton bc4b6ac397 Build release tarballs in bazel and add `make bazel-release` rule 2017-01-13 16:17:44 -08:00
Jeff Grafton 9beb13aba6 Refactor docker bazel rules and tag docker images 2017-01-13 14:23:31 -08:00
Jeff Grafton c0e972d4dd Reorder package_kube_manifests_tarball a bit to make it more readable 2017-01-13 14:16:56 -08:00
Jeff Grafton 0fc56ea0c8 Wait until kubernetes-src.tar.gz is build before building node/server. 2017-01-11 15:55:44 -08:00
Jeff Grafton 39217af9e9 Update amd64 kube-proxy base image to debian-iptables-amd64:v5 2017-01-11 00:49:13 -08:00
Jeff Grafton 9172bf63e5 Update to debian-iptables-*:v5 2017-01-10 16:23:01 -08:00
Jeff Grafton 19aafd291c Always --pull in docker build to ensure recent base images 2017-01-10 16:21:05 -08:00
deads2k 453651cbfc rename kubernetes-discovery to kube-aggregator 2017-01-10 12:27:42 -05:00
Tim Hockin 52c07683ef Merge pull request #39448 from bowei/remove-dns
Remove dns
2017-01-06 17:31:05 -08:00
Mike Danese f00b59f657 fix kube-proxy images default command for new bin path 2017-01-06 13:33:30 -08:00
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
nikhiljindal ff1264bc33 Pushing a new KubeDNS image and updating the YAML files 2016-06-22 13:08:41 -07:00
David McMahon ef35e80604 Add sources to server tarballs. 2016-06-21 18:16:29 -07:00
Lucas Käldström 6c53c6a997 Make hyperkube work on all platforms, bump dnsmasq to 1.3 and addon-manager to v3, and always use the latest manifests 2016-06-19 17:15:17 +03:00
k8s-merge-robot 637734f003 Merge pull request #27047 from luxas/enable-ppc64le
Automatic merge from submit-queue

Enable all ppc64le builds, except for hyperkube

Partially fixes: #25886 
Talked to @Pensu, and all other binaries seem to work fine

@david-mcmahon @ixdy @Pensu @smarterclayton
2016-06-18 16:32:19 -07:00
k8s-merge-robot ddd7b5a43c Merge pull request #27494 from david-mcmahon/versionizedocsfix
Automatic merge from submit-queue

Run update-munge-docs.sh directly.
2016-06-18 11:36:12 -07:00
k8s-merge-robot 78e593cdc4 Merge pull request #27396 from nikhiljindal/pushFedImages
Automatic merge from submit-queue

including federation binaries in the list of images we push during release

Ref https://github.com/kubernetes/kubernetes/issues/27382

Added `federation-apiserver` and `federation-controller-manager` to that list.

cc @kubernetes/sig-cluster-federation @colhom @david-mcmahon
2016-06-17 00:56:59 -07:00
David McMahon 0fece08736 Run update-swagger-spec.sh and update-generated-protobuf.sh too. 2016-06-16 12:17:01 -07:00
David McMahon 4acd8803fe Run update-munge-docs.sh directly. 2016-06-15 16:35:06 -07:00
Lucas Käldström 9673ca16b2 Enable builds for all ppc64le binaries except hyperkube 2016-06-15 22:59:25 +03:00
nikhiljindal ee478ec8c2 include federation binaries in the list of images we push during release 2016-06-14 14:30:51 -07:00
k8s-merge-robot 6a388d4a0d Merge pull request #27072 from colhom/federation-e2e-docs
Automatic merge from submit-queue

Updating e2e docs with instructions on running federation tests

Last two commits are for review. Depends on #26951

\cc @madhusudancs @quinton-hoole @nikhiljindal 
 
[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-09 19:14:11 -07:00
Colin Hom 5f7c7ad195 document federation e2e cli flow 2016-06-09 15:11:52 -07:00
Daniel Smith 8faa88626d Revamp doc generation
Auto generated docs are **NO LONGER CHECKED IN**, only placeholders.

To generate them, e.g. before exporting docs, run hack/generate-docs.sh.

hack/verify-generated-docs.sh ensures that generated docs are merely the
placeholder text.

hack/update-generated-docs.sh puts the placeholder text in the proper
places.

The old munge behavior is moved into hack/{update|verify}-munge-docs.sh.
2016-06-08 17:22:12 -07:00
Colin Hom 782bf6e866 extract federation image push from push-ci-build.sh 2016-06-08 14:43:12 -07:00
Prashanth Balasubramanian 44ca220f32 Bump kube-dns image 2016-06-03 20:41:13 -07:00
nikhiljindal d2ea7a29ab Add federation controller manager to federation e2es 2016-06-02 00:17:11 -07:00
k8s-merge-robot ee412efcef Merge pull request #26335 from girishkalele/kubedns-transition
Automatic merge from submit-queue

Switch DNS addons from skydns to kubedns

Change GCI and trusty cluster-helper scripts to use kubedns instead of skydns.
2016-05-31 16:14:48 -07:00
Girish Kalele 60d2293f4c Address review comments 2016-05-31 10:14:33 -07:00
Girish Kalele 4c1047d359 Switch DNS addons from skydns to kubedns
Unified skydns templates using a simple underscore based template and
added transform sed scripts to transform into salt and sed yaml
templates

Moved all content out of cluster/addons/dns into build/kube-dns and
saltbase/salt/kube-dns
2016-05-31 10:14:14 -07:00
Prashanth Balasubramanian c01a0583f7 Trusty deployment 2016-05-30 15:58:03 -07:00
Dr. Stefan Schimanski a79a420fde Move shell completion generation into 'kubectl completion' command 2016-05-30 07:23:36 +02:00
Jeff Grafton 7cafb1763c Don't delete existing CI releases if pushing the same version. 2016-05-27 12:07:49 -07:00
k8s-merge-robot e7269a13ff Merge pull request #26413 from mwielgus/gci-ca
Automatic merge from submit-queue

Support for cluster autoscaler in GCE Trusty and GCI images

Fixes: #26346
Ref: #26197

cc: @fgrzadkowski  @vulpecula @piosz @jszczepkowski
2016-05-27 06:58:15 -07:00
Marcin 5f2695be8e Support for cluster autoscaler in GCE Trusty and GCI images 2016-05-27 12:02:20 +02:00
Alex Mohr 2233417673 Merge pull request #25973 from derekwaynecarr/fix_build
Fix builds on selinux systems
2016-05-26 15:47:06 -07:00
Alex Mohr 6b169eaa85 Merge pull request #25125 from colhom/federation-e2e
e2e tests for federated-apiserver
2016-05-26 10:40:30 -07:00
Colin Hom a092fd2dd4 Federation build and e2e test integration
Federation components are now buildable and e2e-testable via e2e.go.
2016-05-25 15:07:27 -07:00
Abhishek Shah 10f9789bc3 added dnsmasq container in kubedns pod 2016-05-25 00:23:57 -07:00
Andy Zheng f31c4f6d69 Revert "Revert "Add support for running GCI on the GCE cloud provider""
This reverts commit 40f53b1765.
2016-05-23 00:52:08 -07:00
Abhishek Shah a92ea56024 added build stuff for kube-dns 2016-05-20 15:08:11 -07:00
derekwaynecarr 3b93d4dac1 Fix builds on selinux systems 2016-05-20 13:21:20 -04:00
Daniel Smith 40f53b1765 Revert "Add support for running GCI on the GCE cloud provider" 2016-05-18 21:31:28 -07:00
Andy Zheng a737e1eba1 Add support for running GCI on the GCE cloud provider 2016-05-18 15:15:05 -07:00
Tim Hockin 92da8e6f1c Make it possible to use kube-cross as non-root
The extra TMPDIR was not writable except as root.  This is not the only fix
needed for this goal, but is necessary.
2016-05-10 10:06:56 -07:00
k8s-merge-robot 90c02c6d96 Merge pull request #24813 from duglin/AddBuildPath
Automatic merge from submit-queue

Make it clear where the `build` scripts are located


Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-05-09 15:03:12 -07:00
Tim Hockin 9a83015e60 Fix path munging funcs and usage
Our `realpath` and `readlink -f` functions (required only because of MacOS,
thanks Steve) were poor substitutes at best.  Mostly they were downright
broken.  This thoroughly overhauls them and adds a test (in comments, since we
don't seem to have shell tests).  For all the interesting cases I could think
of, the fakes act just like the real thing.

Then use those and canonicalize KUBE_ROOT.  In order to make recursive calls of
our shell tool not additively grow `pwd` we have to essentially make the
sourcing of init.sh idempotent.
2016-05-08 20:30:38 -07:00
Tim Hockin cbf886c7f4 Convert everything to use vendor/ 2016-05-08 20:30:37 -07:00
k8s-merge-robot f46f35a9df Merge pull request #23600 from mikedanese/addon-manager
Automatic merge from submit-queue

run kube-addon-manager in a static pod

Depends on https://github.com/kubernetes/kubernetes/pull/23605 and https://github.com/kubernetes/kubernetes/pull/24108

Ref #23233
2016-05-08 11:30:44 -07:00
k8s-merge-robot 8a04506546 Merge pull request #23009 from uluyol/c-pause
Automatic merge from submit-queue

Reimplement 'pause' in C - smaller footprint all around

Statically links against musl. Size of amd64 binary is 3560 bytes.

I couldn't test the arm binary since I have no hardware to test it on, though I assume we want it to work on a raspberry pi.

This PR also adds the gcc5/musl cross compiling image used to build the binaries.

@thockin
2016-05-08 09:29:32 -07:00
Robert Bailey d010c7d5d5 Merge pull request #24940 from ihmccreery/fix-release
Proper account checking and respect TMPDIR in release process
2016-05-06 14:51:39 -07:00
Robert Bailey 57359e4f2f Merge pull request #24549 from MHBauer/osx-build-experience
improve the osx build experience
2016-05-06 14:40:21 -07:00
Robert Bailey 5f4f59e671 Merge pull request #24950 from andyzheng0831/apiserver
GCI/Trusty: Support ABAC authorization
2016-05-06 13:59:39 -07:00
Robert Bailey aa24694c60 Merge pull request #24662 from soltysh/protobuf_selinux
Fix SELinux settings for mounted volumes
2016-05-06 13:36:16 -07:00
Mike Danese 3e1c0b5951 run kube-addon-manager in a pod 2016-05-06 11:01:06 -07:00
Doug Davis 9323760399 Add a better error message to run.sh
I ran build/run.sh w/o any args (by mistake) and it just said
   `Invalid input.`
after several other steps. I had no idea whether I was doing something
wrong or if my env was busted. Clearly, I just forget to include the
command that run.sh was to invoke in the Docker container.  But it took
me time to go track down where this error came from and why. So to help
others I just tweaked the error message to be:
   `Invalid input - please specify a command to run.`

Very minor thing,I know, but if it helps others...

Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-05-05 13:43:14 -07:00
k8s-merge-robot c79c5864e7 Merge pull request #25051 from spxtr/fix-1.6.2
Automatic merge from submit-queue

Use v1.6.2-1 tag for build.

Is there any reason these don't use the VERSION file like everything else? cc @luxas @ixdy
2016-05-05 03:36:27 -07:00
Muhammed Uluyol f3690e2d5e
build/pause: write in C
Builds statically against glibc. References to the old pause
image have been updated.
2016-05-04 21:45:52 -04:00
Jeff Grafton 0f041382ee Use HOSTNAME in Docker build image tag hash
Additionally, use REPO_DIR in update-generated-protobuf, since this
should be more unique (when set).
2016-05-02 16:03:27 -07:00
Joe Finney f128b30318 Use v1.6.2-1 tag for build. 2016-05-02 14:43:06 -07:00
k8s-merge-robot c6157a2356 Merge pull request #24266 from spxtr/1.6.1
Automatic merge from submit-queue

Up to go 1.6.2 for build and test.

~~1.6.1 contains some security fixes. 1.6.2 should be out soon.~~ 1.6.2 is out :D

Images aren't pushed yet.
2016-05-02 05:23:16 -07:00
Morgan Bauer b8987ba28a
improve the osx build experience
- give the docker-machine VM more memory and access to all CPU cores
 - make DOCKER_MACHINE_NAME not readonly beacuse it is set by docker-machine
 - redirect stderr to ignore unhelpful error messages
 - unquote 'docker-machine create' argument
2016-04-29 10:26:22 -07:00
Andy Zheng 27c9ee3646 GCI/Trusty: Support ABAC authorization 2016-04-28 14:04:28 -07:00
Isaac Hollander McCreery a9c004640e build/push-official-release.sh checks if proper account is active, not just present 2016-04-28 10:55:46 -07:00
Andy Zheng 93929c3853 Add support for running clusters on GCI 2016-04-27 15:24:21 -07:00
Maciej Szulik 5761b4a8bd Fix SELinux settings for mounted volumes 2016-04-27 17:45:04 +02:00
Doug Davis 2bf169b3d5 Make it clear where the `build` scripts are located
Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-04-26 11:43:38 -07:00
Doug Davis 231c4c8d9d Fix indentation of Note
Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-04-26 11:22:20 -07:00
Joe Finney 009ea19bf6 Up to go 1.6.2. 2016-04-22 14:21:52 -07:00
k8s-merge-robot 19a106f61e Merge pull request #24274 from euank/configurable-release-bucket
Automatic merge from submit-queue

jenkins: Allow configuration of release bucket

This allows others to leverage the existing E2E code to test some
patched kube binary by simply overriding the bucket and reusing many of
the existing scripts
2016-04-21 23:09:05 -07:00
nikhiljindal aa4cdac005 hack/build-go tp build federation/cmd/federated-apiserver as well 2016-04-21 12:38:53 -07:00
k8s-merge-robot 2f70b03aac Merge pull request #24565 from luxas/fix_kube_cross_push
Automatic merge from submit-queue

Fix so make == make push in the kube-cross Makefile

ref: https://github.com/kubernetes/kubernetes/pull/23931#issuecomment-210120719
@david-mcmahon
2016-04-20 16:12:28 -07:00
Lucas Käldström c7233ab824 Fix so make == make push in the kube-cross Makefile 2016-04-21 00:05:02 +03:00
k8s-merge-robot 3b2aae809f Merge pull request #22573 from freehan/udpproxy
Automatic merge from submit-queue

Flush conntrack state for removed/changed UDP Services

fixes: #19029
2016-04-19 21:06:45 -07:00
k8s-merge-robot 16e2e87a89 Merge pull request #23605 from mikedanese/pause-kube
Automatic merge from submit-queue

don't ship kube-registry-proxy and pause images in tars.

pause is built into containervm. if it's not on the machine we should just pull
it. nobody that I'm aware of uses kube-registry-proxy and it makes build/deployment
more complicated and slower.
2016-04-15 00:26:20 -07:00
Daniel Smith 4389aa1364 Merge pull request #23931 from luxas/build_for_arm64
Build Kubernetes, etcd and flannel for arm64 and ppc64le
2016-04-14 15:10:37 -07:00
Euan Kemp 9f9c54cdd2 jenkins: Allow configuration of release bucket
This allows others to leverage the existing E2E code to test some
patched kube binary by simply overriding the bucket and reusing many of
the existing scripts
2016-04-14 12:26:43 -07:00
k8s-merge-robot e363a26638 Merge pull request #23697 from luxas/pause_multi_arch
Automatic merge from submit-queue

Update the pause image to build for arm64 and ppc64le

Fixes #22683
2016-04-14 02:32:28 -07:00
Lucas Käldström 4559a84d3b Build Kubernetes, etcd and flannel for arm64 and ppc64le 2016-04-14 07:29:10 +03:00
Minhan Xia 4fa6f3841a fixing dead endpoint black hole udp traffic 2016-04-13 10:20:02 -07:00
k8s-merge-robot af1803bfb9 Merge pull request #23763 from david-mcmahon/build-regex
Automatic merge from submit-queue

Fix valid CI version regex in parse_and_validate_release_version().

Ref: #23759
cc @ihmccreery
2016-04-12 05:19:55 -07:00
k8s-merge-robot 4f329516ae Merge pull request #22149 from luxas/onedotsix
Automatic merge from submit-queue

Up to golang 1.6

A second attempt to upgrade go version above `go1.4`
Merge ASAP after you've cut the `release-1.2` branch and feel ready.
`go1.6` should perform slightly better than `go1.5`, so this time it might work
@gmarek @wojtek-t @zmerlynn @mikedanese @brendandburns @ixdy @thockin
2016-04-05 13:26:18 -07:00
Mike Danese 32426d6e97 don't ship kube-registry-proxy and pause in tars.
pause is built into containervm. if it's not on the machine we should just pull
it. nobody that I'm aware of uses kube-registry-proxy and it makes build/deployment
more complicated and slower.
2016-04-05 07:32:07 -07:00
k8s-merge-robot b8d000853e Merge pull request #21617 from luxas/hyperkube_for_arm
Automatic merge from submit-queue

Cross-build hyperkube and debian-iptables for ARM. Also add a flannel image

We have to be able to build complex docker images too on `amd64` hosts.
Right now we can't build Dockerfiles with `RUN` commands when building for other architectures e.g. ARM.

Resin has a tutorial about this here: https://resin.io/blog/building-arm-containers-on-any-x86-machine-even-dockerhub/
But it's a bit clumsy syntax.

The other alternative would be running this command in a Makefile:
```
# This registers in the kernel that ARM binaries should be run by /usr/bin/qemu-{ARCH}-static
docker run --rm --privileged multiarch/qemu-user-static:register --reset
```
and 
```
ADD https://github.com/multiarch/qemu-user-static/releases/download/v2.5.0/x86_64_qemu-arm-static.tar.xz /usr/bin
```
Then the kernel will be able to differ ARM binaries from amd64. When it finds a ARM binary, it will invoke `/usr/bin/qemu-arm-static` first and lets `qemu` translate the ARM syscalls to amd64 ones.
Some code here: https://github.com/multiarch

WDYT is the best approach? If registering `binfmt_misc` in the kernels of the machines is OK, then I think we should go with that.
Otherwise, we'll have to wait for resin's patch to be merged into mainline qemu before we may use the code I have here now.

@fgrzadkowski @david-mcmahon @brendandburns @zmerlynn @ixdy @ihmccreery @thockin
2016-04-04 22:03:32 -07:00
Lucas Käldström 560268e036 Add a flannel image for arm and amd64. Cross-build debian-iptables for arm, arm64 and ppc64le. Build and push hyperkube for arm on every release 2016-04-04 23:33:32 +03:00
David McMahon c7c7d6c0aa Fix valid CI version regex in kube::release::parse_and_validate_release_version(). 2016-04-04 12:14:15 -07:00
Lucas Käldström c214c76671 Update the pause image to build for arm64 and ppc64le 2016-04-01 21:01:35 +03:00
David McMahon a7b789cb0a Honor incoming OUT_DIR from the Makefile. 2016-03-28 16:34:07 -07:00
Lucas Käldström 2928d0a8ec Up to golang 1.6 2016-03-27 17:17:04 +03:00
Andy Zheng 0a8e68fb49 Trusty: Avoid reaching GCE custom metadata size limit 2016-03-20 10:22:50 -07:00
zhouhaibing089 884fbf3d22 only pull addon images when it does not exist 2016-03-17 10:52:32 +08:00
k8s-merge-robot 2bb7960b61 Merge pull request #22738 from wojtek-t/build_protobufs_in_docker
Auto commit by PR queue bot
2016-03-15 16:56:26 -07:00
Wojciech Tyczynski 52798beef2 Generate protobuf-related files in Docker 2016-03-09 10:45:24 +01:00
mfanjie d433632cd2 add proxy settings for vagrant 2016-03-07 09:57:26 +08:00
Andy Zheng 242b9977c7 Remove manifest copies from Trusty support
This change revises the way to provide kube-system manifests for clusters on Trusty. Originally, we maintained copies of some manifests under cluster/gce/trusty/kube-manifests, which is not scalable and hard to maintain. With this change, clusters on Trusty will use the same source of manifests as ContainerVM. This change also fixes some minor problems such as shell variables and comments to meet the style guidance better.
2016-03-04 11:16:49 -08:00
k8s-merge-robot a511961cc8 Merge pull request #22329 from david-mcmahon/push-official
Auto commit by PR queue bot
2016-03-03 08:52:35 -08:00
k8s-merge-robot d81d823ca5 Merge pull request #22393 from eparis/blunderbuss
Auto commit by PR queue bot
2016-03-02 18:51:56 -08:00
Eric Paris 5e5a823294 Move blunderbuss assignees into tree 2016-03-02 20:46:32 -05:00
David McMahon efa588dcf9 Pass latest or stable to build/push-official-release.sh. 2016-03-02 12:43:27 -08:00
David McMahon 7a54cb2ad0 Add Godeps/LICENSES to server tarball. 2016-03-02 11:23:32 -08:00
k8s-merge-robot 6dbdcfe78f Merge pull request #22116 from david-mcmahon/license-tool
Auto commit by PR queue bot
2016-03-02 07:14:40 -08:00
David McMahon ffeaef6201 New Godeps LICENSE generation tool.
Includes initial Godeps/LICENSES and Godeps/.license_file_state file to ensure
fast local generation.
2016-03-01 18:16:09 -08:00
k8s-merge-robot cdf456af0e Merge pull request #21520 from mikedanese/fastbuild
Auto commit by PR queue bot
2016-02-28 07:23:22 -08:00
Filip Grzadkowski 6f6cb45638 Make #19601 backward compatible.
Fixes #20047
2016-02-25 14:24:51 +01:00
David McMahon c0fe6b765e Remove redundant call of kube::release::gcs::release.
This is called by build/push-official-release.sh.
2016-02-22 16:11:48 -08:00
David McMahon b24fc293e3 Merge pull request #21557 from luxas/fix_typo
Do not push images that don't exist
2016-02-19 11:56:21 -08:00
Mike Danese 132c4271dc add linux fastbuild option to ./build/release.sh 2016-02-19 10:18:05 -08:00
Lucas Käldström bfc9cfdb82 Do not push images that don't exist 2016-02-19 18:45:14 +02:00
k8s-merge-robot 4de373aafd Merge pull request #20714 from fgrzadkowski/push_gcr
Auto commit by PR queue bot
2016-02-18 23:31:13 -08:00
Phillip Wittrock 5fe856c749 Merge pull request #20882 from mikedanese/push-kube-cross
push kube-cross to gcr.io
2016-02-18 16:26:29 -08:00
Filip Grzadkowski 2c51e03759 Switch to k8s.production.user@gmail.com for pushing docker images during the release.
Fixes #19623
2016-02-18 20:15:02 +01:00
laushinka 7ef585be22 Spelling fixes inspired by github.com/client9/misspell 2016-02-18 06:58:05 +07:00
Mike Danese f3b9fa62d6 push kube-cross to gcr.io
And do as much of the build setup work in it as possible.
2016-02-16 10:05:46 -08:00
k8s-merge-robot 62258cab24 Merge pull request #21031 from zmerlynn/distribute-source
Auto commit by PR queue bot
2016-02-14 11:12:18 -08:00
Lucas Käldström b67445b064 Share the host's timezone with the build container 2016-02-11 07:44:05 +02:00
Zach Loafman b857f61009 Output tar of build image during release process
To meet licensing/compliance guidelines, bundle up the source. One of
the easiest ways to do this is just to grab the entire build image
directory - this makes it pretty much guaranteed that the user could
re-run the Docker build again from the exact code point if they wanted
to (they just need to poke at our scripts to figure out how).
2016-02-10 18:04:04 -08:00
k8s-merge-robot fc3316ee1b Merge pull request #20398 from mfanjie/mfanjie-patch-1
Auto commit by PR queue bot
2016-02-09 22:55:18 -08:00
Lucas Käldström c969c041e2 Add support for building arm, arm64 and ppc64le server and client targets 2016-02-07 20:35:14 +02:00
fmeng aaea05980c change sed_opts as array 2016-02-06 16:49:35 +08:00
Daniel Smith 75c1dcaacd Merge pull request #20463 from andyzheng0831/trusty-master
Support master on Ubuntu Trusty
2016-02-05 15:49:28 -08:00
fmeng ef42dad78e update proxy settings for kubernetes build. 2016-02-04 17:38:07 +08:00
k8s-merge-robot dbd7b83d93 Merge pull request #20545 from pmorie/boilerplate
Auto commit by PR queue bot
2016-02-03 19:46:26 -08:00
Paul Morie b672785d72 Add boilerplate checks for Dockerfiles 2016-02-03 18:35:26 -05:00
Paul Morie 05bd107301 Add boilerplate checks for Makefiles 2016-02-03 18:35:26 -05:00
Zach Loafman e87b93f1b8 KUBE_BUILD_GOLANG_VERSION=1.4.2 2016-02-03 11:46:03 -08:00
Zach Loafman 54a9241605 Revert "Up to golang 1.5.3"
This reverts commit d26f4e1583.
2016-02-03 11:44:30 -08:00
Andy Zheng b103f0f279 Support master on Ubuntu Trusty
This change support running kubernetes master on Ubuntu Trusty.
It uses pure cloud-config and shell scripts, and completely gets
rid of saltstack or the release salt tarball.
2016-02-03 11:22:28 -08:00
Jeff Lowdermilk d4e2e71b80 Merge pull request #19537 from mesosphere/jdef_fix_dockerfile_dir_suffix
ADDing to a dir should suffix the dir with /
2016-02-01 10:20:16 -08:00
fmeng 368fb2225c fix sed error in build/common.sh 2016-01-29 10:45:50 +08:00
k8s-merge-robot a95f1b84cb Merge pull request #17243 from yifan-gu/gce_coreos
Auto commit by PR queue bot
2016-01-27 13:02:20 -08:00
Zach Loafman 07c304b43d build: Use Go version in cross image tag
The new tag format is cross-<go version>-<cross version>, starting
with cross-1.5.3-1.

Also bump the image we pre-pull / warn-on to 1.5.3

Fixes #19990
2016-01-22 11:45:41 -08:00
Lucas Käldström d26f4e1583 Up to golang 1.5.3 2016-01-22 08:21:52 +02:00
Yifan Gu 723402c4e9 build/common.sh: Copy manifests. 2016-01-21 16:32:15 -08:00
Alex Mohr 12ecd67c01 Merge pull request #19703 from smarterclayton/add_protobuf
Install protoc into kube-cross Docker image
2016-01-21 14:59:41 -08:00
Alex Mohr e98fb3c424 Merge pull request #19810 from spiffxp/empty-docker-opts-cp
Support building on remote docker-machine instances
2016-01-21 14:30:57 -08:00
Alex Mohr ae56a2a1d5 Merge pull request #19555 from spiffxp/verify-prereqs-noargs
verify_prereqs doesn't special-case on 'clean' arg
2016-01-21 10:43:41 -08:00
Isaac Hollander McCreery 041f152e80 Add flag to force pull on docker build 2016-01-20 09:14:57 -08:00
Isaac Hollander McCreery e95dd01a53 Pin golang build to 1.4.2 instead of floating on 1.4 2016-01-19 17:08:34 -08:00
Aaron Crickenberger d46a97224a Support building on remote docker-machine instances
Use case: I have a docker-machine instance in the cloud, and an empty
DOCKER_OPTS env var.  I want to `build/run.sh hack/build-go.sh`

Previously, this would invoke `docker '' cp` which was erroring out
with: '' not a command.
2016-01-18 17:44:23 -08:00
Clayton Coleman 13acd621a8 Install protoc into kube-cross Docker image 2016-01-15 11:47:05 -05:00
Marek Grabowski e26f25f57b Revert "Add protobuf to the kube build image" 2016-01-15 17:36:14 +01:00
k8s-merge-robot f3793d0942 Merge pull request #19359 from smarterclayton/add_proto_to_build_image
Auto commit by PR queue bot
2016-01-15 07:56:23 -08:00
Mike Danese c446bf508e Merge pull request #19431 from spiffxp/docker-machine-rm-hardcode
Allow for use of docker-machine not named kube-dev
2016-01-14 13:46:10 -08:00
Aaron Crickenberger 4488f7d33c verify_prereqs doesn't special-case on 'clean' arg
update docs and invocation accordingly
2016-01-12 11:26:59 -08:00
James DeFelice 9b8651e7fd ADDing to a dir should suffix the dir with / 2016-01-12 16:26:24 +00:00
k8s-merge-robot cc7acc0c58 Merge pull request #19061 from fgrzadkowski/release_docker
Auto commit by PR queue bot
2016-01-11 20:56:00 -08:00
k8s-merge-robot ce9b117a19 Merge pull request #16698 from mml/issue3885
Auto commit by PR queue bot
2016-01-09 13:38:41 -08:00
Aaron Crickenberger 5062197ec6 Allow for use of docker-machine not named kube-dev 2016-01-08 17:07:48 -08:00
Clayton Coleman d12bbe0da9 Add protobuf to the kube build image 2016-01-06 22:34:18 -05:00
Matt Liggett c6e9ad066e Initial node drain implementation for #3885.
It cordons (marks unschedulable) the given node, and then deletes every
pod on it, optionally using a grace period.  It will not delete pods
managed by neither a ReplicationController nor a DaemonSet without the
use of --force.

Also add cordon/uncordon, which just toggle node schedulability.
2016-01-06 17:28:18 -08:00
Andy Zheng d27e3ae8a1 Run kube-proxy in Trusty in a static pod.
We copy the manifest from salt configurations, and then remove the salt
content in the file and replace the variables with values.
2016-01-05 16:11:58 -08:00
Filip Grzadkowski e7e8c5af84 Push docker images for cluster components during release. 2016-01-05 12:36:10 +01:00
Mike Danese c00dfe82f8 Revert "Push server docker images during the release" 2015-12-22 19:59:56 -08:00
k8s-merge-robot 78b573e803 Merge pull request #18893 from fgrzadkowski/release_docker
Auto commit by PR queue bot
2015-12-22 16:54:18 -08:00
k8s-merge-robot 3f91f18a55 Merge pull request #18488 from yifan-gu/dockerized_python
Auto commit by PR queue bot
2015-12-19 10:52:15 -08:00
Yifan Gu 516032f336 kube-addons: Use python container if python is not found on the machine.
To build the python image, BUILD_PYTHON_IMAGE should be set during make.
When the addon script is running, it will check if python is installed
on the machine, if not, it will use the python image that built previously.
2015-12-18 15:14:56 -08:00