Commit Graph

37031 Commits

Author SHA1 Message Date
Kubernetes Submit Queue
b65a07b204 Merge pull request #34435 from wojtek-t/avoid_unnecessary_decoding
Automatic merge from submit-queue

Avoid unnecessary decoding in etcd3 client

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

With the "Cacher" layer in Kubernetes, most of the watches processed by "pkg/storage/etcd3/watcher.go" have "filter = Everything()". That said, we generally don't need to decode previous value of the object (which is used only to get the value of filter of it), because we already know it will be true.

This PR is basically fixing this problem.

Should be merged after https://github.com/kubernetes/kubernetes/pull/34246
2016-10-12 01:02:09 -07:00
Kubernetes Submit Queue
d6da3f8e66 Merge pull request #34512 from foxish/add-finalizers
Automatic merge from submit-queue

Copy finalizers from template spec to pod.

**What this PR does / why we need it**: The PodTemplateSpec has a finalizers field whose contents are not copied over to a pod during creation.
2016-10-12 00:21:42 -07:00
Kubernetes Submit Queue
d27076c18b Merge pull request #31908 from colhom/aws-compat
Automatic merge from submit-queue

[WIP] AWS compatibility for federation cluster and e2e

I've been testing this and have reached a point where the e2e tests run, and some test failures are popping up which are not overtly related to AWS specific things.

```sh
SSSSSSSSSSSSSSSS

Summarizing 5 Failures:

[Fail] [k8s.io] [Feature:Federation] Federated Services DNS [BeforeEach] should be able to discover a federated service 
/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/test/e2e/federation-util.go:233

[Fail] [k8s.io] [Feature:Federation] Federated Services Service creation [It] should create matching services in underlying clusters 
/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/test/e2e/federation-util.go:233

[Fail] [k8s.io] Federated ingresses [Feature:Federation] Federated Ingresses [It] should create and update matching ingresses in underlying clusters 
/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/test/e2e/federated-ingress.go:289

[Fail] [k8s.io] [Feature:Federation] Federated Services DNS [BeforeEach] non-local federated service [Slow] missing local service should never find DNS entries for a missing local service 
/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/test/e2e/federation-util.go:233

[Fail] [k8s.io] [Feature:Federation] Federated Services DNS [BeforeEach] non-local federated service should be able to discover a non-local federated service 
/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/test/e2e/federation-util.go:233

Ran 16 of 383 Specs in 519.872 seconds
FAIL! -- 11 Passed | 5 Failed | 1 Pending | 366 Skipped --- FAIL: TestE2E (519.89s)
```

\cc @quinton-hoole @madhusudancs for advice. Should I investigate further?
2016-10-11 23:43:17 -07:00
Kubernetes Submit Queue
6f84c9b96e Merge pull request #34071 from liggitt/authz-webhook
Automatic merge from submit-queue

Allow webhook authorizer to use SubjectAccessReviewInterface

Refactors the authorization webhook to be able to be fed a kubeconfig file or a SubjectAccessReviewsInterface 

Added tests to exercise retry logic, and ensure the correct serialized version is sent to the remote webhook (I also made sure the new tests passed on the current webhook impl in master)

c.f. https://github.com/kubernetes/kubernetes/pull/32547
c.f. https://github.com/kubernetes/kubernetes/pull/32518
2016-10-11 23:04:56 -07:00
Kubernetes Submit Queue
e7a095b403 Merge pull request #30745 from madhusudancs/fed-make-phases
Automatic merge from submit-queue

Separate the build recipe in federation Makefile into separate phases.

This is based on PR #30744. Please review only the last commit here.

cc @kubernetes/sig-cluster-federation @colhom
2016-10-11 21:52:54 -07:00
Kubernetes Submit Queue
ec6aba92a7 Merge pull request #34524 from liggitt/x509-chain
Automatic merge from submit-queue

Test x509 intermediates correctly

Fixes #34517
2016-10-11 20:19:10 -07:00
Kubernetes Submit Queue
272703702a Merge pull request #34574 from Random-Liu/cri-unix-to-unixnano
Automatic merge from submit-queue

CRI: Change dockershim to use UnixNano instead of Unix.

Fixes https://github.com/kubernetes/kubernetes/issues/34492.

This PR changes the dockershim to use `UnixNano` instead of `Unix` to return timestamp in nanoseconds.

@yujuhong
2016-10-11 19:40:18 -07:00
Kubernetes Submit Queue
2ec98e7667 Merge pull request #34416 from colemickens/colemickens-cifs-hyperkube
Automatic merge from submit-queue

hyperkube image: add `cifs-utils`

<!--  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 adds `cifs-utils` to the hyperkube image.

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

**Special notes for your reviewer**: none



```release-note
Add `cifs-utils` to the hyperkube image.
```
2016-10-11 18:56:23 -07:00
Kubernetes Submit Queue
8a72f11596 Merge pull request #33842 from deads2k/api-19-clean-structs
Automatic merge from submit-queue

clean api server cruft

Some cruft has developed over refactors.  Remove that cruft.

@liggitt probably last in the chain so far
2016-10-11 18:56:15 -07:00
Kubernetes Submit Queue
9c5cb27f53 Merge pull request #34553 from jbeda/rsync-delete
Automatic merge from submit-queue

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 17:28:03 -07:00
Kubernetes Submit Queue
14fb315e5b Merge pull request #34558 from mikedanese/cloudprovider
Automatic merge from submit-queue

kubeadm: register all cloudproviders

Fixes https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/kubernetes-sig-cluster-lifecycle/fXjS-DL5aq8/7VM5pt-_FAAJ
2016-10-11 16:46:41 -07:00
Kubernetes Submit Queue
3d2674b2dd Merge pull request #34552 from deads2k/controller-09-d-flake
Automatic merge from submit-queue

filter informer actions when inspecting controller unit test reactions

fixes https://github.com/kubernetes/kubernetes/issues/34547

There's a race where the informer tries to start list/watching and that can happen faster than the reaction test.  This simply filters it.

@kargakis @ncdc @eparis flake fix ptal
2016-10-11 16:01:49 -07:00
Kubernetes Submit Queue
ff43515ff7 Merge pull request #34140 from timothysc/e2e-variant
Automatic merge from submit-queue

remove [Conformance] flag on some e2es 

Downstream distributions that absorb the upstream tests would like to give their customers a standard mechanism to validate their clusters, post setup. As of today [Conformance] works for most things, but there are a known set of tests that vary due to opinionated differences around networking, security, etc... and providing a complete skip list can be cumbersome.  To address this, we've simply modified the flag on some tests to [Conformance:Variant].  All existing behavior should be maintained. 

Fixes: #34105
2016-10-11 16:01:42 -07:00
Random-Liu
13459411c1 Change dockershim to use UnixNano instead of Unix. 2016-10-11 14:50:55 -07:00
Colin Hom
c7ee1a0749 fixup! set advertise address if not ip address 2016-10-11 11:55:00 -07:00
Colin Hom
5039d93c60 fixup: iam roles are now uniquely identified by CLUSTER_ID + VPC_ID
this is the same criteria that is currently applied for ascertaining ownership other resources ( eg: security groups, which are also deleted in a similar fashion)

We are now respecting existing cluster namespace isolation rules.
2016-10-11 11:54:55 -07:00
Mike Danese
dc616dde7c kubeadm: register all cloudproviders 2016-10-11 11:19:46 -07:00
deads2k
2ad0fbd99a filter informer actions when inspecting controller unit test reactions 2016-10-11 13:12:58 -04: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
deads2k
406c0a36ae cleanup cruft from API server structs 2016-10-11 10:56:05 -04:00
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
Wojciech Tyczynski
b675b2230c Avoid unnecessary decoding in etcd3 client 2016-10-11 10:38:46 +02: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
Jordan Liggitt
c984744cb1
Test x509 intermediates correctly 2016-10-11 01:48:43 -04: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
Anirudh
887e88669d Copy finalizers from template spec to pod. 2016-10-10 17:31:28 -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
Timothy St. Clair
eb29c6133b Remove [Conformance] flag on e2es which we know are
subject to change downstream.
2016-10-10 15:48:26 -05: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