Commit Graph

127 Commits

Author SHA1 Message Date
Javier Pérez Hernández
bfecc725e8 release lib: docker save remove special name for amd64 2019-07-11 10:58:32 -07:00
Javier Pérez Hernández
5e93584633 release lib: save release docker tag in tarfile 2019-07-02 10:58:15 -07:00
Davanum Srinivas
263dda1f08
Ensure kubernetes-src.tgz has kubernetes/ prefix
There's a difference between the kubernetes-src.tgz build from
`make bazel-release` and `make quick-release`. The quick-release does
not have a `kubernetes/` prefix and hence essentiall tarbomb(s) the
directory when someone tries to untar it.

Change-Id: I8e87639d85dd01aec534b58f1d5740bd48ac922f
2019-06-03 18:11:08 -04:00
Jeff Grafton
c5c0e422ae add comments to explain fancy bash expressions 2019-02-21 13:17:58 -08:00
Jeff Grafton
640a879e0b bash build system: create split test tarballs 2019-02-21 13:17:25 -08:00
Rafael Fernández López
68e6fa0f8d
Allow to build docker images offline (do not always use docker build --pull)
Passing `KUBE_BUILD_PULL_LATEST_IMAGES=n` will disable building the artifacts
with `--pull`, so they can be built in an offline environment.

By default, `KUBE_BUILD_PULL_LATEST_IMAGES` is `y`, so the default behavior
is kept unchanged.
2018-12-03 20:34:22 +01:00
Jeff Grafton
c761f779fc Base conformance image on debian-hyperkube-base:0.11.0 and reenable by default 2018-10-16 14:01:23 -07:00
k8s-ci-robot
e42f52150e
Merge pull request #69779 from dims/remove-last-traces-of-old-registry-name
Remove last traces of old registry name
2018-10-15 17:52:46 -07:00
Davanum Srinivas
cfc7797023
Switch off KUBE_BUILD_CONFORMANCE to diagnose a ci-cross issue
Looking at job results, there seems to be some flakiness, let's see if
the PR that added the conformance image is the one to blame.

https://prow.k8s.io/?type=periodic&job=ci-kubernetes-cross-build
https://k8s-testgrid.appspot.com/sig-release-misc#cross-build&graph-metrics=test-duration-minutes&width=20

Change-Id: Ic26431a0e262100dec0444279d94277482972b07
2018-10-15 13:13:19 -04:00
Davanum Srinivas
3cb0b5fc04
remove last traces of old registry name
Change-Id: Ie1a5feaba20736d491242b4c971423c0a624f383
2018-10-14 20:43:18 -04:00
Davanum Srinivas
6830bad2a6
upstream heptio/kube-conformance
Pick up some code from https://github.com/heptio/kube-conformance
Fix up build scripts for the new conformance image
Fix Header template and Copyright to make verify job go green
update README and add execute permissions for script

Change-Id: Ib6509acd816cc2fb3a516bfb8e0ff9e32bff8f79
2018-10-12 15:33:15 -04:00
k8s-ci-robot
5602ab7761
Merge pull request #68379 from immutableT/kms-plugin-via-gke
Enable configure-helper.sh to support two scenarios for etcd level encryption: decryption and adding encryption to existing clusters.
2018-10-04 23:38:42 -07:00
immutablet
4bc62be0e6 Run kms-plugin in its own POD. 2018-10-04 09:19:57 -07:00
Benjamin Elder
4274c426ce add nsswitch to busybox control plane images 2018-09-28 17:04:48 -07:00
Davanum Srinivas
ae0dde5c7d
Remove e2e-image-puller
A long time ago, We added the image prepulling as a workaround due to
the overwhelming amount of flake caused by pulling during the tests.
This functionality has been broken for a while now when we switched to a
COS image where mounting `docker` binary into `busybox` stopped working.
So we just have dead code we should clean up.

Change-Id: I538171a5c1d9361eee7f9e0a99655b88b1721e3e
2018-09-03 20:43:54 -04:00
Benjamin Elder
b56b2a741e unify server images bash build 2018-08-31 14:32:44 -07:00
Benjamin Elder
037fabd842 add make targets for building server images 2018-08-31 14:31:21 -07:00
liangwei
5ea138f4e9 remove rescheduler 2018-08-22 11:49:14 +08:00
Maciej Pytel
7119c8bd07 Allow custom manifests in GCP master setup 2018-06-29 15:49:54 +02:00
immutablet
02e57ac118 Add kms-plugin-container.manifest to release manifest tarball. 2018-06-12 16:04:20 -07:00
RaviSantosh Gudimetla
872addf9e3
Revert "Remove rescheduler and corresponding tests from master" 2018-05-31 22:18:49 -04:00
ravisantoshgudimetla
aeccffc339 Phase out rescheduler in favor of priority and preemption 2018-05-29 19:52:06 -04:00
Kubernetes Submit Queue
b5f61ac129
Merge pull request #62657 from matthyx/master
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>.

Update all script shebangs to use /usr/bin/env interpreter instead of /bin/interpreter

This is required to support systems where bash doesn't reside in /bin (such as NixOS, or the *BSD family) and allow users to specify a different interpreter version through $PATH manipulation.
https://www.cyberciti.biz/tips/finding-bash-perl-python-portably-using-env.html
```release-note
Use /usr/bin/env in all script shebangs to increase portability.
```
2018-05-02 19:44:32 -07:00
Mike Danese
962d6358de also fix the quick-release 2018-04-25 09:15:32 -07:00
Marek Siarkowicz
f0b5e2d7c5 Remove examples directory 2018-04-24 19:45:43 +01:00
Matthias Bertschy
9b15af19b2 Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
Tim Hockin
89ceb7ef46 Pass 2: k8s GCR vanity URL 2018-04-06 08:14:58 -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
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
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
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
Mike Danese
d6918bbbc0 cluster: remove kube-registry-proxy 2018-02-01 07:23:50 -08:00
Mike Danese
5f9735de53 cluster: delete saltbase
and don't build kubernetes-salt.tar.gz
2018-01-16 09:59:29 -08:00
Mike Danese
13116457ba cluster: remove gce dependencies out of salt
basically just:
* move all manifests into the new gce/manifests dir
* move limit-range into gce/addons/limit-range
* move abac jsonl into gce/manifests. this is gross but we will
  hopefully be able to delete this config soon. it only exists to support
  a deprecated feature.
* fix build, release, deploy to look for everything in its new home
2018-01-16 09:59:29 -08:00
Kubernetes Submit Queue
d05a96b3df
Merge pull request #58118 from roberthbailey/vagrant
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>.

Remove the deprecated vagrant kube-up implementation

xref #49213

```release-note
NONE
```
2018-01-12 14:56:40 -08:00
Robert Bailey
8d44e0b38a Remove the deprecated vagrant kube-up implementation. 2018-01-10 23:06:12 -08:00
Mike Danese
dca369dc84 remove support for container-linux in gce kube-up 2018-01-10 10:20:26 -08:00
Tim Hockin
e9dd8a68f6 Revert k8s.gcr.io vanity domain
This reverts commit eba5b6092a.

Fixes https://github.com/kubernetes/kubernetes/issues/57526
2017-12-22 14:36:16 -08:00
Tim Hockin
eba5b6092a Use k8s.gcr.io vanity domain for container images 2017-12-18 09:18:34 -08:00
Davanum Srinivas
a720dd4e23 Add hyperkube to make quick-release
Building hyperkube also used to be very slow, but that is no longer
true per Jeff. So let's switch it on by default for quick-release.
2017-11-30 15:17:46 -05:00
Jeff Grafton
96e2da2992 Use git archive to produce kubernetes-src.tar.gz when possible 2017-11-22 12:41:07 -08:00
Kubernetes Submit Queue
f7dc3966a4
Merge pull request #47497 from mikedanese/binary
Automatic merge from submit-queue (batch tested with PRs 54773, 52523, 47497, 55356, 49429). 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 check in mounter binary

```release-note
GCI mounter is moved from the manifests tarball to the server tarball.
```
2017-11-08 22:11:53 -08:00
Kubernetes Submit Queue
35e9784196
Merge pull request #53034 from tallclair/gce-addons
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>.

Introduce GCE-specific addons directory

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

GCE & GKE currently rely on the cluster bringup defined in the `cluster/gce` directory, but there isn't a good way of deploying GCE specific manifests. Currently the 2 approaches are, put it in `/cluster/addons`, which implies it should be generally useful (not GCE specific), or it is synthesized by one of the bash scripts in `cluster/gce`.

This PR introduces a straightforward way to have GCE-specific manifests deployed for GCE & GKE, without the need to pollute the general addon space.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2017-10-31 09:12:55 -07:00
Mike Danese
bef68f7dbc cluster: build gci mounter like other go binaries 2017-10-30 13:56:09 -07:00
Maru Newby
adc338d330 Remove all traces of federation 2017-10-26 13:37:37 -07:00
Tim Allclair
1bd6249ad4
Introduce GCE-specific addon directory 2017-10-17 16:08:03 -07:00
shashidharatd
d97656617e Remove federation manifests which are no longer used 2017-09-18 22:29:00 +05:30
Jeff Grafton
9bf4c4962d Always use gcr.io/google_containers for side-loaded Docker images 2017-07-17 16:46:02 -07: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
Jeff Grafton
6b20f50142 Don't delete docker image if building a release 2017-06-12 12:06:22 -07:00
David McMahon
b82b3c0632 Only tag release containers if the name is different. 2017-05-04 18:43:23 -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
Jeff Grafton
f73e3cbb30 Use munged semantic version for side-loaded docker tag 2017-04-27 15:05:40 -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
Jeff Grafton
37b07dfe62 Support arbitrary alphanumeric strings as prerelease identifiers 2017-04-04 16:30:54 -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
Jeff Grafton
e39978e6bf Update a few regex patterns to support release candidates 2017-03-24 14:38:04 -07:00
Jeff Grafton
836b59962a Silence error messages from docker rmi calls we expect to fail 2017-03-07 12:49:57 -08:00
Mike Danese
33ea2d11fc remove trusty GCE kube-up.sh 2017-02-28 10:08:17 -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
19aafd291c Always --pull in docker build to ensure recent base images 2017-01-10 16:21:05 -08:00
Yifan Gu
dd59aa1c3b cluster/gce: Rename coreos to container-linux. 2016-12-30 15:32:02 -08: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
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
Piotr Szczesniak
a52637f09f Migrated fluentd to daemon set 2016-12-15 13:48:32 +01: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
Jeff Grafton
c32da484ff Delete some old, dead release code 2016-10-20 13:57:15 -07:00
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
Joe Beda
d955f54918 Remove unused bash variables 2016-10-03 19:42:22 -07:00
Joe Beda
f861163a15 Move release code (bash) out of build/common.sh 2016-10-03 19:42:21 -07:00