Commit Graph

14939 Commits

Author SHA1 Message Date
Kubernetes Submit Queue
36bc5b11c3 Merge pull request #32232 from Random-Liu/avoid-syncpod-when-no-mirrorpod
Automatic merge from submit-queue

Avoid unnecessary status update when there is no corresponding mirror pod

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

This PR changes status manager to skip update when there is no mirror pod for a static pod.
We need this because:
1) When static pod terminates and mirror pod is deleted, this will avoid extra `syncPod`.
2) During mirror pod creation and recreation, this will avoid unnecessary `syncPod`.

Mark P1 to match the original issue.

@wojtek-t @yujuhong 
/cc @kubernetes/sig-node
2016-09-08 11:53:31 -07:00
Kubernetes Submit Queue
943d7aa5aa Merge pull request #31247 from deads2k/api-03
Automatic merge from submit-queue

refactor genericapiserver new to combine initialization

Combines `New` and `init` since the two were inseparable before anyway.  `New` now has all the code to create the `GenericAPIServer`.

The rest of the change is a move.  I want to refactor the flow more, but I figured that doing it separately would simplify the review.

@sttts how do you feel about looking at this one?
2016-09-08 09:10:24 -07:00
Kubernetes Submit Queue
bf9a62035d Merge pull request #31289 from deads2k/remove-cast-utilities
Automatic merge from submit-queue

remove cast utilities from rbac

Casting functions like these are a source of pain in OpenShift.  We should eliminate them to avoid drift problems like we've had downstream.

@kubernetes/sig-auth 

@ericchiang ptal
2016-09-08 08:23:01 -07:00
Kubernetes Submit Queue
504ccc6f37 Merge pull request #32275 from wojtek-t/split_process_event
Automatic merge from submit-queue

Split dispatching to watchers in Cacher into separate goroutine.

Should help with #32257
2016-09-08 07:42:12 -07:00
Kubernetes Submit Queue
23079c4569 Merge pull request #32270 from gmarek/metric
Automatic merge from submit-queue

Change the eviction metric type and fix rate-limited-timed-queue

People how know better convinced me that aggregate counter is better than a gauge for a number of evictions metric. @Q-Lee 

Per discussion with @pwittrock I add a v1.4 label and a cherrypick candidate label. This is a slightly bigger change than I thought, but it fixes a bug in eviction logic, so it's also important.

cc @derekwaynecarr @smarterclayton @timothysc
2016-09-08 06:59:43 -07:00
Kubernetes Submit Queue
456c78a806 Merge pull request #32280 from wojtek-t/fix_scalability_failure
Automatic merge from submit-queue

Fix allow for non-ready nodes in e2e framework

Ref #32257
2016-09-08 06:21:23 -07:00
Kubernetes Submit Queue
54243d4f1b Merge pull request #32258 from liggitt/ingress-prefix
Automatic merge from submit-queue

Pin ingresses etcd prefix for 1.3 compatibility

fixes https://github.com/kubernetes/kubernetes/issues/32255
2016-09-08 06:21:18 -07:00
deads2k
b0d770ad7b refactor genericapiserver new to combine initialization 2016-09-08 08:57:10 -04:00
Kubernetes Submit Queue
b974c09819 Merge pull request #32272 from mwielgus/chan-size-watcher
Automatic merge from submit-queue

FakeWatcher with channel size constructor

Follow up for #32234. Items in the PR:
* Chan size option in watcher to prevent deadlock via buffering.
* WatcherDispatcher refactoring.
2016-09-08 05:41:30 -07:00
Kubernetes Submit Queue
d974051c47 Merge pull request #32177 from lojies/changesomeerrorcomment
Automatic merge from submit-queue

fix some error comment in create_service.go

some comments were error. mofify these to match the real.
2016-09-08 05:41:26 -07:00
Kubernetes Submit Queue
91f04c765b Merge pull request #32093 from guangxuli/kube_secret_test
Automatic merge from submit-queue

the created path should be closed in test case
2016-09-08 05:41:21 -07:00
Kubernetes Submit Queue
b2d02bd1ab Merge pull request #31395 from yujuhong/getpods
Automatic merge from submit-queue

Instruct PLEG to detect pod sandbox state changes

This PR adds a Sandboxes list in `kubecontainer.Pod`, so that PLEG can check
sandbox changes using `GetPods()` . The sandboxes are treated as regular
containers (type `kubecontainer.Container`) for now to avoid additional
changes in PLEG.

/cc @feiskyer @yifan-gu @euank
2016-09-08 05:41:16 -07:00
Wojciech Tyczynski
e750454c31 Fix allow for non-ready nodes in e2e framework 2016-09-08 14:22:08 +02:00
Kubernetes Submit Queue
8d9d32db0a Merge pull request #31499 from areed/31130-rollout-status
Automatic merge from submit-queue

kubectl rollout status waits for available pods

<!--  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 changes kubectl rollout status to wait until all updated replicas are available before finishing.

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

**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
Changes 'kubectl rollout status' to wait until all updated replicas are available before finishing.
```
Currently kubectl rollout status finishes when Deployment.Spec.Replicas == Deployment.Status.UpdatedReplicas, but it's less surprising to the user for kubectl rollout status to wait until Deployment.Status.UpdatedReplicas == Deployment.Status.Replics == Deployment.Status.AvailableReplicas
2016-09-08 05:01:26 -07:00
Marcin Wielgus
13a80ce912 FakeWatcher with channel size constructor 2016-09-08 13:38:44 +02:00
Wojciech Tyczynski
378cd81dbe Split dispatching to watchers in Cacher into separate goroutine. 2016-09-08 13:27:54 +02:00
Kubernetes Submit Queue
d877967c1a Merge pull request #32269 from wojtek-t/watcher_logs
Automatic merge from submit-queue

Extend logging for scalability tests debugging

Ref #32257
2016-09-08 04:25:10 -07:00
Kubernetes Submit Queue
c27326a26c Merge pull request #31189 from hongchaodeng/r1
Automatic merge from submit-queue

api storage: Decouple Decorator from Filter

Continue #28249

What?
This PR decouples Decorator from Filter, i.e. remove Decorator in createFilter().
- For List, Decorator is called on returned list object.
- For Watch, we implement a new watcher to pipe through decorator. Error will be returned as a watch event.

Why?
- We want to change filter to SelectionPredicate struct. But Decorator is designed to be coupled with filtering.
- Per the discussion in #28249, decorator shouldn't be coupled to filter and error from Decorator should be returned instead of assuming false filtering.
2016-09-08 04:25:05 -07:00
Kubernetes Submit Queue
bf4e9e9db8 Merge pull request #31245 from deads2k/api-02
Automatic merge from submit-queue

privatize, document, and scrub GenericAPIServer

I've gone through more of the `GenericAPIServer` struct, started documenting what the fields do and privatizing ones that aren't used elsewhere or are only used by components that need some refactoring too.
2016-09-08 03:47:50 -07:00
gmarek
c40a36cab0 Change the eviction metric type and fix rate-limited-timed-queue 2016-09-08 12:20:51 +02:00
Wojciech Tyczynski
bd54c389f5 Extend logging for scalability tests debugging 2016-09-08 12:02:59 +02:00
Kubernetes Submit Queue
aff7dfcaab Merge pull request #30513 from tmrts/kubelet-rkt-cri/use-image-service
Automatic merge from submit-queue

Kubelet rkt CRI use ImageService

Implements `container.ImageService` and refactors the `pkg/kubelet/rkt` to use it
2016-09-08 02:49:58 -07:00
Kubernetes Submit Queue
7a4d81ea43 Merge pull request #31271 from deads2k/self-sar
Automatic merge from submit-queue

add selfsubjectaccessreview API

Exposes the REST API for self subject access reviews.  This allows a user to see whether or not they can perform a particular action.

@kubernetes/sig-auth
2016-09-08 01:29:48 -07:00
Kubernetes Submit Queue
63495d785b Merge pull request #31045 from abrarshivani/vsphere_describe_volume
Automatic merge from submit-queue

Add kubectl describe cmd support for vSphere volume

This PR does following,
Add kubectl describe cmd support for vSphere volume

Examples:

> kubectl describe pod redis
.......
Volumes:
  vmdk-storage:
    Type:	vSphereVolume (a Persistent Disk resource in vSphere)
    VolumePath:	[Datastore] test1
    FSType:	ext4
.........

> kubectl describe pv pv0001
Name:		pv0001
Labels:		<none>
Status:		Available
Claim:
Reclaim Policy:	Recycle
Access Modes:	RWO
Capacity:	2Gi
Message:
Source:
    Type:	vSphereVolume (a Persistent Disk resource in vSphere)
    VolumePath:	[vsanDatastore] volumes/test11
    FSType:	ext4
No events.
2016-09-08 00:08:35 -07:00
Kubernetes Submit Queue
93c9b05bc9 Merge pull request #31979 from dagnello/vsphere-cleanup-controller-nil-check
Automatic merge from submit-queue

vSphere Cloud provider null pointer exception

This PR addresses issue #31823.

SelectByType function in govmomi will panic if deviceType is not Array,
Chan, Map, Ptr, or Slice.  Also checking if vmDevices or vm are nil,
there is nothing to cleanup.
2016-09-07 23:30:48 -07:00
Jordan Liggitt
bd1c4e751e Pin ingresses etcd prefix for 1.3 compatibility 2016-09-08 01:54:07 -04:00
Kubernetes Submit Queue
9ae463593c Merge pull request #32212 from fraenkel/save_stderr
Automatic merge from submit-queue

Save stderr since it may become nil

fixes #32206

opts.Run() may set Err to nil
2016-09-07 22:54:03 -07:00
Kubernetes Submit Queue
962d51ec68 Merge pull request #32077 from jsafrane/provision-plugin
Automatic merge from submit-queue

Do not report warning event when an unknown provisioner is requested.

with `StorageClass.Provisioner == <unknown plugin>`, we should wait for
either external provisioner or volume admin to provide a PV for a claim
instead of reporting an error.

Fixes #31723
2016-09-07 21:05:45 -07:00
Matt Liggett
108a15db38 Add eviction e2e tests.
Also refactor the test a bit.
2016-09-07 17:38:38 -07:00
Random-Liu
1b1f2766ed Avoid StatusManager.syncPod when there is no corresponding mirror pod for static pod. 2016-09-07 17:03:15 -07:00
Kubernetes Submit Queue
7c27a2686f Merge pull request #31688 from mehdy/master
Automatic merge from submit-queue

updated client document
2016-09-07 16:25:24 -07:00
Michael Fraenkel
fb4a466321 Save stderr since it may become nil 2016-09-07 19:01:59 -04:00
Kubernetes Submit Queue
0bd0d5571a Merge pull request #31540 from mtaufen/DockerOrDieRename
Automatic merge from submit-queue

Rename ConnectToDockerOrDie to CreateDockerClientOrDie

This function does not actually attempt to connect to the docker daemon, it just creates a client object that can be used to do so later. The old name was confusing, as it implied that a failure to touch the docker daemon could cause program termination (rather than just a failure to create the client).
2016-09-07 15:27:41 -07:00
Kubernetes Submit Queue
4c9ab4e856 Merge pull request #32213 from derekwaynecarr/log-an-event-when-eviction-cannot-kill-fast-enough
Automatic merge from submit-queue

Log an event when container runtime exceeds grace-period during eviction

While debugging flakes in eviction, I encountered scenarios where the container run-time did not evict a pod within the allowed grace period.  This could result in situations where a BE pod would not get killed fast enough and therefore a Bu pod was killed next (assuming there were no other BE pods)

/cc @mtaufen @vishh
2016-09-07 14:11:06 -07:00
Kubernetes Submit Queue
184e91bbf6 Merge pull request #32182 from smarterclayton/aggregate_discovery_errors
Automatic merge from submit-queue

Use a structured error rather than an Aggregate error in discovery

Should provide more information for debugging the root cause of
discovery failures.

Exposes the true cause of #32009

@lavalamp @derekwaynecarr
2016-09-07 12:12:58 -07:00
Kubernetes Submit Queue
c6919a0187 Merge pull request #32181 from smarterclayton/stable_flags
Automatic merge from submit-queue

Feature gate is not stable sorted - docs change each gen

Also... why are the feature flags defined *in* pkg/util/config which has nothing to do with general Kube?  Flags should be defined statically in a subpackage of the kubelet (if they are kubelet feature flags) or in pkg/kubernetes/features or something somewhere else generic.
2016-09-07 11:33:03 -07:00
derekwaynecarr
ff017839c7 Log an event when container runtime exceeds grace-period during eviction 2016-09-07 13:28:08 -04:00
Kubernetes Submit Queue
d0ee9ce47e Merge pull request #31509 from ping035627/ping035627-patch-0826
Automatic merge from submit-queue

Combine the ValidateRunOptions errors

In the "ValidateRunOptions" function, it had better to show all the invalid flags, so the user can modify them at once.
2016-09-07 10:14:43 -07:00
Kubernetes Submit Queue
542e5f9c5e Merge pull request #31494 from hongchaodeng/fix3
Automatic merge from submit-queue

fix EtcdTestClientServer leaking clients

Continued on https://github.com/kubernetes/kubernetes/pull/31390#discussion_r76360860
2016-09-07 10:14:37 -07:00
Kubernetes Submit Queue
9f58a867e1 Merge pull request #31522 from krousey/path_validation
Automatic merge from submit-queue

Split path validation into a separate library

This PR splits path segment validation into it's own package. This cuts off one of the restclient's dependency paths to some docker packages, and completely eliminates its dependency on go-restful swagger validation.


cc @kubernetes/sig-api-machinery
2016-09-07 10:14:32 -07:00
Kubernetes Submit Queue
4300055405 Merge pull request #30267 from feiskyer/kuberuntime-podstatus
Automatic merge from submit-queue

Kubelet: implement GetPodStatus for new runtime API

Implement `GetPodStatus()` for new runtime API.  Part of #28789 .

CC @yujuhong @Random-Liu @dchen1107
2016-09-07 10:14:26 -07:00
Clayton Coleman
88b64a7a82 Use a structured error rather than an Aggregate error in discovery
Should provide more information for debugging the root cause of
discovery failures.
2016-09-07 10:59:03 -04:00
Kubernetes Submit Queue
243959ce5a Merge pull request #32020 from euank/version-twiddling
Automatic merge from submit-queue

rkt: Update kube-up rkt version to v1.14.0

cc @kubernetes/sig-rktnetes 

This should have been included in #31286 (whoops).

This is a bugfix that I propose for v1.4 inclusion.
2016-09-07 01:18:57 -07:00
Jan Safranek
3a2f4e52a8 Do not report warning event when an nknown provisioner is requested
with StorageClass.Provisioner == <unknown plugin>, we should wait for
either external provisioner or volume admin to provide a PV for a claim
instead of reporting an error.

Fixes #31723
2016-09-07 09:11:41 +02:00
Kubernetes Submit Queue
a16de4a787 Merge pull request #32072 from sttts/sttts-sysctl-remove-tcp_max_syn_backlog
Automatic merge from submit-queue

Remove net.ipv4.tcp_max_syn_backlog from sysctl whitelist

Remove `net.ipv4.tcp_max_syn_backlog` from sysctl whitelist. This is not namespaced in today's kernels, but must be set on node-level.

Having this on the whitelist, wouldn't harm because the kernel only offers namespaced `net.*` sysctls in the `/proc/sys` tree. But having a sysctl on the whitelist, which cannot be used, doesn't make sense either.

#### 1.4 justification:

- Risk: the whitelist is a published API. We shouldn't have sysctls on there which do not work.
- Rollback: nothing should depend on this behavior.
- Cost: the cost of this is relatively low, as no pod with this sysctl will launch.
2016-09-06 23:59:49 -07:00
Kubernetes Submit Queue
54db8fa2e3 Merge pull request #31886 from deads2k/move-storage-class
Automatic merge from submit-queue

Move StorageClass to a storage group

We discussed the pros and cons in sig-api-machinery yesterday.  Choosing a particular group name means that clients (including our internal code) require less work and re-swizzling to handle promotions between versions.  Even if you choose a group you end up not liking, the amount of work remains the same as the incubator work case: you move the affected kind, resource, and storage.

This moves the `StorageClass` type to the `storage.k8s.io` group (named for consistency with authentication, authorization, rbac, and imagepolicy).  There are two commits, one for manaul changes and one for generated code.
2016-09-06 23:22:02 -07:00
Kubernetes Submit Queue
9dce773502 Merge pull request #31947 from smarterclayton/check_empty_config
Automatic merge from submit-queue

Check for EmptyConfig errors when trying to use in-cluster config

By removing the default "localhost:8080" behavior several paths in
client config began returning err == ErrEmptyConfig rather than err ==
nil.  The code checking for in cluster config was wrong - the logic
should be:

1. If loading the underlying config returns a non-empty error, fail
2. If the underlying config is not equal to the default config,
   return that config (it has user input)
3. If it is possible to use in-cluster config, do so
4. Otherwise return the default config (and or default EmptyConfig
   error).

Fixes #31910 @thockin @lavalamp @deads2k. We introduced EmptyConfig a very long time ago, but until I removed the "localhost:8080" Kubernetes was not actually exposing it (OpenShift relies on it since we don't set an insecure default). This properly falls through to in-cluster config in the described conditions.



```release-note
Some components like kube-dns and kube-proxy could fail to load the service account token when started within a pod. Properly handle empty configurations to try loading the service account config.
```
2016-09-06 22:02:55 -07:00
Clayton Coleman
4189062a03 Feature gate is not stable sorted - docs change each gen 2016-09-06 23:36:24 -04:00
lojies
8b349ebfb0 fix some error comment in create_service.go 2016-09-07 10:14:50 +08:00
Ryan Hitchman
4c7ef6561e Revert "Add e2e tests for eviction subresource." 2016-09-06 16:21:50 -07:00