Commit Graph

37002 Commits (ead65fc25fe309464b40d0ba212f83ae256725da)

Author SHA1 Message Date
Kubernetes Submit Queue ead65fc25f Merge pull request #34334 from mwielgus/ns-delete
Automatic merge from submit-queue

Include DaemonSets and Deployments in Namespace deletion

More generic deletion should be added next week.

cc: @quinton-hoole
2016-10-11 05:46:46 -07:00
Kubernetes Submit Queue db0529fc7c Merge pull request #34349 from deads2k/controller-07-d-contorller
Automatic merge from submit-queue

convert deployment controller to shared informers

Converts the deployment controller to shared informers.

@kargakis I think you've been in here.  Pretty straight forward swap.

Fixes #27687
2016-10-11 05:46:38 -07:00
Kubernetes Submit Queue 8179f4d1a3 Merge pull request #34332 from resouer/cri-versioncache
Automatic merge from submit-queue

Add version cache for cri APIVersion

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

1. Added a version cache for `APIVersion()` by using object cache., with ttl=1 min
2. Leaving `Version()` as it is today
2016-10-11 03:54:52 -07:00
Kubernetes Submit Queue f59fd3df8d Merge pull request #34482 from mwielgus/podanalyzer
Automatic merge from submit-queue

Move pod analyzer to federated utils

Both replicaset and deployment controllers are using it.
2016-10-11 03:15:54 -07:00
Kubernetes Submit Queue bcda487f61 Merge pull request #34241 from mwielgus/deployments-apiserver
Automatic merge from submit-queue

Add deployments to federation apiserver

cc: @quinton-hoole @nikhiljindal @kubernetes/sig-cluster-federation
2016-10-11 03:15:46 -07:00
Kubernetes Submit Queue 894d8605dc Merge pull request #34415 from colemickens/colemickens-hack-hyperkube
Automatic merge from submit-queue

Fix hack/dev-push-hyperkube.sh

<!--  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 fixes `hack/dev-push-hyperkube.sh`. It simplifies/standardizes its usage and fixes it for the changes to the build system.
2016-10-11 03:15:38 -07:00
Kubernetes Submit Queue 363d6ef934 Merge pull request #34371 from ixdy/ubuntu-kubernetes-tar-gz
Automatic merge from submit-queue

Ubuntu: download client and server tarballs instead of mondo-tarball

Part of #28629 / #28435.

This should be functionally the same, except that you will download ~1/3 the bytes.

cc @WIZARD-CXY
2016-10-11 02:37:16 -07:00
Kubernetes Submit Queue e7f77237e0 Merge pull request #34403 from derekwaynecarr/update-libcontainer
Automatic merge from submit-queue

Update godeps for libcontainer+cadvisor

Needed to unblock more progress on pod cgroup.

/cc @vishh @dchen1107 @timstclair
2016-10-11 01:58:53 -07:00
Marcin Wielgus 7f472510bf Add deployments to federation apiserver 2016-10-11 10:36:35 +02:00
Kubernetes Submit Queue 0b627334df Merge pull request #34246 from hongchaodeng/etcddep
Automatic merge from submit-queue

etcd3: use PrevKV to remove additional get

ref: #https://github.com/kubernetes/kubernetes/issues/33653

We are trying to test using PrevKV feature and see if it improves performance.
In order to test this, we will need etcd v3.1 (alpha) image.

Blockers:
- update gcr.io image (version v3.0.12)
2016-10-11 01:16:59 -07:00
Kubernetes Submit Queue 254c10f08a Merge pull request #32137 from mtaufen/spellcheck
Automatic merge from submit-queue

Fixup in kubelet.go: Package short names should be [a-z0-9]
2016-10-11 00:33:34 -07:00
Kubernetes Submit Queue c50af358e8 Merge pull request #34473 from DirectXMan12/feature/set-image-id-manifest-digest
Automatic merge from submit-queue

Kubelet: Use RepoDigest for ImageID when available

```release-note
Use manifest digest (as `docker-pullable://`) as ImageID when available (exposes a canonical, pullable image ID for containers).
```

Previously, we used the docker config digest (also called "image ID"
by Docker) for the value of the `ImageID` field in the container status.
This was not particularly useful, since the config manifest is not
what's used to identify the image in a registry, which uses the manifest
digest instead.  Docker 1.12+ always populates the RepoDigests field
with the manifest digests, and Docker 1.10 and 1.11 populate it when
images are pulled by digest.

This commit changes `ImageID` to point to the the manifest digest when
available, using the prefix `docker-pullable://` (instead of
`docker://`)

Related to #32159
2016-10-11 00:33:25 -07:00
Kubernetes Submit Queue b3a9671cb8 Merge pull request #34245 from mwielgus/fed-api-daemons
Automatic merge from submit-queue

DaemonSets in federated apiserver

cc: @quinton-hoole @nikhiljindal
2016-10-10 23:53:57 -07:00
Kubernetes Submit Queue 580f0ec159 Merge pull request #34387 from m1093782566/m109-fix-bindata
Automatic merge from submit-queue

Add hint message for go-bindata

<!--  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**:

Add hint message for go-bindata
2016-10-10 23:53:50 -07:00
Kubernetes Submit Queue 788787a0d4 Merge pull request #34468 from mtaufen/fix-upgrade-image-setup
Automatic merge from submit-queue

Fix upgrade.sh image setup

The original fix (#33147) sourced the correct `node-helper.sh` but set
`node_os_distribution` instead of `NODE_OS_DISTRIBUTION`. The
`set-node-image` function is imported indirectly via `source
"${KUBE_ROOT}/cluster/kube-util.sh"`, which in turn (in the GCE case)
sources `cluster/gce/util.sh`. Since the `set-node-image` function
relies on the `NODE_OS_DISTRIBUTION` variable, the original fix
did not have the entire intended effect.

I have confirmed that cherry-picking #33147 into the `release-1.4`
branch and layering this commit on top of it make for a successful
upgrade from a GCI based K8s 1.3 cluster to a GCI based K8s 1.4 cluster.


**NOTE:** This, along with #33147, should be cherry-picked into the `release-1.4` branch.
2016-10-10 23:53:42 -07:00
Kubernetes Submit Queue 6af180b0d7 Merge pull request #34019 from deads2k/rbac-12-default-bindings
Automatic merge from submit-queue

Add default cluster role bindings

Add default cluster roles bindings to rbac bootstrapping.  Also adds a case for allowing escalation when you have no authenticator.

@liggitt I expect you may need to make peace with this.
2016-10-10 23:53:34 -07:00
Kubernetes Submit Queue 1aed75a052 Merge pull request #34402 from dims/update-sftp-package
Automatic merge from submit-queue

Update sftp package

In support of #34328

Looks like some folks need:
4d0e916071
2016-10-10 22:36:25 -07:00
Kubernetes Submit Queue 1837914d8e Merge pull request #34029 from liggitt/service-account-rotation
Automatic merge from submit-queue

Enable service account signing key rotation

fixes #21007

```release-note
The kube-apiserver --service-account-key-file option can be specified multiple times, or can point to a file containing multiple keys, to enable rotation of signing keys.
```

This PR enables the apiserver authenticator to verify service account tokens signed by different private keys. This can be done two different ways:
* including multiple keys in the specified keyfile (e.g. `--service-account-key-file=keys.pem`)
* specifying multiple key files (e.g. `--service-account-key-file current-key.pem --service-account-key-file=old-key.pem`)

This is part of enabling signing key rotation:

1. update apiserver(s) to verify tokens signed with a new public key while still allowing tokens signed with the current public key (which is what this PR enables)
2. give controllermanager the new private key to sign new tokens with
3. remove old service account tokens (determined by verifying signature or by checking creationTimestamp) once they are no longer in use (determined using garbage collection or magic) or some other algorithm (24 hours after rotation, etc). For the deletion to immediately revoke the token, `--service-account-lookup` must be enabled on the apiserver.
4. once all old tokens are gone, update apiservers again, removing the old public key.
2016-10-10 21:54:03 -07:00
Kubernetes Submit Queue a1f1e88f44 Merge pull request #34344 from timstclair/summary-test
Automatic merge from submit-queue

Run flaky tests in parallel

We should try to emulate the main CI environment in the flaky test suite so that it is clear when a test can be moved out of the flaky suite. Since a common source of flakes is unintended interactions between tests running in parallel, we should run the flaky suite in parallel to better detect such flakes.
2016-10-10 21:12:39 -07:00
Kubernetes Submit Queue 28080293b1 Merge pull request #33148 from mml/words
Automatic merge from submit-queue

Clarify MinAvailable approval semantics.
2016-10-10 20:32:45 -07:00
Kubernetes Submit Queue e4b1e263f4 Merge pull request #34461 from mikebryant/wip-34459
Automatic merge from submit-queue

Fix panic in #34459

<!--  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**:
Use the correct variable in the thirdpartyresourcedata codec so it doesn't panic on a nil pointer reference

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

**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-10-10 16:20:37 -07:00
Kubernetes Submit Queue 988dbe6e61 Merge pull request #34419 from luxas/kubeadm_141
Automatic merge from submit-queue

Bump kubeadm to use kubernetes v1.4.1

v1.4.1 is going to be released tomorrow, so make kubeadm use it by default

This will make it possible to run kubeadm on Raspberry Pi's OOTB

We should strive towards releasing a second kubeadm release this week that's stable and has the small new tweaks we've coded these two weeks.
@errordeveloper @mikedanese
2016-10-10 16:20:29 -07:00
Kubernetes Submit Queue 6656929b15 Merge pull request #34153 from zmerlynn/log-dump-optionally-use-kubectl
Automatic merge from submit-queue

log-dump.sh: Add a LOG_DUMP_USE_KUBECTL mode, refactor

**What this PR does / why we need it**: This refactors log-dump.sh so that it can optionally just use `"kubectl get node"` output, for dumping logs off a cluster that was brought up using something other than kube-up.sh (e.g. kops or kubeadm).

Note that for obvious reasons, if the cluster is fried, it'll probably fail to hit the apiserver and all bets are off, but for the 95% case where you're debugging tests, this is good. To cover the remaining 5%, you could actually squirrel away the relevant external IPs after the e2e.go:Up stage (because we better be able to hit the apiserver then) and fetch them from cache later.

**Special notes for your reviewer**: Sorry for so many changes. :)
2016-10-10 16:20:20 -07:00
Kubernetes Submit Queue a2a64dc7d2 Merge pull request #34432 from yuexiao-wang/fix-cassandra
Automatic merge from submit-queue

Clean up the link in cassandra

**What this PR does / why we need it**:
Clean up the link in  README for cassandra

**Which issue this PR fixes** :
 fixes #34431


Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
2016-10-10 14:49:10 -07:00
Kubernetes Submit Queue 9e2f868be0 Merge pull request #34360 from bprashanth/np_fix
Automatic merge from submit-queue

Remove onlyLocal NodePort e2e till pr #33957

We were basically testing this bug: https://github.com/kubernetes/kubernetes/issues/30809
We fixed the bug: https://github.com/kubernetes/kubernetes/pull/33587, but forgot to remove the "test". 
This pr adds a test for the new feature: https://github.com/kubernetes/kubernetes/pull/33957 (ensure that nodePort with onlyLocal works only on nodes with endpoints and fails otherwise)

fixes https://github.com/kubernetes/kubernetes/issues/34124
2016-10-10 14:49:01 -07:00
Zach Loafman 4338351be2 log-dump.sh: Add a LOG_DUMP_USE_KUBECTL mode, refactor
This refactors log-dump.sh so that it can optionally just use "kubectl
get node" output, for dumping logs off a cluster that was brought up
using sometihng other than kube-up.sh (e.g. kops or kubeadm).

Note that for obvious reasons, if the cluster is fried, it'll probably
fail to hit the apiserver and all bets are off, but for the 95% case
where you're debugging tests, this is good. To cover the remaining 5%,
you could actually squirrel away the relevant external IPs after the
e2e.go:Up stage (because we better be able to hit the apiserver then)
and fetch them from cache later.
2016-10-10 13:41:49 -07:00
Kubernetes Submit Queue c2027108cd Merge pull request #34452 from mwielgus/forloop-gc
Automatic merge from submit-queue

Move periodic backoff gc to federation utils

Plus put it into a for loop.

cc: @quinton-hoole
2016-10-10 12:40:39 -07:00
Kubernetes Submit Queue 42c027215c Merge pull request #31671 from anguslees/config-drive
Automatic merge from submit-queue

openstack: Support config-drive and improve CurrentNodeName, GetZone

This PR adds support for fetching local instance metadata via config-drive (as well as querying metadata service), and surfaces some additional metadata information (from either source):

- `CurrentNodeName` now returns the OpenStack instance name, rather than the current hostname (they might not be the same)
- `GetZone` includes availability zone label in `FailureDomain`

Thanks to @kiall for a WIP implementation of the latter.
2016-10-10 12:40:28 -07:00
Lucas Käldström 99aaa3d8f4 Bump kubeadm to use kubernetes v1.4.1 2016-10-10 22:25:26 +03:00
Solly Ross 135f87dc15 Kubelet: Use RepoDigest for ImageID when available
Previously, we used the docker config digest (also called "image ID"
by Docker) for the value of the `ImageID` field in the container status.
This was not particularly useful, since the config manifest is not
what's used to identify the image in a registry, which uses the manifest
digest instead.  Docker 1.12+ always populates the RepoDigests field
with the manifest digests, and Docker 1.10 and 1.11 populate it when
images are pulled by digest.

This commit changes `ImageID` to point to the the manifest digest when
available, using the prefix `docker-pullable://` (instead of
`docker://`)
2016-10-10 15:16:58 -04:00
Solly Ross b46dbbec1b Add method to inspect Docker images by ID
Previously, the `InspectImage` method of the Docker interface expected a
"pullable" image ref (name, tag, or manifest digest).  If you tried to
inspect an image by its ID (config digest), the inspect would fail to
validate the image against the input identifier.  This commit changes
the original method to be named `InspectImageByRef`, and introduces a
new method called `InspectImageByID` which validates that the input
identifier was an image ID.
2016-10-10 15:16:58 -04:00
Marcin Wielgus 3cb8a46a1e Move pod analyzer to utils 2016-10-10 21:09:30 +02:00
Jess Frazelle 05ba20cca8
Update CHANGELOG.md for v1.4.1. 2016-10-10 12:04:24 -07:00
deads2k f73d1ea90a make sure that the bootstrap rbac rules are getting created in test-cmd 2016-10-10 15:00:36 -04:00
deads2k 467b7d928f add clusterrolebindings to bootstrapping 2016-10-10 15:00:35 -04:00
Matt Liggett 1b3619d8eb // update-all.sh 2016-10-10 11:29:40 -07:00
derekwaynecarr 62e1759ac0 update kubelet to look at all cgroup mounts 2016-10-10 14:24:18 -04:00
derekwaynecarr 07bd42a192 update libcontainer,gocapability,cadvisor 2016-10-10 14:24:05 -04:00
Kubernetes Submit Queue cf707989b3 Merge pull request #34260 from jessfraz/ocd-about-cherry-pick-script
Automatic merge from submit-queue

hack: update cherry-pick script to show subject when patch is split

<!--  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 is a continuation of #34049, which worked, but then I realized some patch files have more than one subject, see example: https://github.com/kubernetes/kubernetes/pull/34228

This cleans the output so it looks like this:

```
Automated cherry pick of #32593

Cherry pick of #32593 on release-1.4.

#32593: Fix audit_test regex for iso8601 timestamps
```

pretty!!!

**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`. 
-->

Signed-off-by: Jess Frazelle <acidburn@google.com>
2016-10-10 11:00:35 -07:00
Kubernetes Submit Queue ff20b172ef Merge pull request #33718 from justinsb/arbitrary_names_2b
Automatic merge from submit-queue

Use nodeutil.GetHostIP consistently when talking to nodes

Most of our communications from apiserver -> nodes used
    nodutil.GetNodeHostIP, but a few places didn't - and this meant that the
    node name needed to be resolvable _and_ we needed to populate valid IP
    addresses.

```release-note
The apiserver now uses addresses reported by the kubelet in the Node object's status for apiserver->kubelet communications, rather than the name of the Node object. The address type used defaults to `InternalIP`, `ExternalIP`, and `LegacyHostIP` address types, in that order.
```
2016-10-10 11:00:26 -07:00
Marcin Wielgus 47f0e738e9 Move periodic backoff gc to federation utils 2016-10-10 19:59:35 +02:00
Michael Taufen 263c54c424 Fix upgrade.sh image setup
The original fix (#33147) sourced the correct `node-helper.sh` but set
`node_os_distribution` instead of `NODE_OS_DISTRIBUTION`. The
`set-node-image` function is imported indirectly via `source
"${KUBE_ROOT}/cluster/kube-util.sh"`, which in turn (in the GCE case)
sources `cluster/gce/util.sh`. Since the `set-node-image` function
relies on the `NODE_OS_DISTRIBUTION` variable, the original fix
did not have the entire intended effect.

I have confirmed that cherry-picking #33147 into the `release-1.4`
branch and layering this commit on top of it make for a successful
upgrade from a GCI based K8s 1.3 cluster to a GCI based K8s 1.4 cluster.
2016-10-10 10:54:58 -07:00
Mike Bryant a6dafe401f Use correct variable in thirdpartyresourcedata codec.
Fixes #34459
2016-10-10 18:42:33 +01:00
Matt Liggett 37f0fce0b8 Clarify MinAvailable approval semantics.
Fixes doc comments to be in line with #33143
2016-10-10 10:40:40 -07:00
deads2k 581051b8fa hardcode deployment resync until deployment controller is updated 2016-10-10 13:11:50 -04:00
Kubernetes Submit Queue e72f26a3ff Merge pull request #34109 from mwielgus/fed-deployment-controller
Automatic merge from submit-queue

Federated deployment controller - part 1

Based on federated replicaset controller (copy + find/replace).

Remaining stuff:
- refacing out common elements to libs
- using owerref in pod analysis
- e2e tests
- renaming concurrency flag for rs and reusing it in deployment
- updating only one cluster at a time if rollingupdate strategy is used.

cc: @quinton-hoole @kubernetes/sig-cluster-federation

**Release note**:

```release-note
Federated deployment controller that supports the same api as the regular kubernetes deployment controller.
```
2016-10-10 10:08:01 -07:00
Kubernetes Submit Queue 851705ea59 Merge pull request #34147 from mikedanese/kubeadm-api
Automatic merge from submit-queue

kubeadm: turn api into a real apigroup

@kubernetes/sig-cluster-lifecycle
2016-10-10 09:59:54 -07:00
Hongchao Deng 2516ab058d etcd3 watcher: use prevKV for prevObj 2016-10-10 09:46:40 -07:00
Hongchao Deng c060417ecb godep: update etcd to 3.0.12 2016-10-10 09:46:40 -07:00
Kubernetes Submit Queue 3c9600e4c4 Merge pull request #32154 from jessfraz/listen-for-signal-hack-e2e
Automatic merge from submit-queue

hack/e2e.go: listen for Interrupt signal and attempt cleanup if run with --down

<!--  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**: adds a listener on ^C, so if `hack/e2e.go` is run with `--down` and the user ^C, then it will attempt to cleanup the resources.

**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
NONE
```



Signed-off-by: Jess Frazelle <me@jessfraz.com>
2016-10-10 08:10:26 -07:00