Commit Graph

36070 Commits

Author SHA1 Message Date
Kubernetes Submit Queue
331eb83585 Merge pull request #33376 from luxas/fix_arm_atomics_2
Automatic merge from submit-queue

Move HighWaterMark to the top of the struct in order to fix arm, second time

ref: #33117

Sorry for not fixing everyone at once, but I seriously wasn't prepared for that quick LGTM 😄, so here's the other half.

@lavalamp 

> lgtm, but seriously, this is terrible, we probably have this bug all over. And what if someone embeds the etcdWatcher struct in something else not at the top? We need the compiler to enforce things like this, it just can't be done manually. Can you file or link a golang issue for this?

I totally agree! There isn't currently a way of programmatically detecting this unfortunately.
I guess @davecheney or @minux can explain better to you why it's so hard.

This is noted in https://github.com/kubernetes/kubernetes/blob/master/docs/proposals/multi-platform.md as a corner case indeed.

@pwittrock This should be cherrypicked toghether with #33117
2016-09-23 12:05:09 -07:00
Kubernetes Submit Queue
09e0e025e8 Merge pull request #33346 from freehan/fix-lbsrcrange-update
Automatic merge from submit-queue

disallow user to update loadbalancerSourceRanges

buy myself some time to fix the root cause of #33033
2016-09-23 12:05:04 -07:00
Kubernetes Submit Queue
0a4316f11e Merge pull request #32807 from jingxu97/stateupdateNeeded-9-15
Automatic merge from submit-queue

Fix race condition in setting node statusUpdateNeeded flag

This PR fixes the race condition in setting node statusUpdateNeeded flag
in master's attachdetach controller. This flag is used to indicate
whether a node status has been updated by the node_status_updater or
not. When updater finishes update a node status, it is set to false.
When the node status is changed such as volume is detached or new volume
is attached to the node, the flag is set to true so that updater can
update the status again. The previous workflow has a race condition as
follows
1. updater gets the currently attached volume list from the node which needs to be
updated.
2. A new volume A is attached to the same node right after 1 and set the
flag to TRUE
3. updater updates the node attached volume list (which does not include volume A) and then set the flag to FALSE.
The result is that volume A will be never added to the attached volume
list so at node side, this volume is never attached.

So in this PR, the flag is set to FALSE when updater tries to get the
attached volume list (as in an atomic operation). So in the above
example, after step 2, the flag will be TRUE again, in step 3, updater
does not set the flag if updates is sucessful. So after that, flag is
still TRUE and in next round of update, the node status will be updated.
2016-09-23 11:25:16 -07:00
Lucas Käldström
06917531b3 Move HighWaterMark to the top of the struct in order to fix arm, second time 2016-09-23 20:58:28 +03:00
Kubernetes Submit Queue
b95fa62fe1 Merge pull request #31163 from juanvallejo/jvallejo_filter-resources-before-printing
Automatic merge from submit-queue

add resource filter handling before printing

**Release note**:
```release-note
release-note-none
```

Resources are currently filtered (in order to prevent printing) at print
time in their HumanReadablePrinter handlers. This design makes it not
possible to filter objects when they are printed using any other
printer, such as YAML, JSON, or the NamePrinter.

This patch removes any filters previously added at the printer level for
pods and adds a way to define resource-specific filters before they are
sent to a printer handler. A woking filter handler for pods has also been
implemented.

Filters affect resources being printed through the HumanReadablePrinter,
YAML, JSON, and `--template` printers.

cc @smarterclayton
2016-09-23 10:45:57 -07:00
Kubernetes Submit Queue
5f815354e0 Merge pull request #33182 from deads2k/api-13-collapse-script-references
Automatic merge from submit-queue

unify available api group versions in our scripts

There are currently many parallel lists of available group versions with slightly different syntaxes in each one.  This collapses them into a single list for us to maintain.  

Also caught spots where the lists didn't match before.

@sttts @ncdc
2016-09-23 10:06:10 -07:00
Kubernetes Submit Queue
1834039960 Merge pull request #32203 from dgoodwin/kubediscovery
Automatic merge from submit-queue

Alpha JWS Discovery API for locating an apiserver securely

This PR contains an early alpha prototype of the JWS discovery API outlined in proposal #30707.

CA certificate, API endpoints, and the token to be used to authenticate to this discovery API are currently passed in as secrets. If the caller provides a valid token ID, a JWS signed blob of ClusterInfo containing the API endpoints and the CA cert to use will be returned to the caller. This is used by the alpha kubeadm to allow seamless, very quick cluster setup with simple commands well suited for copy paste.

Current TODO list:

- [x] Allow the use of arbitrary strings as token ID/token, we're currently treating them as raw keys.
- [x] Integrate the building of the pod container, move to cluster/images/kube-discovery.
  - [x] Build for: amd64, arm, arm64 and ppc64le. (just replace GOARCH=)
  - [x] Rename to gcr.io/google_containers/kube-discovery-ARCH:1.0
  - [x] Cleanup rogue files in discovery sub-dir.
  - [x] Move pkg/discovery/ to cmd/discovery/app.

There is additional pending work to return a kubeconfig rather than ClusterInfo, however I believe this is slated for post-alpha.
2016-09-23 08:19:19 -07:00
Kubernetes Submit Queue
5f2846eefb Merge pull request #31973 from soltysh/job_e2e_slowness
Automatic merge from submit-queue

Speed up job's e2e when waiting for failure

**What this PR does / why we need it**:
Job controller synchronizes objects only when job itself or underlying pod changes. Or, when full resync is performed once 10 mins. This leads e2e test to unnecessarily wait that longer timeout, sometimes at least. I've added job modification action which triggers resync, if the job wasn't terminated within shorter period of time.

@ixdy ptal
@janetkuo @erictune fyi
2016-09-23 06:58:17 -07:00
Kubernetes Submit Queue
0cd24992c2 Merge pull request #33167 from guangxuli/k8s_0921_02
Automatic merge from submit-queue

if item name is equal to kubernetes break the loop
2016-09-23 06:05:42 -07:00
Kubernetes Submit Queue
0829f39b39 Merge pull request #33164 from sttts/sttts-handler-chain-cleanup
Automatic merge from submit-queue

Cleanup genericapiserver handler chain

- move generic (api independent) handler filters to `pkg/genericapiserver/filters`
- entangle `genericapiserver.New()`
- unify signature of all handler filters (also those in `pkg/apiserver`)
2016-09-23 05:26:52 -07:00
Kubernetes Submit Queue
76d15d193d Merge pull request #33236 from dchen1107/test1
Automatic merge from submit-queue

Fix node performance benchmark by using latest containervm image (docker 1.11.2)

Also add two more tests for resource tracking. 

cc/ @Random-Liu @coufon
2016-09-23 04:50:36 -07:00
Kubernetes Submit Queue
33b5d9650a Merge pull request #33197 from adityakali/core
Automatic merge from submit-queue

Reset core_patern on GCI

The default core_pattern pipes the core dumps to /sbin/crash_reporter
which is more restrictive in saving crash dumps. So for
now, set a generic core_pattern that users can work with.

@dchen1107 @aulanov can you please review?

cc/ @kubernetes/goog-image
2016-09-23 03:50:15 -07:00
Kubernetes Submit Queue
b2aed32578 Merge pull request #33269 from deads2k/client-15-svc-lister
Automatic merge from submit-queue

simplify svc lister

trying to track down what killed the e2e tests.
2016-09-23 03:10:57 -07:00
Dr. Stefan Schimanski
87356c0623 Cleanup handler chain 2016-09-23 12:03:58 +02:00
Dr. Stefan Schimanski
3799ffa0a8 Simplify genericapiserver.Run() 2016-09-23 12:00:30 +02:00
Dr. Stefan Schimanski
8b33a9ed42 Move TimeoutHandler+MaxInFlightLimit to Config.New() 2016-09-23 12:00:30 +02:00
Kubernetes Submit Queue
1063903d01 Merge pull request #33266 from sttts/sttts-one-installapigroups
Automatic merge from submit-queue

Reduce genericapiserver api surface
2016-09-23 02:32:07 -07:00
Kubernetes Submit Queue
7144f54d78 Merge pull request #32390 from liggitt/ecdhe
Automatic merge from submit-queue

Remove duplicated ECDHE key handling

This PR removes the duplicated ECDHE private key handling. `x509.CreateCertificateRequest` picks the signature type for ECDHE keys already (see https://golang.org/src/crypto/x509/x509.go `signingParamsForPublicKey`). Only the RSA key signature needed customization.

It also defers to `CreateCertificateRequest` to return errors on unknown private key types.
2016-09-23 01:53:20 -07:00
Kubernetes Submit Queue
0e01bc8f3f Merge pull request #33267 from sttts/sttts-lock-apiGroupsForDiscovery
Automatic merge from submit-queue

Add locking around apiGroupsForDiscovery

<!--  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**:

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

**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-09-23 01:17:00 -07:00
Kubernetes Submit Queue
13a0ce6822 Merge pull request #31988 from pmorie/gc-log
Automatic merge from submit-queue

Add positive logging for GC events

We have no positive logging for GC events.  This PR:

1.  Adds positive logging at V(4) for success cases
2.  Adds positive logging at V(1) for the first successful GC after a failure
2016-09-23 00:36:43 -07:00
Kubernetes Submit Queue
cba0c6fb16 Merge pull request #33345 from vishh/fix-noexec
Automatic merge from submit-queue

Mount kubelet root directory as executable in GCI

Fixes #33315 and #33318

This PR is isolated to GCI distro. Without this rather simple patch,
PetSets won't work with GCI. Hence requesting a cherry-pick.
2016-09-22 23:57:56 -07:00
Dr. Stefan Schimanski
0898f62b5c Add locking around apiGroupsForDiscovery 2016-09-23 08:37:50 +02:00
Kubernetes Submit Queue
430b897f30 Merge pull request #33342 from freehan/fix-reboot-ifdownup
Automatic merge from submit-queue

swtich ifdown/ifup to use ip link down/up instead

fix: #33327
2016-09-22 23:19:09 -07:00
Kubernetes Submit Queue
e05e8664d5 Merge pull request #33349 from madhusudancs/etcd-precond-deref-log
Automatic merge from submit-queue

Dereference the UID pointer for a readable error message.

cc @nikhiljindal @quinton-hoole @kubernetes/sig-cluster-federation
2016-09-22 22:42:24 -07:00
Vishnu kannan
504cf5ca3c mount kubelet root directory as executable in GCI
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-09-22 22:01:59 -07:00
Kubernetes Submit Queue
9b36bfac16 Merge pull request #33339 from quinton-hoole/2016-09-22-fix-uid-failure-updating-ingress
Automatic merge from submit-queue

Don't try to write the wrong UID, version on Federated Ingress updates.

Fixes #33135.

This looks more complicated than it really is. 
Essentially, use the cluster object's metadata, rather than the federated objects's metadata when updating cluster Ingress objects.  The deepcopy stuff is mainly to get around shortcomings in the Kubernetes fake test infrastructure, which ends up with crossed pointers if we don't deep copy.
2016-09-22 21:57:36 -07:00
Kubernetes Submit Queue
ad2224c968 Merge pull request #33264 from sttts/sttts-private-postStartHooks
Automatic merge from submit-queue

Make genericapiserver.PostStartHooks private

Better do not leak members to downstream if not necessary.
2016-09-22 21:18:46 -07:00
Kubernetes Submit Queue
67219f4041 Merge pull request #32867 from kargakis/move-events-sort
Automatic merge from submit-queue

kubectl: move events sorting interface to the api for general use

Split from https://github.com/kubernetes/kubernetes/pull/19343

@kubernetes/kubectl
2016-09-22 20:39:29 -07:00
Madhusudan.C.S
c1f0d91c2a Dereference the UID pointer for a readable error message. 2016-09-22 20:34:06 -07:00
Kubernetes Submit Queue
cb44f86bc3 Merge pull request #33240 from spxtr/xmloutput
Automatic merge from submit-queue

Make e2e.go give us JUnit results.

Will assign to @fejta when it's ready to go. https://github.com/kubernetes/test-infra/issues/76
2016-09-22 19:55:10 -07:00
Kubernetes Submit Queue
1ef86aa8ab Merge pull request #32906 from caesarxuchao/staging-1.5
Automatic merge from submit-queue

Staging 1.5 client

Created the 1.5 folder and remove the 1.4 folder in the staging area in the master branch.

Content of kubernetes/client-go/1.4 will be pulled from the kubernetes/kubernetes 1.4 branch (https://github.com/kubernetes/contrib/pull/1719)
2016-09-22 19:55:01 -07:00
Kubernetes Submit Queue
1f7e79afbf Merge pull request #33066 from Random-Liu/set-docker-client-version
Automatic merge from submit-queue

Add docker client version.

Addressed https://github.com/kubernetes/kubernetes/issues/29478#issuecomment-248197665.

This partially reverted #31540, because currently we are really trying to connect to docker daemon when creating the client.

This PR updated docker client with real docker apiversion with `UpdateClientVersion`, so that the version related logic of engine-api can work properly, such as https://github.com/docker/engine-api/pull/174/files.

@yujuhong @feiskyer
2016-09-22 19:09:14 -07:00
Minhan Xia
ba45a3f74e disallow user to update loadbalancerSourceRanges 2016-09-22 19:04:02 -07:00
Joe Finney
3503c4f71a Make e2e.go give us JUnit results. 2016-09-22 18:40:53 -07:00
Kubernetes Submit Queue
88bcf4a5b4 Merge pull request #33156 from guangxuli/k8s_test_092101
Automatic merge from submit-queue

break the loop if pod name was equal
2016-09-22 18:29:26 -07:00
Kubernetes Submit Queue
509096af21 Merge pull request #33301 from yujuhong/docker_hacks
Automatic merge from submit-queue

Fake container exec/logs support for in-process docker CRI integration

This is necessary to unblock other work on docker integration, while we are addressing
`logs` and `exec` in the meantime.

This is part of #31459 and #33189

/cc @kubernetes/sig-node
2016-09-22 17:44:37 -07:00
Minhan Xia
267d1fbd77 swtich ifdown/ifup to use ip link down/up instead 2016-09-22 17:25:07 -07:00
Quinton Hoole
359bd17066 Don't try to write the wrong UID, version on Federated Ingress updates.
Fixes #33135.
2016-09-22 17:14:49 -07:00
Kubernetes Submit Queue
cf8fcd03f0 Merge pull request #31731 from lavalamp/gengo
Automatic merge from submit-queue

Gengo

go2idl is now gengo.
2016-09-22 17:04:19 -07:00
Kubernetes Submit Queue
6b3f5c4147 Merge pull request #33038 from deads2k/api-11-push-deps-down
Automatic merge from submit-queue

remove storage related fields from genericapiserver

Removes `StorageFactory` and `StorageDecorator` from from `genericapiserver` since both constructs are related to building a `RESTStorage`, which should be provided fully formed (or via factory func) to a truly generic API server.

I found this while trying to move the creation API routes earlier.
2016-09-22 17:04:13 -07:00
Kubernetes Submit Queue
6d08910dd8 Merge pull request #33163 from DjangoPeng/Django-patch
Automatic merge from submit-queue

[bug]fix the appending bug

Fix the `DOCKER_OPTS` appending bug. Reference the [issue#33124](https://github.com/kubernetes/kubernetes/issues/33124)
2016-09-22 16:15:54 -07:00
Yu-Ju Hong
2fc2e71438 Fake container exec/logs support for in-process docker CRI integration
This is a temporary hack to bypass CRI when getting container logs or
running exec in a container. This is necessary to unblock testing and adding
other features in the integration.
2016-09-22 16:03:37 -07:00
Kubernetes Submit Queue
9cecc1a814 Merge pull request #33119 from caesarxuchao/changelog-more
Automatic merge from submit-queue

Add description for behavior changes of the DELETE REST operation caused by garabge collection

@janetkuo @lavalamp @pwittrock
2016-09-22 15:03:53 -07:00
Kubernetes Submit Queue
607e93b718 Merge pull request #32459 from elsonrodriguez/rbd-docs-rewrite
Automatic merge from submit-queue

Minor refactor of Ceph RBD provisioning docs.

Improves clarity of Ceph RBD provisioner documentation, expanded on how to translate Ceph settings into secrets.
2016-09-22 15:03:49 -07:00
Daniel Smith
76ba6d19e9 allow openapi import 2016-09-22 14:59:45 -07:00
Kubernetes Submit Queue
f520c215bf Merge pull request #33321 from lavalamp/godepuserfriendly
Automatic merge from submit-queue

Make script more friendly
2016-09-22 14:24:32 -07:00
Kubernetes Submit Queue
3906acfba8 Merge pull request #33079 from ping035627/ping035627-patch-0920
Automatic merge from submit-queue

Merge the "var" segment

So much "var" doesn't seem clear, suggest to merge them.
2016-09-22 14:24:27 -07:00
Jing Xu
14cad206f5 Fix race conditino in setting node statusUpdateNeeded flag
This PR fixes the race condition in setting node statusUpdateNeeded flag
in master's attachdetach controller. This flag is used to indicate
whether a node status has been updated by the node_status_updater or
not. When updater finishes update a node status, it is set to false.
When the node status is changed such as volume is detached or new volume
is attached to the node, the flag is set to true so that updater can
update the status again. The previous workflow has a race condition as
follows
1. updater gets the currently attached volume list from the node which needs to be
updated.
2. A new volume A is attached to the same node right after 1 and set the
flag to TRUE
3. updater updates the node attached volume list (which does not include volume A) and then set the flag to FALSE.
The result is that volume A will be never added to the attached volume
list so at node side, this volume is never attached.

So in this PR, the flag is set to FALSE when updater tries to get the
attached volume list (as in an atomic operation). So in the above
example, after step 2, the flag will be TRUE again, in step 3, updater
does not set the flag if updates is sucessful. So after that, flag is
still TRUE and in next round of update, the node status will be updated.

This PR also changes a unit test due to the workflow changes
2016-09-22 14:02:30 -07:00
Kubernetes Submit Queue
4b700f41ec Merge pull request #32944 from k82cn/refactor_builder_visitorResult
Automatic merge from submit-queue

Refactor Builder.visitorResult by extra methonds.

**What this PR does / why we need it**:
Code polish; it'll make code readable.
2016-09-22 13:45:09 -07:00
Daniel Smith
3bb1059179 make godep happy 2016-09-22 13:44:02 -07:00