Commit Graph

11858 Commits

Author SHA1 Message Date
Robert Bailey
bb08b27e43 Merge pull request #25072 from AdoHe/deprecate_container_port
mark container-port flag as deprecated
2016-05-06 14:10:14 -07:00
Robert Bailey
f6a68469f0 Merge pull request #25179 from swagiaal/get-cloud-retries
Move getCloudProvider retries to getCloudProvider()
2016-05-06 14:08:52 -07:00
Robert Bailey
1df0dfdaa8 Merge pull request #25122 from nowprovision/reflector-loop-missing-errorhandler-fix
Handle possible error in client reflector run loops
2016-05-06 14:06:35 -07:00
Robert Bailey
71ab966f99 Merge pull request #25188 from jsafrane/devel/fake-event-recorder-thread-safe
Make fake event recorder thread safe.
2016-05-06 14:05:13 -07:00
Robert Bailey
96aa3d7176 Merge pull request #24929 from mwielgus/heapster_godeps_bump
Update Heapster api types location in Godeps
2016-05-06 13:57:35 -07:00
Robert Bailey
007e4f06a6 Merge pull request #24718 from chengyli/cinder-volume
fix cinder volume dir umount issue #24717
2016-05-06 13:53:30 -07:00
Robert Bailey
303f059efa Merge pull request #24817 from pmorie/clarify-orphaned-cleanup
Clarify orphaned volume cleanup
2016-05-06 13:52:33 -07:00
Robert Bailey
64e1240180 Merge pull request #25141 from jsafrane/devel/fix-store-race
Make threadSafeMap.ListIndexFuncValues thread safe.
2016-05-06 13:50:36 -07:00
Robert Bailey
71706e0ad5 Merge pull request #25206 from yifan-gu/fix_hostport
rkt: When host port is zero, we should not forward the port.
2016-05-06 13:43:56 -07:00
Robert Bailey
caf6f06f19 Merge pull request #25244 from smarterclayton/trace_alloc
Trace.Step() performs an unnecessary alloc
2016-05-06 13:43:24 -07:00
Robert Bailey
1474145db1 Merge pull request #24823 from derekwaynecarr/fix-kubelet-typo
Fix function name typo in kubelet
2016-05-06 13:28:45 -07:00
Robert Bailey
7df41be489 Merge pull request #24403 from kargakis/use-platform-agnostic-func
kubectl: use platform-agnostic helper in edit
2016-05-06 13:26:12 -07:00
k8s-merge-robot
16159b8bd0 Merge pull request #24344 from derekwaynecarr/kubelet-lifecycle-callouts
Automatic merge from submit-queue

Define interfaces for kubelet pod admission and eviction

There is too much code and logic in `kubelet.go` that makes it hard to test functions in discrete pieces.

I propose an interface that an internal module can implement that will let it make an admission decision for a pod.  If folks are ok with the pattern, I want to move the a) predicate checking, b) out of disk, c) eviction preventing best-effort pods being admitted into their own dedicated handlers that would be easier for us to mock test.  We can then just write tests to ensure that the `Kubelet` calls a call-out, and we can write easier unit tests to ensure that dedicated handlers do the right thing.

The second interface I propose was a `PodEvictor` that is invoked in the main kubelet sync loop to know if pods should be pro-actively evicted from the machine.  The current active deadline check should move into a simple evictor implementation, and I want to plug the out of resource killer code path as an implementation of the same interface.

 @vishh @timothysc - if you guys can ack on this, I will add some unit testing to ensure we do the call-outs.

/cc @kubernetes/sig-node @kubernetes/rh-cluster-infra
2016-05-06 08:53:35 -07:00
Clayton Coleman
0e05f704f3 Trace.Step() performs an unnecessary ref
Allocates more objects than necessary.
2016-05-06 11:42:35 -04:00
k8s-merge-robot
c0b788bf49 Merge pull request #24727 from smarterclayton/fast_path_lookup
Automatic merge from submit-queue

Avoid allocations and a reflect.Call in conversion

reflect.Call is fairly expensive, performing 8 allocations and having to
set up a call stack. Using a fairly straightforward to generate switch
statement, we can bypass that early in conversion (as long as the
function takes responsibility for invocation). We may also be able to
avoid an allocation for the conversion scope, but not positive yet.

```
benchmark                    old ns/op     new ns/op     delta
BenchmarkPodConversion-8     14713         12173         -17.26%

benchmark                    old allocs     new allocs     delta
BenchmarkPodConversion-8     80             72             -10.00%

benchmark                    old bytes     new bytes     delta
BenchmarkPodConversion-8     9133          8712          -4.61%
```

@wojtek-t related to #20309
2016-05-06 07:10:18 -07:00
k8s-merge-robot
32256d53aa Merge pull request #25136 from dcbw/kubenet-fixup-txqueuelen
Automatic merge from submit-queue

kubenet: fix up CNI bridge TX queue length if needed

CNI's bridge plugin mis-handles the TxQLen when creating the bridge,
leading to a zero-length TX queue.  This doesn't typically cause
problems (since virtual interfaces don't have hard queue limits)
but when adding traffic shaping, some qdiscs pull their packet
limits from the TX queue length, leading to a packet limit of 0
in some cases.  Until we can depend on a new enough version of
CNI, fix up the TX queue length internally.

Closes: https://github.com/kubernetes/kubernetes/issues/25092
2016-05-06 06:29:31 -07:00
k8s-merge-robot
66ef87347e Merge pull request #24968 from wojtek-t/remove_node_name
Automatic merge from submit-queue

Remove nodeName from predicate signature.

With this approach, I'm getting the initial throughput (in empty cluster) in 1000-node cluster of ~95pods/s.
Which is ~30% improvement.

@kubernetes/sig-scalability
2016-05-06 04:09:13 -07:00
k8s-merge-robot
346ddc52c2 Merge pull request #24748 from Random-Liu/cleanup-with-new-engine-api
Automatic merge from submit-queue

Kubelet: Cleanup with new engine api

Finish step 2 of #23563

This PR:
1) Cleanup go-dockerclient reference in the code.
2) Bump up the engine-api version.
3) Cleanup the code with new engine-api.

Fixes #24076.
Fixes #23809.

/cc @yujuhong
2016-05-06 03:16:53 -07:00
k8s-merge-robot
60324ff884 Merge pull request #25229 from smarterclayton/bench_quantity
Automatic merge from submit-queue

Add quantity benchmarks
2016-05-06 02:31:38 -07:00
Wojciech Tyczynski
a51f266ebf Remove nodeName from predicate signature. 2016-05-06 11:23:37 +02:00
Kevin
82ba4f077e implement inter pod topological affinity and anti-affinity 2016-05-06 06:46:23 +00:00
k8s-merge-robot
4a00266f40 Merge pull request #25224 from Random-Liu/delete-pod-with-uid
Automatic merge from submit-queue

Delete pod with uid as precondition.

Addressed https://github.com/kubernetes/kubernetes/issues/25169#issuecomment-217033202.

Fix #25169 
Fix #24937

This PR change status manager to delete pods with uid as a precondition, so that kubelet won't delete pods with different uid but the same name and namespace accidentally.

/cc @yujuhong
2016-05-05 22:02:14 -07:00
k8s-merge-robot
79a9a14c6f Merge pull request #25010 from hongchaodeng/cp
Automatic merge from submit-queue

start etcd compactor in background

ref: #22448

What's in this PR?
- StartCompactor starts a compactor in the background in order to compact keys older than fixed time. We need to compact keys because we can't let on disk data grow forever. We save the most recent 10 minutes data. It should be enough for slow watchers and to tolerate burst. We might keep a longer history (12h) in the future once storage API can take advantage of multi-version key.
- Have only one compaction job for each cluster. Use endpoints from user input to differentiate clusters.
2016-05-05 19:46:46 -07:00
k8s-merge-robot
4a7ec6034f Merge pull request #23928 from caesarxuchao/cascading-deletion-API-changes
Automatic merge from submit-queue

API changes for Cascading deletion 

This PR includes the necessary API changes to implement cascading deletion with finalizers as proposed is in #23656. Comments are welcome.

@lavalamp @derekwaynecarr @bgrant0607 @rata @hongchaodeng
2016-05-05 19:46:40 -07:00
k8s-merge-robot
ab36e0e35e Merge pull request #24710 from smarterclayton/store_proto_in_etcd
Automatic merge from submit-queue

Allow etcd to store protobuf objects

Split storage serialization from client negotiation, and allow API server to take flag controlling serialization.

TODO:

* [x] API server still doesn't start - range allocation object doesn't seem to round trip correctly to etcd
* [ ] Verify that third party resources are ignoring protobuf (add a test)
* [ ] Add integration tests that verify storage is correctly protobuf
* [ ] Add a global default for which storage format to prefer?
2016-05-05 19:00:20 -07:00
k8s-merge-robot
1c0ec9dca9 Merge pull request #25228 from sjenning/fix-self-signed-cert-msg
Automatic merge from submit-queue

fix log message for self-signed cert generation
2016-05-05 18:12:32 -07:00
k8s-merge-robot
03e7e08e70 Merge pull request #25124 from pmorie/kubelet-getters
Automatic merge from submit-queue

Reduce kubelet LOC: extract getters

Step 1 of #25028 as discussed in @kubernetes/sig-node meeting
2016-05-05 16:52:09 -07:00
Clayton Coleman
cb3a479ed7 Add quantity benchmarks 2016-05-05 18:06:19 -04:00
Seth Jennings
62d6fea561 fix log message for self-signed cert generation 2016-05-05 16:56:47 -05:00
Alex Robinson
3d435b56be Merge pull request #25225 from a-robinson/fix
Actually populate nodeTags field in GCE provider struct
2016-05-05 14:35:01 -07:00
Random-Liu
cb6fe9e7ef Delete pod with uid as precondition. 2016-05-05 14:34:49 -07:00
Alex Robinson
15874cd717 Actually populate nodeTags field in GCE provider struct 2016-05-05 21:26:54 +00:00
Clayton Coleman
e0ebcf4216 Split the storage and negotiation parts of Codecs
The codec factory should support two distinct interfaces - negotiating
for a serializer with a client, vs reading or writing data to a storage
form (etcd, disk, etc). Make the EncodeForVersion and DecodeToVersion
methods only take Encoder and Decoder, and slight refactoring elsewhere.

In the storage factory, use a content type to control what serializer to
pick, and use the universal deserializer. This ensures that storage can
read JSON (which might be from older objects) while only writing
protobuf. Add exceptions for those resources that may not be able to
write to protobuf (specifically third party resources, but potentially
others in the future).
2016-05-05 12:08:23 -04:00
Clayton Coleman
5622c8a471 Generated files 2016-05-05 12:08:23 -04:00
Clayton Coleman
4ad5565c41 RecognizingDecoder didn't handle ambiguous input
YAML is not guaranteed to be recognizable, so we need to bump JSON and
protobuf above it in the decoding order. Add a unit test.
2016-05-05 12:08:22 -04:00
Clayton Coleman
7e1089bb75 Storage, not Storgage 2016-05-05 12:08:22 -04:00
k8s-merge-robot
f5e1e9a227 Merge pull request #24912 from bprashanth/petset_controller
Automatic merge from submit-queue

Petset controller

Took longer than I expected. Main parts of this pr are:
1. Identity generation based on petset spec (volumes are mapped per discussion in #18016)
2. Ensure that we create/delete pets in sequence
3. Ensuring that we create, wait for healthy, create; or delete, wait for terminationGrace, delete
4. Controller that watches apiserver and drives actual -> desired

PVCs are not deleted, yet.
2016-05-05 08:58:23 -07:00
k8s-merge-robot
085b172395 Merge pull request #24887 from nikhiljindal/runOptions
Automatic merge from submit-queue

Deleting duplicate code from federated-apiserver.Run()

This removes most of duplicate code from federated-apiserver.Run().
The code remaining is related to storage or authz and authn.
https://github.com/kubernetes/kubernetes/pull/24787 refactors the storage related code.
I am still figuring out authz and authn.

cc @jianhuiz
2016-05-05 06:50:56 -07:00
k8s-merge-robot
3faf214506 Merge pull request #24924 from mqliang/pv-prepare-update
Automatic merge from submit-queue

fix PrepareForUpdate bug for PV and PVC
2016-05-05 01:46:21 -07:00
Chao Xu
4562a26d34 generated changes 2016-05-04 21:54:55 -07:00
Chao Xu
a46b7775fc API changes for finalizers and system-wide garbage collector 2016-05-04 21:54:55 -07:00
k8s-merge-robot
67b8a3dd16 Merge pull request #24776 from tnachen/autoscaler_docs
Automatic merge from submit-queue

Add docs for podautoscaler package

Add missing docs for podautoscaler package in controllers.
2016-05-04 21:26:31 -07:00
Yifan Gu
36f3185223 rkt: When host port is zero, we should not forward the port. 2016-05-04 19:02:39 -07:00
Prashanth Balasubramanian
6bc3052551 PetSet alpha controller 2016-05-04 18:39:17 -07:00
mqliang
0109c08b9b fix PrepareForUpdate bug for HPA 2016-05-05 09:39:03 +08:00
Alex Robinson
c65a6a431e Merge pull request #25148 from a-robinson/nodetag
GCE: Prefer preconfigured node tags for firewalls, if available
2016-05-04 18:16:37 -07:00
k8s-merge-robot
9d80a047d2 Merge pull request #25109 from lavalamp/fix-time-sleep
Automatic merge from submit-queue

remove inappropriate time.Sleep

Fixes #24815

@liggitt since you added this in #8494 :)
2016-05-04 18:13:42 -07:00
Dawn Chen
e09ce3668b Merge pull request #24693 from freehan/kubenetbootstrapfix
add NetworkStatus in NetworkPlugin interface for kubelet to consume
2016-05-04 16:51:27 -07:00
Hongchao Deng
3144ebc7fc start etcd compactor in background 2016-05-04 16:01:03 -07:00
Alex Robinson
b75fa08aec GCE: Prefer preconfigured node tags for firewalls, if available 2016-05-04 22:49:06 +00:00