Commit Graph

939 Commits (ec6399be53dde6c17e3da9f77c5070842881e5b7)

Author SHA1 Message Date
Kubernetes Submit Queue 9939f709e4
Merge pull request #62227 from ixdy/document-source-date-epoch
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add documentation around build reproducibility and SOURCE_DATE_EPOCH

**What this PR does / why we need it**: makes some of our notes about reproducibility a bit more discoverable.

**Release note**:

```release-note
NONE
```

/assign @BenTheElder
2018-04-06 18:21:43 -07:00
Jeff Grafton 67b697073e Add documentation around SOURCE_DATE_EPOCH 2018-04-06 17:00:50 -07:00
Ian Chakeres 8f3fc36ae6 Update memory required to build kubernetes on osx to 4.5G 2018-04-06 15:10:19 -07:00
Tim Hockin 89ceb7ef46 Pass 2: k8s GCR vanity URL 2018-04-06 08:14:58 -07:00
Patrik Erdes 0f98dd0950 Change 'Mac OS X' to 'macOS' in build/README.md
Mac OS X was renamed to OS X in 2012, and then renamed again to macOS in 2016.
I suggest that the current name should be used when referencing the Apple OS.
2018-04-05 22:16:38 +02:00
Kubernetes Submit Queue 3b82ea6bcd
Merge pull request #60597 from cblecker/go-go-go-one-dot-ten
Automatic merge from submit-queue (batch tested with PRs 61096, 61955, 61542, 60597). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Update to use go1.10.1

**What this PR does / why we need it**:
Update to use go1.10.1

**Release note**:
```release-note
Update to use go1.10.1
```
2018-04-02 15:35:12 -07:00
Christoph Blecker 9690d44fca
Update to use go1.10.1 2018-03-30 15:26:18 -07:00
Tim Hockin 3e583de0ac Vendor gazelle 2018-03-29 17:01:30 -07:00
Kubernetes Submit Queue ee99895645
Merge pull request #61357 from rphillips/fixes/add_udev_to_hyperkube
Automatic merge from submit-queue (batch tested with PRs 61848, 61188, 56363, 61357, 61838). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

add udev to hyperkube and bump versions

**What this PR does / why we need it**: Adds udev to the hyperkube to fix GCE and OpenStack volume mounts.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #61356 
Fixes #43515
Fixes https://github.com/coreos/bugs/issues/2385

**Special notes for your reviewer**:

/cc @kubernetes/sig-node-bugs @kubernetes/sig-node-pr-reviews 
/cc @ixdy 

**Release note**:
```release-note
NONE
```
2018-03-28 13:52:14 -07:00
Ryan Phillips 29662114d8 add udev to hyperkube and bump versions 2018-03-28 09:46:51 -07:00
Kubernetes Submit Queue ac4caced68
Merge pull request #60915 from CaoShuFeng/htpasswd
Automatic merge from submit-queue (batch tested with PRs 61378, 60915, 61499, 61507, 61478). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

remove unused htpasswd

This file is not used anywhere.
Further more, this is an error in this file:
```
$ flake8 third_party/htpasswd/htpasswd.py --select=F
third_party/htpasswd/htpasswd.py:46:13: F821 undefined name 'time'
```
**Release note**:
```release-note
NONE
```
2018-03-22 07:15:22 -07:00
Kubernetes Submit Queue 9b8323f174
Merge pull request #60923 from ipuustin/shell-bugfix5
Automatic merge from submit-queue (batch tested with PRs 60759, 60531, 60923, 60851, 58717). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Fix build scripts to work in case there are spaces in directory names.

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

Fix kubernetes build scripts to work in case the source directory is in a directory path which contains a space.

You can prepare such a directory like this:
```
$ mkdir '/tmp/test dir/'
$ cd '/tmp/test dir/'
$ git clone https://github.com/kubernetes/kubernetes.git
$ cd kubernetes
```
Then, without the fix:
```
$ KUBE_FASTBUILD=true KUBE_RELEASE_RUN_TESTS=n build/release.sh
cat: /tmp/test: No such file or directory
cat: dir/kubernetes/build/build-image/cross/VERSION: No such file or directory
cat: /tmp/test: No such file or directory
cat: dír/kubernetes/build/build-image/VERSION: No such file or directory
+++ [0307 18:10:33] Verifying Prerequisites....
cp: target '/tmp/test dir/kubernetes/_output/images/kube-build:build-7c7cd10a18--/Dockerfile' is not a directory
!!! [0307 18:10:33] Call tree:
!!! [0307 18:10:33]  1: build/release.sh:35
kube::build::build_image(...)
!!! Error in build/../build/common.sh:454
  Error in build/../build/common.sh:454. '((i<3-1))' exited with status 1
Call stack:
  1: build/../build/common.sh:454 kube::build::build_image(...)
  2: build/release.sh:35 main(...)
Exiting with status 1
```
With the fix the compilation succeeds. The fix is done adding double quotes to required places (and also just in case to other places where shellcheck recommended adding them).

Note that this fix doesn't as such help with the official make-based build: it's tricky to make makefiles work with targets with spaces in their names.

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

**Special notes for your reviewer**:

This PR needs pretty thorough review since this touches the core build scripts. 

**Release note**:

```release-note
NONE
```
2018-03-20 15:34:34 -07:00
Ismo Puustinen 231f79f89e build: fix building with spaces in directory names.
Fix kubernetes build scripts to work in case the source directory is in
a directory path which contains a space.

You can prepare such a directory like this:

    $ mkdir '/tmp/test dir/'
    $ cd '/tmp/test dir/'
    $ git clone https://github.com/kubernetes/kubernetes.git
    $ cd kubernetes

Then, without the fix:

$ KUBE_FASTBUILD=true KUBE_RELEASE_RUN_TESTS=n build/release.sh
cat: /tmp/test: No such file or directory
cat: dir/kubernetes/build/build-image/cross/VERSION: No such file or directory
cat: /tmp/test: No such file or directory
cat: dír/kubernetes/build/build-image/VERSION: No such file or directory
+++ [0307 18:10:33] Verifying Prerequisites....
cp: target '/tmp/test dir/kubernetes/_output/images/kube-build:build-7c7cd10a18--/Dockerfile' is not a directory
!!! [0307 18:10:33] Call tree:
!!! [0307 18:10:33]  1: build/release.sh:35
kube::build::build_image(...)
!!! Error in build/../build/common.sh:454
  Error in build/../build/common.sh:454. '((i<3-1))' exited with status 1
Call stack:
  1: build/../build/common.sh:454 kube::build::build_image(...)
  2: build/release.sh:35 main(...)
Exiting with status 1

With the fix the compilation succeeds. The fix is done adding double
quotes to required places (and also just in case to other places where
shellcheck recommended adding them).

Note that this fix doesn't help with the official make-based build:
it's tricky to make makefiles work with targets with spaces in their
names.
2018-03-12 09:12:47 +02:00
Joe Betz e2a25f9b54 Bump to etcd 3.1.12 to pick up critical fix 2018-03-09 14:28:23 -08:00
Shyam Jeedigunta 21f5e69f08 Rollback etcd server version to 3.1.11 due to #60589 2018-03-08 13:07:15 +01:00
Cao Shufeng a598f14826 remove unused htpasswd
This file is not used anywhere.
Further more, this is an error in this file:
```
$ flake8 third_party/htpasswd/htpasswd.py --select=F
third_party/htpasswd/htpasswd.py:46:13: F821 undefined name 'time'
```
2018-03-08 17:59:37 +08:00
Sen Lu b01d2ba048 purge all the -v references from e2e.go 2018-03-06 20:36:06 -08:00
Joe Betz 04c6d0ab26 Bump etcd server patch version to 3.2.16 2018-03-05 13:58:51 -08:00
Kubernetes Submit Queue 79257fe611
Merge pull request #60669 from ixdy/bazel-test-visibility
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add //test/e2e/... and //test/integration/... to //build/visible_to:COMMON_testing

**What this PR does / why we need it**: adds the common test packages `//test/e2e/...` and `//test/integration/...` to the `COMMON_testing` package group.

The immediate need for this is that #60580 unintentionally broke the integration tests under bazel since it added a new dependency on `//pkg/kubectl/cmd/util` without adding an appropriate entry to `//build/visible_to:COMMON_testing`, and the integration tests aren't currently run under bazel for PRs. 

This PR fixes this breakage and proactively fixes future breakages by adding all packages under `//test/e2e` or `//test/integration` to `COMMON_testing`.

**Release note**:

```release-note
NONE
```

/assign @BenTheElder @monopole 
/kind bug
/priority important-soon
/sig testing
cc @kad
2018-03-02 15:13:21 -08:00
Kubernetes Submit Queue f9f5677b3e
Merge pull request #60618 from rmmh/verify-explicit
Automatic merge from submit-queue (batch tested with PRs 60530, 60618). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add support for `make verify WHAT=typecheck`

This will be used to make the typecheck job emit junit and avoids duplicating the rest of the verify logic.

**Release note**:
```release-note
NONE
```
2018-03-01 18:49:44 -08:00
Ryan Hitchman d295ca1134 Add support for `make verify WHAT=typecheck`.
This will be used to make the typecheck job emit junit and avoids
duplicating the rest of the verify logic.
2018-03-01 15:03:24 -08:00
Jeff Grafton 046d9a0e53 Add //test/e2e/... and //test/integration/... to //build/visible_to:COMMON_testing 2018-03-01 14:26:39 -08:00
spxtr 39c9b36323 Remove spxtr from various OWNERS files.
I don't have the time to review PRs quickly anymore.
2018-02-28 13:04:32 -08:00
Mike Danese c0b7364563 remove gcloud docker -- since it's deprecated 2018-02-28 00:24:27 -08:00
Kubernetes Submit Queue c1a97c34c8
Merge pull request #60467 from BenTheElder/cache-busters
Automatic merge from submit-queue (batch tested with PRs 60157, 60337, 60246, 59714, 60467). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

don't (remote) cache release-tars

**What this PR does / why we need it**: Disables Bazel *remote* caching for release tarballs. These are large, low hit rate build outputs. Before we enable remote caching for *builds* we should tag these type of outputs. `pull-kubernetes-bazel-test` already has this enabled and dropped in execution time by 70-80%

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

**Special notes for your reviewer**: See https://github.com/kubernetes/test-infra/issues/6808 for details on the remote caching. This should not affect local builds.  See the following for docs on this change: https://docs.bazel.build/versions/master/remote-caching.html#exclude-specific-targets-from-using-the-remote-cache

**Release note**:

```release-note
NONE
```
2018-02-27 12:05:43 -08:00
Kubernetes Submit Queue 5e10b13f7e
Merge pull request #59958 from ixdy/bzl-boilerplate
Automatic merge from submit-queue (batch tested with PRs 50724, 59025, 59710, 59404, 59958). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Require boilerplate on Bazel Skylark source files

**What this PR does / why we need it**: `.bzl` files are also source code, so they should probably have the boilerplate text too.

**Release note**:

```release-note
NONE
```
2018-02-26 21:34:45 -08:00
Benjamin Elder ac0231ccb7 don't (remote) cache release-tars 2018-02-26 17:01:13 -08:00
Mike Danese 4186abf72b bzl: fix update-bazel.sh
pickup a85b63b06c
2018-02-26 11:01:30 -08:00
Kubernetes Submit Queue 8712ed358d
Merge pull request #57648 from Fsero/bugfix/add_ipset_binary_for_ipvs
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add ipset binary for IPVS, context: Fixes #57321

**What this PR does / why we need it**: Add ipset binary in debian-hyperkube-base which fixes issue 57321

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

**Special notes for your reviewer**:

**Release note**:

```release-note
Add ipset binary for IPVS to hyperkube docker image
```
2018-02-21 11:42:42 -08:00
Fabian Selles Rosa 882ca30ef5 adding new tag bumping SHA 2018-02-21 16:32:30 +01:00
Mike Danese efa63b7a58 bzl: use --local_test_jobs
We originally seperated build and test so that only 4 integration tests
would be run at a time, but we didn't want to slow down build, however
we didn't know --local_test_jobs existed. This achieves the same result
but more efficiently.
2018-02-20 10:57:40 -08:00
Jeff Grafton 72a59f5826 Require boilerplate on Bazel Skylark source files 2018-02-16 13:44:04 -08:00
Jeff Grafton 7cf152e0b0 Update bazelbuild/rules_go, kubernetes/repo-infra, and gazelle dependencies 2018-02-16 13:41:43 -08:00
Kubernetes Submit Queue 5c86ef2150
Merge pull request #59207 from ipuustin/shell-bugfix
Automatic merge from submit-queue (batch tested with PRs 59705, 59207, 59677). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

build: fix a logic error in shell script.

**What this PR does / why we need it**: It looks like that there's a logic error in `build/common.sh`. The return value of a `docker inspect` command is not checked properly, since the value being assigned is actually the previous command's return value (a `0`, because `local` always returns `0` when used like this).

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

**Special notes for your reviewer**:

**Release note**: 

```release-note
NONE
```
2018-02-13 12:29:31 -08:00
Jeff Grafton 01f16da594 bazel: update busybox digest to latest (~1.28.0) 2018-02-12 15:19:37 -08:00
Jeff Grafton 52593616c4 bazel: update digest for debian-iptables-amd64 2018-02-12 14:50:27 -08:00
Fabian Selles Rosa 6fd8903af3 Add ipset binary for IPVS, context: https://github.com/kubernetes/kubernetes/issues/57321 2018-02-11 13:39:21 +01:00
Di Xu 48388fec7e fix all the typos across the project 2018-02-11 11:04:14 +08:00
Kubernetes Submit Queue fb340a4695
Merge pull request #57824 from thockin/gcr-vanity
Automatic merge from submit-queue (batch tested with PRs 57824, 58806, 59410, 59280). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

2nd try at using a vanity GCR name

The 2nd commit here is the changes relative to the reverted PR.  Please focus review attention on that.

This is the 2nd attempt.  The previous try (#57573) was reverted while we
figured out the regional mirrors (oops).
    
New plan: k8s.gcr.io is a read-only facade that auto-detects your source
region (us, eu, or asia for now) and pulls from the closest.  To publish
an image, push k8s-staging.gcr.io and it will be synced to the regionals
automatically (similar to today).  For now the staging is an alias to
gcr.io/google_containers (the legacy URL).
    
When we move off of google-owned projects (working on it), then we just
do a one-time sync, and change the google-internal config, and nobody
outside should notice.
    
We can, in parallel, change the auto-sync into a manual sync - send a PR
to "promote" something from staging, and a bot activates it.  Nice and
visible, easy to keep track of.

xref https://github.com/kubernetes/release/issues/281

TL;DR:
  *  The new `staging-k8s.gcr.io` is where we push images.  It is literally an alias to `gcr.io/google_containers` (the existing repo) and is hosted in the US.
  * The contents of `staging-k8s.gcr.io` are automatically synced to `{asia,eu,us)-k8s.gcr.io`.
  * The new `k8s.gcr.io` will be a read-only alias to whichever regional repo is closest to you.
  * In the future, images will be promoted from `staging` to regional "prod" more explicitly and auditably.

 ```release-note
Use "k8s.gcr.io" for pulling container images rather than "gcr.io/google_containers".  Images are already synced, so this should not impact anyone materially.
    
Documentation and tools should all convert to the new name. Users should take note of this in case they see this new name in the system.
```
2018-02-08 03:29:32 -08:00
Tim Hockin 3586986416 Switch to k8s.gcr.io vanity domain
This is the 2nd attempt.  The previous was reverted while we figured out
the regional mirrors (oops).

New plan: k8s.gcr.io is a read-only facade that auto-detects your source
region (us, eu, or asia for now) and pulls from the closest.  To publish
an image, push k8s-staging.gcr.io and it will be synced to the regionals
automatically (similar to today).  For now the staging is an alias to
gcr.io/google_containers (the legacy URL).

When we move off of google-owned projects (working on it), then we just
do a one-time sync, and change the google-internal config, and nobody
outside should notice.

We can, in parallel, change the auto-sync into a manual sync - send a PR
to "promote" something from staging, and a bot activates it.  Nice and
visible, easy to keep track of.
2018-02-07 21:14:19 -08:00
Kubernetes Submit Queue fbf7805e3c
Merge pull request #59283 from mikedanese/bzlint
Automatic merge from submit-queue (batch tested with PRs 58444, 59283, 59437, 59325, 59449). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

bzl: make integration tests actually work

#59283
```release-note
NONE
```
2018-02-06 22:42:36 -08:00
Kubernetes Submit Queue f0e72a77d9
Merge pull request #56937 from redbaron/hyperkube-xfs
Automatic merge from submit-queue (batch tested with PRs 58562, 56937). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add xfsprogs to hyperkube baseimage

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

adds `xfsprogs` to hyperkube image, so that XFS filesystem can be created on unformatted volumes.

```release-note
NONE
```

/sig node
/sig storage
2018-02-06 13:11:37 -08:00
Mike Danese d6f0e77fea bzl: make integration tests actually work 2018-02-05 15:08:52 -08:00
Ismo Puustinen 7a67246d47 build: fix a logic error in shell script.
The right place to assign the "docker inspect" return value is outside
of the subshell. The last return value was coming from something else
than the expected command.
2018-02-05 11:21:59 +02:00
Joe Betz f0d04b7131 Update etcd server version to 3.2.13 2018-02-02 17:25:13 -08:00
Mike Danese d6918bbbc0 cluster: remove kube-registry-proxy 2018-02-01 07:23:50 -08:00
Kubernetes Submit Queue 783790a6bb
Merge pull request #59012 from ixdy/update-to-go1.9.3
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Build using go1.9.3

**What this PR does / why we need it**: more minor bugfixes, which I guess we probably want. https://github.com/golang/go/issues?q=milestone%3AGo1.9.3

**Special notes for your reviewer**: I haven't built/pushed the crossbuild image yet, but will do so if we think this is a good idea. I don't have plans to rebuild the test images.

**Release note**:

```release-note
Build using go1.9.3.
```

Who are good people to review this?
/assign @cblecker @luxas 
(for lack of better ideas)
2018-01-30 00:01:32 -08:00
Kubernetes Submit Queue b98c515819
Merge pull request #57723 from mkumatag/image_manifest
Automatic merge from submit-queue (batch tested with PRs 57322, 57723, 58706, 59004, 58857). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Make the pause image a manifest list

**What this PR does / why we need it**:
Build and push manifest for kubernetes images

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes https://github.com/kubernetes/kubernetes/issues/57869

**Special notes for your reviewer**:

**Release note**:

```
NONE
```
2018-01-29 20:11:35 -08:00
Jeff Grafton c555a7f3c9 Update to go1.9.3 2018-01-29 18:26:59 -08:00
Jeff Grafton d9bc905577 Update bazelbuild/rules_go to support go1.9.3 2018-01-29 18:26:53 -08:00