Commit Graph

36847 Commits

Author SHA1 Message Date
Kubernetes Submit Queue
0c7b9b8f18 Merge pull request #33595 from freehan/fix-reboot-ifdownup
Automatic merge from submit-queue

try to use ifdown/ifup if available

Tried this on both ContainerVM and GCI image. 

`ip link set eth0 down` is too destructive for containerVM. It could not recover with correct network setup hence failing the test. Need to use ifdown/ifup on containerVM. 

reference:
http://serverfault.com/questions/603906/ip-link-set-not-assigning-ip-address-but-ifup-does
2016-10-07 15:22:05 -07:00
Kubernetes Submit Queue
0623f5aab5 Merge pull request #34350 from kubernetes/revert-26501-scheduler
Automatic merge from submit-queue

Revert "Add kubelet awareness to taint tolerant match caculator."

Reverts kubernetes/kubernetes#26501

Original PR was not fully reviewed by @kubernetes/sig-node 

cc/ @timothysc @resouer
2016-10-07 14:42:12 -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
Kubernetes Submit Queue
c23346f391 Merge pull request #33014 from DirectXMan12/feature/set-image-id-manifest-digest
Automatic merge from submit-queue

Kubelet: Use RepoDigest for ImageID when available

**Release note**:
```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-07 12:48:32 -07:00
David Oppenheimer
cd4e08e7ec Revert "Add kubelet awareness to taint tolerant match caculator." 2016-10-07 12:10:55 -07:00
Kubernetes Submit Queue
21188cadeb Merge pull request #26501 from resouer/scheduler
Automatic merge from submit-queue

Add kubelet awareness to taint tolerant match caculator.

Add kubelet awareness to taint tolerant match caculator.

Ref: #25320

This is required by `TaintEffectNoScheduleNoAdmit` & `TaintEffectNoScheduleNoAdmitNoExecute `, so that node will know if it should expect the taint&tolerant
2016-10-07 12:05:35 -07:00
Kubernetes Submit Queue
4a9f402808 Merge pull request #34330 from jonboulle/typo
Automatic merge from submit-queue

build: fix typo in error message help
2016-10-07 09:34:06 -07:00
Kubernetes Submit Queue
f765f5e5d0 Merge pull request #33927 from deads2k/api-21-fix-improper-eviction
Automatic merge from submit-queue

fix pod eviction storage

Refactor pod eviction storage to remove the tight order coupling of the storage.  This also gets us ready to deal with cases where API groups are not co-located on the same server, though the particular client being used would assume a proxy.
2016-10-07 08:18:28 -07:00
Kubernetes Submit Queue
1510ed00fd Merge pull request #34325 from mwielgus/ingress-unit-fix
Automatic merge from submit-queue

Federated ingress unit test fix

Adds RaceFreeFakeWatcher to watch.go. If this struct succeeds with helping IngressController i will try to move all FakeWatchers to this implementation.

cc: @quinton-hoole @madhusudancs @wojtek-t @kubernetes/sig-cluster-federation

Should help with  #32685.
2016-10-07 07:34:29 -07:00
Kubernetes Submit Queue
2db9b3cddc Merge pull request #34323 from kargakis/bump-status-check-timeout
Automatic merge from submit-queue

test: bump deployment test timeout

Matches the timeout used in [WaitForDeploymentStatus](6d56d0337a/test/e2e/framework/util.go (L3610))

Fixes https://github.com/kubernetes/kubernetes/issues/31810
2016-10-07 07:34:20 -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
Marcin Wielgus
e033c5fe7b Use RaceFreeFakeWatcher in federation controllers helper and ingress controller 2016-10-07 15:37:57 +02:00
Marcin Wielgus
46cc47e324 Race free version of FakeWatcher 2016-10-07 15:37:57 +02:00
Kubernetes Submit Queue
59f929b636 Merge pull request #33451 from ivan4th/cleanup-scheduler-predicates-e2e-tests
Automatic merge from submit-queue

Clean up SchedulerPredicates e2e tests
2016-10-07 06:29:19 -07:00
Kubernetes Submit Queue
8b834dd5c0 Merge pull request #34243 from liggitt/simplify-raw
Automatic merge from submit-queue

Simplify kubectl get --raw

Write to configured output stream
Don't assume output is a string
2016-10-07 06:29:10 -07:00
Kubernetes Submit Queue
5d3321ef83 Merge pull request #31346 from wojtek-t/dont_set_timeout_in_tests
Automatic merge from submit-queue

Don't set timeouts in clients in tests

We are not setting timeouts in production - we shouldn't do it in tests then...

Addresses point 2. of #31345
2016-10-07 05:51:45 -07:00
Michail Kargakis
b90661af9b test: bump deployment test timeout
Matches the timeout used in WaitForDeploymentStatus
2016-10-07 14:18:29 +02:00
Kubernetes Submit Queue
6d56d0337a Merge pull request #33234 from caesarxuchao/retry-discovery-failure
Automatic merge from submit-queue

Discovery client retry when failed to discovery resrouces

Fix #32308

`ServerPreferredNamespacedResources()` fails if in the middle of its execution, the TPR e2e tests change the supported resources on the API server. This PR let the e2e test framework retry `ServerPreferredNamespacedResources()`.

cc @lavalamp
2016-10-07 05:13:21 -07:00
Kubernetes Submit Queue
3be8e3e44b Merge pull request #33981 from freehan/e2e-deletens-on-failure
Automatic merge from submit-queue

add delete-namespace-on-failure flag

I have been doing this for a while. 

Setting `--delete-namespace=false --clean-start=true` only works if you have only one e2e test running in a loop. 

This PR lets someone to set `delete-namespace-on-failure=false` and run multiple tests in parallel and preserve the crime scene. It makes it easier to reproduce failures. 

Let me know if this is worth it or there are some other tricks I am not aware.
2016-10-07 04:34:27 -07:00
Kubernetes Submit Queue
f352e6718e Merge pull request #33978 from rata/simplify-e2e-secret
Automatic merge from submit-queue

Remove duplicated code in secret e2e tests

<!--  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 come up when writing another PR: https://github.com/kubernetes/kubernetes/pull/28936 as a comment from @thockin. 

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

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

This patch just removes duplicated code in secret e2e tests.
2016-10-07 03:56:04 -07:00
Kubernetes Submit Queue
0b6040ceef Merge pull request #33780 from a-robinson/cockroach
Automatic merge from submit-queue

Don't tolerate unready endpoints in cockroachdb example

That annotation was only included in the initial config due to cargo-culting, and
has the potential to break node startup if it resolves its own address
to gossip to.

@bprashanth @tschottdorf
2016-10-07 03:18:10 -07:00
Ivan Shvedunov
09b2d57da9 Clean up SchedulerPredicates e2e tests
Reduce repetition & don't use hardcoded pause image tags.
2016-10-07 13:17:47 +03:00
Kubernetes Submit Queue
fa88f98f84 Merge pull request #34237 from gmarek/scheduler-bench
Automatic merge from submit-queue

Small update to scheduler benchmark

cc @hongchaodeng
2016-10-07 02:40:16 -07:00
Kubernetes Submit Queue
a89e4785ba Merge pull request #31949 from asalkeld/fix-coverage
Automatic merge from submit-queue

Ignore troublesome paths that cause coverage to fail

**What this PR does / why we need it**:
`KUBE_COVER=y make check` currently fails, this patch fixes it.

**Which issue this PR fixes** 
fixes #31691

**Special notes for your reviewer**:
None

**Release note**:

```release-note
NONE
```

This avoids the whole command failing because of errors like the following:
```
# cover k8s.io/kubernetes/pkg/client/restclient
cover: internal error: block 268 overlaps block 270
```
2016-10-07 02:40:07 -07:00
Kubernetes Submit Queue
db1985716f Merge pull request #29011 from justinsb/arbitrary_names_1
Automatic merge from submit-queue

Refactor: separate KubeletClient & ConnectionInfoGetter concepts

KubeletClient implements ConnectionInfoGetter, but it is not a complete
implementation: it does not set the kubelet port from the node record,
for example.

By renaming the method so that it does not implement the interface, we
are able to cleanly see where the "raw" GetConnectionInfo is used (it is
correct) and also have go type-checking enforce this for us.

This is related to #25532; I wanted to satisfy myself that what we were doing there was correct, and I wanted also to ensure that the compiler could enforce this going forwards.
2016-10-07 02:02:13 -07:00
Kubernetes Submit Queue
83921597ef Merge pull request #29236 from juanvallejo/jvallejo_add-configuration-missing-error-type
Automatic merge from submit-queue

Update client config invalid option errors to be more specific

This patch adds better error handling for cases where a global option (such as --context or --cluster) causes an invalid config to be returned.

```release-note
release-note-none
```
2016-10-07 01:24:49 -07:00
Kubernetes Submit Queue
144d88b0a1 Merge pull request #33567 from pmorie/gc-event
Automatic merge from submit-queue

Add node event for container/image GC failure

Follow up to #31988.  Add an event for a node when container/image GC fails.
2016-10-07 00:45:24 -07:00
Kubernetes Submit Queue
813173466a Merge pull request #34135 from nikhiljindal/delFedNsTest
Automatic merge from submit-queue

Delete federation namespace after the test completes

The code was commented because of a bug in namespace deletion which is now fixed.
Note that this deletes the namespace in federation control plane. We still need to delete the namespace from each cluster (cascading deletion)

cc @kubernetes/sig-cluster-federation
2016-10-07 00:07:57 -07:00
Kubernetes Submit Queue
56a22f925f Merge pull request #33075 from mikedanese/kubectl-prune
Automatic merge from submit-queue

kubectl: implement kubectl apply --prune

Closes https://github.com/kubernetes/kubernetes/issues/19805

Depends on #32599 

@errordeveloper @lukemarsden
2016-10-06 20:53:00 -07:00
Kubernetes Submit Queue
15b9583a71 Merge pull request #34257 from jbeda/rsync-fix
Automatic merge from submit-queue

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 18:57:51 -07: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
Kubernetes Submit Queue
ef5d694ebe Merge pull request #34251 from jingxu97/Oct/nil-mounter-10-6
Automatic merge from submit-queue

Fix nil pointer issue when getting metrics from volume mounter

Currently it is possible that the mounter object stored in Mounted
Volume data structure in the actual state of kubelet volume manager is
nil if this information is recovered from state sync process. This will
cause nil pointer issue when calculating stats in volume_stat_calculator.
A quick fix is to not return the volume if its mounter is nil. A more
complete fix is to also recover mounter object when reconstructing the
volume data structure which will be addressed in PR #33616
2016-10-06 18:18:57 -07:00
Mike Danese
62960aace7 add a test for kubectl apply --prune 2016-10-06 17:49:02 -07:00
Mike Danese
ea5ecc4145 implement kubectl apply --prune 2016-10-06 17:49:02 -07:00
nikhiljindal
d96ad8d570 Delete federation namespace after the test completes 2016-10-06 17:38:34 -07:00
Kubernetes Submit Queue
86c322e014 Merge pull request #33520 from vishh/33444
Automatic merge from submit-queue

Nodefs becomes imagefs on GCI

Kubelet cannot identify rootfs correctly
For #33444

```release-note
Enforce Disk based pod eviction with GCI base image in Kubelet
```

Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-10-06 17:37:33 -07:00
Kubernetes Submit Queue
c1d2b61d79 Merge pull request #34076 from mbohlool/c
Automatic merge from submit-queue

Remove headers that are unnecessary for proxy target

Some headers like authorization is unnecessary to pass to the proxy target. We should start removing these headers in proxy requests.
2016-10-06 15:19:38 -07:00
Kubernetes Submit Queue
808ed6bfd0 Merge pull request #34139 from liggitt/fix-jitter-until
Automatic merge from submit-queue

Fix wait.JitterUntil

https://github.com/kubernetes/kubernetes/pull/29743 changed a util method to cause process exits if a handler function panics.

Utility methods should not make process exit decisions. If a process (like the controller manager) wants to exit on panic, appending a panic handler or setting `ReallyCrash = true` is the right way to do that (discussed [here](https://github.com/kubernetes/kubernetes/pull/29743#r75509074)).

This restores the documented behavior of wait.JitterUntil
2016-10-06 13:40:08 -07:00
juanvallejo
6f925b1f82
handle invalid client config option errors
This patch provides a more relevant error message when a client
configuration option is passed with an invalid or non-existent value.

`$ kubectl get pods --cluster="non-existent"`
```
error: No configuration file found, please login or point to an existing
file
```

`$ kubectl get pods --cluster="non-existent"`
```
error: cluster "non-existent" does not exist
```
2016-10-06 16:28:51 -04:00
mbohlool
7e80ab2401 Remove unnecessary authorization headers after authorization is successful 2016-10-06 12:38:00 -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
Kubernetes Submit Queue
41f17bd9ac Merge pull request #34158 from quinton-hoole/2016-10-05-fix-ingress-bug-mac
Automatic merge from submit-queue

Add missing argument to log message in federated ingress controller.

Minor fix, to address this:

1006 01:08:50.605184       1 ingress_controller.go:674] No annotation "kubernetes.io/ingress.global-static-ip-name" exists on ingress "e2e-tests-federated-ingress-2787b/federated-ingress" in federation, and index of cluster "federation-e2e-gce-us-central1-f" is 1 and not zero.  Not queueing create operation for ingress *%!q(MISSING)* until annotation exists
2016-10-06 11:43:58 -07:00
Jing Xu
b2b04090da Fix nil pointer issue when getting metrics from volume mounter
Currently it is possible that the mounter object stored in Mounted
Volume data structure in the actual state of kubelet volume manager is
nil if this information is recovered from state sync process. This will
cause nil pointer issue when calculating stats in volume_stat_calculator.
A quick fix is to not return the volume if its mounter is nil. A more
complete fix is to also recover mounter object when reconstructing the
volume data structure which will be addressed in PR #33616
2016-10-06 11:10:46 -07:00
Kubernetes Submit Queue
6a9d56b35a Merge pull request #32724 from sjenning/eviction-timestamp
Automatic merge from submit-queue

kubelet: eviction: avoid duplicate action on stale stats

Currently, the eviction code can be overly aggressive when synchronize() is called two (or more) times before a particular stat has been recollected by cadvisor.  The eviction manager will take additional  action based on information for which it has already taken actions.

This PR provides a method for the eviction manager to track the timestamp of the last obversation and not take action if the stat has not been updated since the last time synchronize() was run.

@derekwaynecarr @vishh @kubernetes/rh-cluster-infra
2016-10-06 11:05:34 -07:00
Kubernetes Submit Queue
8dd9462dd1 Merge pull request #32995 from kargakis/scale-before-rolling-out
Automatic merge from submit-queue

controller: scale proportionally before rolling out new templates

Once we have progressDeadlineSeconds (https://github.com/kubernetes/kubernetes/pull/19343) and https://github.com/kubernetes/kubernetes/issues/32863 we should be able to get meaningful errors for the concerns I raised in https://github.com/kubernetes/kubernetes/issues/29357.

cc: @kubernetes/deployment 

Fixes https://github.com/kubernetes/kubernetes/issues/29357
2016-10-06 10:03:52 -07:00
Seth Jennings
98e97a475a kubelet: eviction: avoid duplicate action on stale stats 2016-10-06 11:39:05 -05:00
Kubernetes Submit Queue
07eba4c6ef Merge pull request #33392 from sjenning/min-reclaim-percent
Automatic merge from submit-queue

kubelet: eviction: allow minimum reclaim as percentage

Fixes #33354 

xref #32537

**Release note**:
```release-note
The kubelet --eviction-minimum-reclaim option can now take precentages as well as absolute values for resources quantities
```
@derekwaynecarr @vishh @mtaufen
2016-10-06 09:25:46 -07:00
Kubernetes Submit Queue
4077c864bf Merge pull request #34229 from jbeda/fix-federation-push
Automatic merge from submit-queue

Fix broken build/push-federation-images.sh

The federation CI build is 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 08:45:09 -07:00
Kubernetes Submit Queue
cfbb5e1040 Merge pull request #34150 from mbohlool/co2
Automatic merge from submit-queue

Fix a typo in openapi spec generation

A typo in util.sh resulted in the wrong spec stored in source tree. The commit should be explanatory.
2016-10-06 08:44:59 -07:00
Jordan Liggitt
82a099d92d
Simplify kubectl get --raw 2016-10-06 11:42:19 -04:00