Commit Graph

28303 Commits

Author SHA1 Message Date
Robert Bailey
aa24694c60 Merge pull request #24662 from soltysh/protobuf_selinux
Fix SELinux settings for mounted volumes
2016-05-06 13:36:16 -07:00
Robert Bailey
828b4f8240 Merge pull request #24825 from kubernetes/revert-23157-fix-tags
Revert "Always use long format in git tag."
2016-05-06 13:34:32 -07:00
Robert Bailey
742a164ba1 Merge pull request #24889 from dlorenc/docfix
Add missing "--test" flag to conformance test instructions.
2016-05-06 13:29:13 -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
6c3ed90b66 Merge pull request #24804 from ncdc/fix-node-e2e-failure-output
Fix node e2e startServer failure output
2016-05-06 13:26:41 -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
David McMahon
5916baa387 Update CHANGELOG.md for v1.2.4. 2016-05-06 10:55:03 -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
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
9f2d75adf3 Merge pull request #25128 from jsafrane/devel/enable-volume-test
Automatic merge from submit-queue

e2e: Enable persistent volume test

The test is already there and all packages should be already available on all test machines.
    
It tests:

- binding
- using bound claim in a pod
- recycling NFS volume

(we should see shortly if all nfs packages are really installed as Jenkins tests it...)
2016-05-06 05:34:12 -07:00
k8s-merge-robot
a64ef4d3df Merge pull request #25042 from wonderfly/trusty_beta_to_1_2
Automatic merge from submit-queue

Update e2e-runner.sh so it can fetch multiple types of Trusty images

Trusty beta images now work with k8s 1.2.

@spxtr, @andyzheng0831 Can you review this?
2016-05-06 04:51:57 -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
Wojciech Tyczynski
7e462c2310 Merge pull request #25250 from wojtek-t/fix_proto_configs
Fix proto configs
2016-05-06 10:43:06 +02:00
David Oppenheimer
2983c1d9d0 Merge pull request #22985 from Huawei-PaaS/inter-pod-affinity
Inter pod topological affinity and anti-affinity implementation
2016-05-06 01:39:58 -07:00
Wojciech Tyczynski
247512d86a Fix proto configs 2016-05-06 10:25:59 +02:00
Kevin
82ba4f077e implement inter pod topological affinity and anti-affinity 2016-05-06 06:46:23 +00:00
Wojciech Tyczynski
28a8a23471 Merge pull request #25240 from thockin/fix-codecgen-sort
Fix codecgen sort
2016-05-06 08:28:51 +02:00
k8s-merge-robot
9a1b2540b0 Merge pull request #24739 from zmerlynn/1000nodes
Automatic merge from submit-queue

Jenkins: Clean up even if we can't bring cluster up

We're gathering all the cluster logs, go ahead and clean up the
resources.
2016-05-05 23:16:41 -07:00
k8s-merge-robot
2ebd771915 Merge pull request #25121 from liangchenye/flakepodnotfound
Automatic merge from submit-queue

fix #24937:  flake pod not found

https://github.com/kubernetes/kubernetes/issues/24937
Split from #24191
Signed-off-by: liang chenye <liangchenye@huawei.com>
2016-05-05 22:40:58 -07: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
Tim Hockin
24f9beb1ff remove DBG and old code 2016-05-05 20:11:16 -07:00
Tim Hockin
457b27d25f Fix codecgen sort 2016-05-05 20:10:38 -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
a3cbdcaa5b Merge pull request #25223 from duglin/runErrMsg
Automatic merge from submit-queue

Add a better error message to run.sh

I ran build/run.sh w/o any args (by mistake) and it just said
   `Invalid input.`
after several other steps. I had no idea whether I was doing something
wrong or if my env was busted. Clearly, I just forget to include the
command that run.sh was to invoke in the Docker container.  But it took
me time to go track down where this error came from and why. So to help
others I just tweaked the error message to be:
   `Invalid input - please specify a command to run.`

Very minor thing,I know, but if it helps others...

Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-05-05 16:52:13 -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
k8s-merge-robot
ba7dc5e6e6 Merge pull request #25118 from ixdy/dockerized-e2e
Automatic merge from submit-queue

Map secret files into dockerized e2e

Rather than copying the GCE and AWS private keys/credentials to each Jenkins VM, we can put them in credentials and map them through.

This is one half of the change; if the relevant environment variables are set, we'll mount the files in.

cc @fejta @rmmh @apelisse
2016-05-05 16:52:05 -07:00
Alex Robinson
a715392e4e Merge pull request #25230 from a-robinson/fix
Don't surround node-tags list with square brackets
2016-05-05 15:26:40 -07:00
Clayton Coleman
cb3a479ed7
Add quantity benchmarks 2016-05-05 18:06:19 -04:00
Alex Robinson
6cfaed1299 Don't surround node-tags list with square brackets
That's not how yaml list parsing works...
2016-05-05 22:05:50 +00: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
Doug Davis
9323760399 Add a better error message to run.sh
I ran build/run.sh w/o any args (by mistake) and it just said
   `Invalid input.`
after several other steps. I had no idea whether I was doing something
wrong or if my env was busted. Clearly, I just forget to include the
command that run.sh was to invoke in the Docker container.  But it took
me time to go track down where this error came from and why. So to help
others I just tweaked the error message to be:
   `Invalid input - please specify a command to run.`

Very minor thing,I know, but if it helps others...

Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-05-05 13:43:14 -07:00
k8s-merge-robot
fe4d83dc81 Merge pull request #25203 from ihmccreery/changelog-fix
Automatic merge from submit-queue

Fix v1.3.0-alpha.3 CHANGELOG entry

We got a double entry in #24942; my bad.  Another example of why automation > humans.  👍
2016-05-05 10:29:02 -07:00
k8s-merge-robot
84573939ff Merge pull request #25105 from andyzheng0831/metadata
Automatic merge from submit-queue

GCI: Add two GCI specific metadata pairs

This PR adds two GCI specific metadata pairs when using GCI image.

(1) "gci-update-strategy": by default the GCI in-place updater is enabled. It means that when a new image is released, the instance on the old image will be upgraded to the new image. In this change, we turn it off;

(2) "gci-ensure-gke-docker": GCI is built with two versions of docker. When this metadata is set to "true", the version satisfying kubernetes qualification will be used. Setting this metadata prevents from using incorrect docker version.
2016-05-05 10:28:58 -07:00
k8s-merge-robot
1f6711ca07 Merge pull request #25192 from ingvagabund/e2e-framework-util-start-pods-dont-wait-for-zero-pods
Automatic merge from submit-queue

e2e/framework/util.StartPods: don't wait for pods that are not created

When running ``[k8s.io] SchedulerPredicates [Serial] validates resource limits of pods that are allowed to run [Conformance]`` pods can be created in a way in which additional pods have to be create to fully saturate node's capacity CPU in a cluster. Additional pods are created by calling ``framework.StartPods``. The function creates pods with a given label and waits for them (if ``waitForRunning`` is ``true``). This is fine as long as the number of pods to created is non-zero. If there are zero pods to be created and ``waitForRunning`` is ``true``, the function waits forever as there is not going to be any pods with requested label. Thus, resulting in ``Error waiting for 0 pods to be running - probably a timeout``. Causing the e2e test to fail even if it should not.

Adding condition to return from the function immediately if there is not pod to create.
2016-05-05 09:49:43 -07:00
Isaac Hollander McCreery
39c98a8d6b Fix v1.3.0-alpha.3 CHANGELOG entry 2016-05-05 09:25:53 -07: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