Commit Graph

13215 Commits (4ee877c2267f92308b53986f1a3fa3491eac9e08)

Author SHA1 Message Date
k8s-merge-robot 601173c2fe Merge pull request #26916 from caesarxuchao/podgc
Automatic merge from submit-queue

rename the gc for terminated pods to "podgc"

to avoid name collision with the [generic garbage collector](https://github.com/kubernetes/kubernetes/blob/master/pkg/controller/garbagecollector/garbagecollector.go)
2016-06-25 12:24:07 -07:00
k8s-merge-robot d1407ecdd3 Merge pull request #26867 from xiang90/daemon
Automatic merge from submit-queue

daemon/controller.go: refactor worker

1. function name is better to be verb or verb+noun

2. remove unnecessary func call
2016-06-25 11:43:49 -07:00
k8s-merge-robot 00b5b548d6 Merge pull request #26854 from xiang90/cacher
Automatic merge from submit-queue

cacher.go: remove NewCacher func

NewCacher is a wrapper of NewCacherFromConfig. NewCacher understands
how to create a key func from scopeStrategy. However, it is not the
responsibility of cacher. So we should remove this function, and
construct the config in its caller, which should understand scopeStrategy.
2016-06-25 11:10:06 -07:00
k8s-merge-robot 951b591716 Merge pull request #26722 from deads2k/local-patch
Automatic merge from submit-queue

let patch use --local flag like `kubectl set image`

Adds the concept of a `--local` flag to `kubectl patch`.  This flag is similar to `kubectl set image -f --local` because it will use the content of the file as the input to the patch operation instead of using the file content to file resource/name tuples.  

This pull lets you run something like `kubectl create deployment --dry-run -o yaml | kubectl set volume --local -f - -o yaml | kubectl patch --local -f - --patch {} | kubectl create -f -`

As proof that it works, you can run against a local file just to mess around with it, but `--local -f -` is the most likely case.
```
$kubectl patch --local -f pkg/api/validation/testdata/v1/validPod.yaml --patch='{"spec": {"restartPolicy":"Never"}}'
apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: null
  labels:
    name: redis-master
  name: name
spec:
  containers:
  - args:
    - this
    - is
    - an
    - ok
    - command
    image: gcr.io/fake_project/fake_image:fake_tag
    name: master
    resources: {}
  restartPolicy: Never
status: {}
```

This is useful for setting rarely used, but immutable fields from `kubectl create` or `kubectl convert` without dropping to an interactive editor.

Some discussion here: https://github.com/kubernetes/kubernetes/issues/21648#issuecomment-218579977

@smarterclayton @kubernetes/kubectl 
 @eparis @soltysh @stevekuznetsov we've talked about this separately
2016-06-25 10:00:41 -07:00
k8s-merge-robot 81c8fe37e6 Merge pull request #26598 from janetkuo/3rd-party-error-logs
Automatic merge from submit-queue

Add more information when throwing errors in discoverying 3rd party resources

#26425


[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-25 09:25:58 -07:00
k8s-merge-robot 99951007ff Merge pull request #26539 from ripcurld00d/fix_json_template_url
Automatic merge from submit-queue

Update the jsonpath template URL

It seems like http://releases.k8s.io/HEAD/docs/user-guide/jsonpath.md redirects to http://kubernetes.io/docs/user-guide/jsonpath/.

Therefore, updating to the new URL where is required.

Relate to https://github.com/openshift/origin/pull/9013
2016-06-25 08:17:31 -07:00
k8s-merge-robot 464eff2bf2 Merge pull request #26504 from nowprovision/patch-1
Automatic merge from submit-queue

Fix error handling in endpoint controller
2016-06-25 07:43:49 -07:00
k8s-merge-robot b71e499c92 Merge pull request #26502 from gyuho/remove_name_field
Automatic merge from submit-queue

pkg/storage/etcd3: remove name field in test

Current test gets the name with its test table index,
so there seems to be no reason to have name field in test table.
2016-06-25 07:09:36 -07:00
k8s-merge-robot b51e5c0127 Merge pull request #26276 from deads2k/tweak-quota-validation
Automatic merge from submit-queue

make quota validation re-useable

Break quota validation into smaller functions to allow for object re-use.

@derekwaynecarr
2016-06-25 05:23:55 -07:00
k8s-merge-robot db62715c65 Merge pull request #26240 from liggitt/wrap-updated-object
Automatic merge from submit-queue

Add WrapUpdatedObjectInfo helper

This makes it easier to attach checks/transformations to the updated object in storage Update functions, while still keeping the data flow intact (so admission, patch, and other injected checks continue to work as intended), without needing to do anything tricky to get the updated object out of the UpdatedObjectInfo introduced in https://github.com/kubernetes/kubernetes/pull/25787

This is especially useful when one storage is delegating to another, but wants its checks to be run in the heart of the eventual GuaranteedUpdate call.
2016-06-25 04:44:40 -07:00
k8s-merge-robot b4c81a073a Merge pull request #25709 from asalkeld/null-deref
Automatic merge from submit-queue

Check for an empty value in validateField

```release-note
* Fix a panic when args was not supplied with any values.
```

reflect.TypeOf() can take a nil (it then returns a nil), but
Kind() panics on a nil.

Now the user gets the following output:
./kubectl.sh --server=http://localhost:8080 create -f ../../test-files/test-rc.yaml
error validating "../../test-files/test-rc.yaml": error validating data: unexpected nil value for field spec.template.spec.containers[0].args[0]; if you choose to ignore these errors, turn validation off with --validate=false

fixes #20627 and fixes #26927
2016-06-25 02:31:01 -07:00
k8s-merge-robot 7c355e18a7 Merge pull request #25085 from metral/recursive-edit
Automatic merge from submit-queue

enable recursive processing in kubectl edit

This PR was split out of https://github.com/kubernetes/kubernetes/pull/23673 per @deads2k's suggestion: https://github.com/kubernetes/kubernetes/pull/23673#discussion_r61291178

It makes use of the recursive processing of a directory in `kubectl edit`
2016-06-24 23:59:54 -07:00
k8s-merge-robot 151c2249cc Merge pull request #28044 from yifan-gu/bump_rkt
Automatic merge from submit-queue

rkt: Bump required rkt version to 1.9.1.

Bump the rkt version to use the one that fixed the [go-systemd sdjournal issue](https://github.com/coreos/rkt/pull/2837), also match [release doc](https://github.com/kubernetes/kubernetes.github.io/blob/release-1.3/docs/getting-started-guides/rkt/index.md#prerequisite).

cc @kubernetes/sig-rktnetes @kubernetes/sig-node
2016-06-24 22:50:29 -07:00
k8s-merge-robot 2d35871569 Merge pull request #24385 from Clarifai/fixes
Automatic merge from submit-queue

golint fixes for AWS cloudprovider

Among other things, golint doesn't like receivers that are inconsistently named or called "self". Or structs named aws.AWSservices, aws.AWSCloud, etc.
2016-06-24 20:58:49 -07:00
k8s-merge-robot fc1937f68f Merge pull request #20273 from kargakis/allow-scaling-paused-deployments
Automatic merge from submit-queue

Proportionally scale paused and rolling deployments

Enable paused and rolling deployments to be proportionally scaled.
Also have cleanup policy work for paused deployments.

Fixes #20853
Fixes #20966
Fixes #20754

@bgrant0607 @janetkuo @ironcladlou @nikhiljindal

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/20273)
<!-- Reviewable:end -->
2016-06-24 19:41:51 -07:00
k8s-merge-robot d50bd9e75c Merge pull request #27996 from ronnielai/gc-threshold
Automatic merge from submit-queue

Image GC logic should compensate for reserved blocks

Calculating the disk usage based on available bytes instead of usage bytes to account for reserved blocks in image GC

#27169
2016-06-24 19:08:36 -07:00
k8s-merge-robot f33188a0d0 Merge pull request #28060 from yifan-gu/fix_stage1_anno
Automatic merge from submit-queue

rkt: Fix the 'privileged' check when stage1 annotation is provided.

Previously when stage1 annotation is provided, we only checks if
the kubelet allows privileged, which is not useful as that is a global
setting.

Instead, we should check if the pod has explicitly set the privileged
security context to 'true'.

cc @kubernetes/sig-rktnetes @kubernetes/sig-node
2016-06-24 17:58:07 -07:00
k8s-merge-robot 6f8a0c61c1 Merge pull request #27208 from yujuhong/min_docker_version
Automatic merge from submit-queue

Bump minimum API version for docker to 1.21

The corresponding docker version is 1.9.x. Dropping support for docker 1.8.

/cc @kubernetes/sig-node
2016-06-24 17:24:19 -07:00
Angus Salkeld b4f7e67d25 Fix startup type error in initializeCaches
The following error was getting logged:
PersistentVolumeController can't initialize caches, expected list of volumes, got:
&{TypeMeta:{Kind: APIVersion:} ListMeta:{SelfLink:/api/v1/persistentvolumes ResourceVersion:11} Items:[]}
2016-06-25 10:15:27 +10:00
Yifan Gu 8b1b9120c6 rkt: Fix the 'privileged' check when stage1 annotation is provided.
Previously when stage1 annotation is provided, we only checks if
the kubelet allows privileged, which is not useful as that is a global
setting.

Instead, we should check if the pod has explicitly set the privileged
security context to 'true'.
2016-06-24 16:33:12 -07:00
Buddha Prakash c3551ae6cd Refactor qos package
Signed-off-by: Buddha Prakash <buddhap@google.com>
2016-06-24 15:36:04 -07:00
k8s-merge-robot 07d24e4557 Merge pull request #28004 from mikedanese/fix-nil
Automatic merge from submit-queue

return nil from NewClientConfig instead of empty struct

This is a go convention and fixes an nil pointer in kubelet when passing in bad command line options:

```
I0624 04:12:33.333246   25404 plugins.go:141] Loaded network plugin "kubenet"
E0624 04:12:33.333390   25404 runtime.go:58] Recovered from panic: "invalid memory address or nil pointer dereference" (runtime error: invalid memory address or nil pointer dereference)
/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/pkg/util/runtime/runtime.go:52
/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/pkg/util/runtime/runtime.go:40
/usr/local/go/src/runtime/asm_amd64.s:472
/usr/local/go/src/runtime/panic.go:443
/usr/local/go/src/runtime/panic.go:62
/usr/local/go/src/runtime/sigpanic_unix.go:24
/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/unversioned/service.go:132
/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/pkg/kubelet/kubelet.go:254
/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/pkg/client/cache/listwatch.go:80
/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/pkg/client/cache/reflector.go:262
/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/pkg/client/cache/reflector.go:204
/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/pkg/util/wait/wait.go:86
/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/pkg/util/wait/wait.go:87
/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/pkg/util/wait/wait.go:49
```
cc @caesarxuchao @lavalamp
2016-06-24 15:15:08 -07:00
k8s-merge-robot cd422ada25 Merge pull request #28034 from krousey/kubeconfig_filelock
Automatic merge from submit-queue

Adding lock files for kubeconfig updating

This is to prevent concurrent executions from corrupting the kubeconfig file. 

Also, release note?

#23964
2016-06-24 14:37:50 -07:00
Rudi Chiarito 8db551f674 golint fixes for aws cloudprovider 2016-06-24 17:06:38 -04:00
k8s-merge-robot 8509b35cf2 Merge pull request #27637 from hongchaodeng/rc-clean
Automatic merge from submit-queue

RC: rename wait -> wg

We already have a package called "wait". We should differentiate the name.

/cc @caesarxuchao
2016-06-24 13:57:13 -07:00
k8s-merge-robot ce0227bb8b Merge pull request #27402 from pwittrock/owners
Automatic merge from submit-queue

Remove bgrant from owners since he has plenty to do.

@bgrant0607 FYI

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-24 13:56:59 -07:00
k8s-merge-robot e65965fca6 Merge pull request #26855 from xiang90/cacher_rm
Automatic merge from submit-queue

cacher: remove unnecessary initialzation
2016-06-24 13:56:47 -07:00
k8s-merge-robot 6dff5d24d1 Merge pull request #25769 from deads2k/remove-dead-discovery-code
Automatic merge from submit-queue

remove confusing, dead code from master.go

Found while chasing something else, looks completely dead.
2016-06-24 13:56:31 -07:00
k8s-merge-robot c4aa7ee0b2 Merge pull request #25024 from xiangpengzhao/fix_typos
Automatic merge from submit-queue

Fix typos in docker.go

Fix minor typos in variable name
2016-06-24 13:56:22 -07:00
Yifan Gu 30c913e211 rkt: Bump required rkt version to 1.9.1. 2016-06-24 13:54:32 -07:00
Kris 88e2a31978 Adding lock files for kubeconfig updating 2016-06-24 13:11:52 -07:00
Davanum Srinivas 8beed4cd8d
Fix pkg/kubelet unit tests fail on OSX
Fixes #27730
2016-06-24 15:58:09 -04:00
Sylwester Brzeczkowski a558cadedd Fix attach command for InitContainers 2016-06-24 14:35:02 +02:00
k8s-merge-robot bc1c1c1360 Merge pull request #27972 from mml/fed-backend2
Automatic merge from submit-queue

A few changes to federated-service e2e test.

Most of the changes that get the test to pass have been made already or
elsewhere.  Here we restructure a bit fixing a nesting problem, extend the
timeouts, and start creating distinct backend pods that I'll delete in the
non-local test (coming shortly).

Also some extra debugging info in the DNS code.  I made some upstream
changes to skydns in https://github.com/skynetservices/skydns/pull/283

For #27739

Includes a commit from @madhusudancs that I will remove once his merges.
2016-06-23 22:48:08 -07:00
Mike Danese 3162197c23 autogenerated 2016-06-23 22:15:03 -07:00
Ron Lai 038b8797c4 Calculating the disk usage based on available bytes instead of usage bytes to account for reserved blocks in image GC 2016-06-23 21:41:33 -07:00
k8s-merge-robot a27fd4b01e Merge pull request #27708 from nikhiljindal/dnsHealthCheck
Automatic merge from submit-queue

federation: Updating KubeDNS to try finding a local service first for federation query

Ref https://github.com/kubernetes/kubernetes/issues/26762

Updating KubeDNS to try to find a local service first for federation query.
Without this change, KubeDNS always returns the DNS hostname, even if a local service exists.

Have updated the code to first remove federation name from path if it exists, so that the default search for local service happens. If we dont find a local service, then we try to find the DNS hostname.

Will appreciate a strong review since this is my first change to KubeDNS.
https://github.com/kubernetes/kubernetes/pull/25727 was the original PR that added federation support to KubeDNS.

cc @kubernetes/sig-cluster-federation @quinton-hoole @madhusudancs @bprashanth @mml
2016-06-23 20:30:58 -07:00
k8s-merge-robot 8ed6c8eeb8 Merge pull request #27914 from yifan-gu/fix_kubenet_hostport
Automatic merge from submit-queue

kubenet: Fix host port for rktnetes.

Because rkt pod runs after plugin.SetUpPod() is called, so
getRunningPods() does not return the newly created pod, which
causes the hostport iptable rules to be missing for this new pod.

cc @dcbw @freehan 

A follow up fix for https://github.com/kubernetes/kubernetes/pull/27878#issuecomment-227898936
2016-06-23 18:48:45 -07:00
nikhiljindal 61f43c5924 Updating KubeDNS to try a local service first for federation query 2016-06-23 17:50:12 -07:00
Matt Liggett e2021ef241 A few changes to federated-service e2e test.
Most of the changes that get the test to pass have been made already or
elsewhere.  Here we restructure a bit fixing a nesting problem, extend
the timeouts, and start creating distinct backend pods that I'll delete
in the non-local test (coming shortly).

Also some extra debugging info in the DNS code.  I made some upstream
changes to skydns in https://github.com/skynetservices/skydns/pull/283
2016-06-23 17:40:54 -07:00
Vishnu kannan fc3101f515 remove reference to documentation webpage from kubectl describe nodes output
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-06-23 16:28:01 -07:00
k8s-merge-robot 38182e91c9 Merge pull request #27960 from madhusudancs/fed-kube-dns-append-region
Automatic merge from submit-queue

Append both the zone and the region to the federation query responses, not just the zone.

This PR is based on @mml's #27896. I will rebase once that PR is merged.


[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-23 14:13:31 -07:00
Yifan Gu 9140ce07bc kubenet: Fix host port for rktnetes.
Because rkt pod runs after plugin.SetUpPod() is called, so
getRunningPods() does not return the newly created pod, which
causes the hostport iptable rules to be missing for this new pod.
2016-06-23 13:17:01 -07:00
k8s-merge-robot 436a109a14 Merge pull request #27950 from mml/fed-nil-subtree
Automatic merge from submit-queue

Verify that the we get a non-nil subtree before consulting it.
2016-06-23 12:54:37 -07:00
Madhusudan.C.S a827ef0713 Addressed review comments. 2016-06-23 12:33:41 -07:00
Madhusudan.C.S 6894e74027 Append both the zone and the region to the federation query responses, not just the zone. 2016-06-23 11:54:32 -07:00
k8s-merge-robot e70434a19f Merge pull request #27896 from mml/fed-labels-not-annotations
Automatic merge from submit-queue

Look for the failure zone label in labels.
2016-06-23 11:35:07 -07:00
Yu-Ju Hong 07b8c61274 Bump minimum API version for docker to 1.21
The corresponding docker version is 1.9.x. Dropping support for docker 1.8.
2016-06-23 10:21:54 -07:00
Matt Liggett 7a40584f66 Verify that the we get a non-nil subtree before consulting it.
Fixes #27919
2016-06-23 09:51:14 -07:00
Matt Liggett c87b613412 Look for the failure zone label in labels.
Not annotations.  Found this working on #27819.
2016-06-23 09:50:03 -07:00
k8s-merge-robot 3a29aa7941 Merge pull request #27496 from hpcloud/hpe/vsphere-scsidriver
Automatic merge from submit-queue

Adding SCSI controller type filter for vSphere disk attach

Hot plug of disks to a SCSI controller of type lsilogic doesn't work as expected. When a device is detached from the controller, it fails to remove the device from the /dev path which makes the subsequent attaches to the node to fail. With scsi controller types lsilogic-sas or paravirtual this seems to work well. This patch filters the existing controller for these types, and if it doesn't find one, it creates a new controller for disk attach.

This PR is dependent on https://github.com/kubernetes/kubernetes/pull/26658 (1st commit) also targeting this for 1.3
2016-06-23 08:09:43 -07:00
Kanghua Wang b694fc0688 fix return value
// matchesNodeSelector returns true if pod matches node's labels.
Whether this return value should be false?
2016-06-23 16:14:55 +08:00
k8s-merge-robot 1f78e7ea68 Merge pull request #27905 from freehan/krestart
Automatic merge from submit-queue

avoid deleting cbr0 address due to subnet string mismatch

fix: #27873
2016-06-22 23:01:49 -07:00
k8s-merge-robot 89bb77d3e8 Merge pull request #27737 from yifan-gu/grace_period
Automatic merge from submit-queue

rkt: Refactor grace termination period.

Add `TimeoutStopSec` service option to support grace termination.

Found we can improve the grace-period-termination by adding a systemd service option.

cc @kubernetes/sig-rktnetes
2016-06-22 19:23:25 -07:00
k8s-merge-robot d36375954e Merge pull request #27733 from caesarxuchao/gc-parametercodec
Automatic merge from submit-queue

let dynamic client handle non-registered ListOptions

And register v1.ListOptions in the policy group.

Fix #27622

@lavalamp @smarterclayton @krousey
2016-06-22 17:36:16 -07:00
Minhan Xia 48169ce736 avoid deleting cbr0 address due to subnet string mismatch 2016-06-22 16:45:04 -07:00
k8s-merge-robot ae1e194766 Merge pull request #27893 from saad-ali/fixAwsEbsDevicePath
Automatic merge from submit-queue

Fix device path used by volume WaitForAttach

Fixes https://github.com/kubernetes/kubernetes/issues/27872 "AWS: problem mounting dynamic PVs"
2016-06-22 15:48:33 -07:00
k8s-merge-robot db43b68640 Merge pull request #27891 from mml/fed-nil-node
Automatic merge from submit-queue

Catch the case where we cannot find any nodes.
2016-06-22 13:43:12 -07:00
k8s-merge-robot a505958f2b Merge pull request #27878 from dcbw/cni-cleanup
Automatic merge from submit-queue

Make kubelet CNI network plugin runtime-agnostic

cni.go has a couple docker-isms in it still, so let's remove those and make the plugin runtime-agnostic.  Also fixes some docker-isms in kubenet that snuck in with the HostPort changes.
2016-06-22 13:43:04 -07:00
Chao Xu d9f07925be let dynamic client handle non-registered ListOptions;
register ListOptions for apis/policy
2016-06-22 13:18:50 -07:00
saadali dfe8e606c1 Fix device path used by volume WaitForAttach 2016-06-22 12:56:58 -07:00
Matt Liggett d6ab379275 Catch the case where we cannot find any nodes.
It's possible to fall through the loops above with node still nil.  This
catches this and reports an error.

Found this working on #27819.
2016-06-22 12:35:48 -07:00
Dan Williams e47d020cb6 kubelet/kubenet: simplify getting nsenter path 2016-06-22 14:26:11 -05:00
Dan Williams a657d0587b kubelet/kubenet: Fix getRunningPods() to support rkt pods
Don't assume there's an infra container.
2016-06-22 13:45:13 -05:00
k8s-merge-robot b7ac841e7f Merge pull request #27810 from hpcloud/lbaas-v2-liberty-fix
Automatic merge from submit-queue

Removing name field from Member for compatibility with OpenStack Liberty

In OpenStack Mitaka, the name field for members was added as an optional field but does not exist in Liberty.  Therefore the current implementation for lbaas v2 will not work in Liberty.
2016-06-22 11:22:48 -07:00
k8s-merge-robot 5289de0501 Merge pull request #27837 from saad-ali/blockKubeletDetachFix
Automatic merge from submit-queue

Prevent detach before node status update

The PR prevents the attach/detach controller from start a detach operation before updating the node status (to remove the volume from the list of attached volumes).

Fixes https://github.com/kubernetes/kubernetes/issues/27836
2016-06-22 10:10:58 -07:00
Dan Williams db078dbea4 kubelet/cni/kubenet: use common container IP address functions 2016-06-22 11:36:10 -05:00
Dan Williams 9865ac325c kubelet/cni: make cni plugin runtime agnostic
Use the generic runtime method to get the netns path.  Also
move reading the container IP address into cni (based off kubenet)
instead of having it in the Docker manager code.  Both old and new
methods use nsenter and /sbin/ip and should be functionally
equivalent.
2016-06-22 11:36:10 -05:00
k8s-merge-robot cd66fb7a55 Merge pull request #27772 from jsafrane/kubelet-volume-not-found
Automatic merge from submit-queue

Rephrase 'pv not found in cache' warnings.

When kubelet starts a pod that refers to non-existing PV, PVC or Node, it should clearly show that the requested element does not exist.

Previous `PersistentVolumeClaim 'default/ceph-claim-wm' is not in cache` looks like random kubelet hiccup, while `PersistentVolumeClaim 'default/ceph-claim-wm' not found` suggests that the object may not exist at all and it might be an user error.

Fixes #27523
2016-06-22 05:16:02 -07:00
saadali 773ac20880 Prevent detach before node status update 2016-06-22 04:45:50 -07:00
k8s-merge-robot 7454bc464a Merge pull request #27845 from nikhiljindal/fixNodesStore
Automatic merge from submit-queue

Initialising nodesStore in KubeDNS

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

cc @kubernetes/sig-cluster-federation @mml
2016-06-22 04:38:47 -07:00
nikhiljindal 5875397a3f Initialising nodesStore in KubeDNS 2016-06-22 01:28:02 -07:00
k8s-merge-robot 07471cf90f Merge pull request #27553 from justinsb/pvc_zone_spreading_2
Automatic merge from submit-queue

AWS/GCE: Spread PetSet volume creation across zones, create GCE volumes in non-master zones

Long term we plan on integrating this into the scheduler, but in the
short term we use the volume name to place it onto a zone.
    
We hash the volume name so we don't bias to the first few zones.
    
If the volume name "looks like" a PetSet volume name (ending with
-<number>) then we use the number as an offset.  In that case we hash
the base name.
2016-06-22 01:22:16 -07:00
k8s-merge-robot 48f2b11c48 Merge pull request #27829 from zmerlynn/fix-tp-max-2
Automatic merge from submit-queue

GCE provider: Create TargetPool with 200 instances, then update with rest

GCE provider: Create TargetPool with 200 instances, then update with rest
 
Tested with 2000 nodes, this actually meets the GCE API specifications (which is nutty). Previous PR (#25178) was based on a mistaken understanding of a poorly documented set of limitations, and even poorer testing, for which I am embarassed.

Also includes the revert of #25178 (review commits separately).

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-22 00:48:30 -07:00
k8s-merge-robot d3a7daf449 Merge pull request #27353 from jsafrane/cinder-attach-test
Automatic merge from submit-queue

Add Cinder volume plugin attach tests.

@kubernetes/sig-storage
2016-06-22 00:15:17 -07:00
k8s-merge-robot ee28e1ebc3 Merge pull request #27280 from jsafrane/aws-cinder-attach-test
Automatic merge from submit-queue

Add AWS volume plugin attach tests.

@kubernetes/sig-storage 

This it a test, it does not really matter if it catches 1.3 train or the next one.
2016-06-21 23:31:32 -07:00
k8s-merge-robot faf1644ef8 Merge pull request #27020 from timstclair/manager
Automatic merge from submit-queue

Rename **/manager.go for better logging

Rename `pkg/kubelet/*/manager.go` to `pkg/kubelet/*/*_manager.go`.

**Justification:** Our current logging library, [glog](https://github.com/golang/glog), logs the filename where the log was generated, but not the full path. Ex:
```
I0608 00:28:25.116905    2847 manager.go:1024] Started watching for new ooms in manager
```
We have too many files named `manager.go`, which makes it difficult to identify log messages originating from them:
```console
$ find . -name "manager.go"
./pkg/kubelet/status/manager.go
./pkg/kubelet/dockertools/manager.go
./pkg/kubelet/eviction/manager.go
./pkg/kubelet/pod/manager.go
./pkg/kubelet/prober/manager.go
./vendor/github.com/vmware/govmomi/session/manager.go
./vendor/github.com/google/cadvisor/manager/manager.go
./vendor/github.com/coreos/go-oidc/key/manager.go
```

/cc @kubernetes/sig-node This change will probably invoke rebase hell, but now seems like a reasonable time for it (with less churn leading up to release).
2016-06-21 21:03:28 -07:00
k8s-merge-robot 14fb855048 Merge pull request #27576 from jingxu97/populator
Automatic merge from submit-queue

implement desiredWorld populator to sync up with informer

fixes #26994
This change implements the desiredStateOfWorld populator to sync up with
the pod informer. It periodically check each pod in the
desiredStateOfworld and verify whether it is still in pod informer
cache. If it not, remove it from the desiredStateOfWorld
2016-06-21 20:28:16 -07:00
k8s-merge-robot 24c3be145c Merge pull request #27509 from janetkuo/retry-update-e2e-rolling-update
Automatic merge from submit-queue

Retry Pod/RC updates in kubectl rolling-update

Fixes #27328

@kubernetes/kubectl 

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-21 18:52:43 -07:00
Zach Loafman f63ac1962c GCE provider: Create TargetPool with 200 instances, then update with rest
Tested with 2000 nodes, this actually meets the GCE API specifications
(which is nutty). Previous PR (#25178) was based on a mistaken
understanding of a poorly documented set of limitations, and even
poorer testing, for which I am embarassed.
2016-06-21 18:15:02 -07:00
Jing Xu 0fefb23f94 implement desiredWorld populator to sync up with informer
This change implements the desiredStateOfWorld populator to sync up with
the pod informer. It periodically check each pod in the
desiredStateOfworld and verify whether it is still in pod informer
cache. If it not, remove it from the desiredStateOfWorld
2016-06-21 17:09:35 -07:00
k8s-merge-robot 1ea3b171d8 Merge pull request #25938 from sitepod/third-party-resource-watch-fix
Automatic merge from submit-queue

handle watch event serialization for third party resources

This is a quick fix for #24963 although I understand @brendandburns is overhauling thirdparty resources at the moment


[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-21 16:56:04 -07:00
Janet Kuo ee81e5ebfa Retry Pod/RC updates in kubectl rolling-update 2016-06-21 16:08:10 -07:00
Davide Agnello 53805caa60 Removing name field from Member for compatibility with OpenStack Liberty
In OpenStack Mitaka, the name field for members was added as an optional
field but does not exist in Liberty.  Therefore the current
implementation for lbaas v2 will not work in Liberty.
2016-06-21 15:29:33 -07:00
Tim St. Clair f2f3caf744 Rename **/manager.go 2016-06-21 15:11:31 -07:00
derekwaynecarr 060e69ae92 Fix typo in filename 2016-06-21 16:56:07 -04:00
Justin Santa Barbara 404c501c0d AWS: Add missing error check for #27774
There was an error check missing, which seems likely to have caused 27774

Issue #27774
2016-06-21 15:37:18 -04:00
Justin Santa Barbara dd94997619 Add comments & misc review fixes
Lots of comments describing the heuristics, how it fits together and the
limitations.

In particular, we can't guarantee correct volume placement if the set of
zones is changing between allocating volumes.
2016-06-21 15:22:16 -04:00
k8s-merge-robot 459757cf08 Merge pull request #27728 from janetkuo/deployment-cleanup-unhealthy
Automatic merge from submit-queue

Deployment controller's cleanupUnhealthyReplicas should respect minReadySeconds

```release-note
Fixed an issue that Deployment may be scaled down further than allowed by maxUnavailable when minReadySeconds is set.
```

Fixes #26834

Detected by a flake in deployment rollover e2e test (the only test that specifies `minReadySeconds`).

cc @kubernetes/deployment @pwittrock 
cc @mqliang who first added `cleanupUnhealthyReplicas` in deployment controller 

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-21 11:46:12 -07:00
k8s-merge-robot 482a7bee2f Merge pull request #27426 from soltysh/scheduledjob_test_reapply
Automatic merge from submit-queue

Reapply ScheduledJob tests (2ab885a53a)

Re-applied the ScheduledJob tests (#25737) which were reverted due to an integration test error in #27184.
The problem was in `TestBatchGroupBackwardCompatibility` which is testing backwards compatibility for storing jobs (`extensions/v1beta1` vs `batch/v1`), which is not needed for `batch/v2alpha1`. I've added a skip to aforementioned test for that group. See `test/integration/master_test.go` for the actual fix.

@caesarxuchao @mikedanese ptal
@piosz @jszczepkowski @erictune fyi

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-21 10:31:54 -07:00
Zach Loafman ebc65f1dd3 Revert "GCE: Allow nodes to exceed target pool maximums"
This reverts commit faf0c44429.
2016-06-21 09:54:56 -07:00
k8s-merge-robot 6cccb872a7 Merge pull request #27741 from zmerlynn/fix-gce-filters
Automatic merge from submit-queue

GCE provider: Limit Filter calls to regexps rather than insane blobs

Filters can't exceed 4k, and GET requests against the GCE API are also limited, so these break down in different ways at different cluster counts. Fix it by introducing an advisory `node-instance-prefix` configuration in the GCE provider that can hint the `EnsureLoadBalancer`/`UpdateLoadBalancer code` (and the firewall creation/update code). If it's not there, or wrong (a hostname that's registered violates it), just ignore it and grab the whole project.

Fixes #27731 
[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-21 09:54:01 -07:00
k8s-merge-robot c30c49d0df Merge pull request #27376 from derekwaynecarr/eviction_owners
Automatic merge from submit-queue

Add owners file for kubelet eviction

/cc @vishh
2016-06-21 08:43:16 -07:00
Zach Loafman dd4dae4a57 GCE provider: Limit Filter calls to regexps rather than insane blobs
Filters can't exceed 4k, and GET requests against the GCE API are also
limited, so these break down in different ways at different cluster
counts. Fix it by introducing an advisory node-instance-prefix
configuration in the GCE provider that can hint the
EnsureLoadBalancer/UpdateLoadBalancer code (and the firewall
creation/update code). If it's not there, or wrong (a hostname that's
registered violates it), just ignore it and grab the whole project.
2016-06-21 08:34:48 -07:00
Jan Safranek c9a60e2d2c Rephrase 'pv not found in cache' warnings.
When kubelet starts a pod that refers to non-existing PV, PVC or Node, it
should clearly show that the requested element does not exist.

Previous "PersistentVolumeClaim 'default/ceph-claim-wm' is not in cache"
looks like random kubelet hiccup, while "PersistentVolumeClaim
'default/ceph-claim-wm' not found" suggests that the object may not exist at
all and it might be an user error.

Fixes #27523
2016-06-21 14:56:11 +02:00
Maciej Szulik feb43c5e6d Reapply ScheduledJob tests (2ab885a53a) 2016-06-21 14:55:00 +02:00
Jan Safranek ba63590e04 Add AWS volume plugin attach tests. 2016-06-21 14:27:37 +02:00
Jan Safranek 6356d85db5 Add Cinder volume plugin attach tests. 2016-06-21 13:12:47 +02:00
k8s-merge-robot a8fecd0cc6 Merge pull request #27639 from pmorie/goodbye-pod-mutation
Automatic merge from submit-queue

Remove pod mutation for volumes annotated with supplemental groups

Removes the pod mutation added in #20490 -- partially resolves #27197 from the standpoint of making the feature inactive in 1.3.  Our plan is to make this work correctly in 1.4.

@kubernetes/sig-storage
2016-06-21 03:18:45 -07:00
k8s-merge-robot ee35555cb6 Merge pull request #27570 from Random-Liu/add-runtime-request-timeout-flag
Automatic merge from submit-queue

Add runtime-request-timeout kubelet flag.

XRef #23563.

Addresses https://github.com/kubernetes/kubernetes/issues/27388#issuecomment-226570083.

Add a new kubelet flag `runtime-request-timeout`, and set to 2 minutes by default.
Now the flag only affects dockertools, rkt may also want to set request timeout according to the flag. @yifan-gu 

This PR also removed the timeout for all long running operations to avoid issues like #27588 and #26122.

@yujuhong @rrati 
/cc @kubernetes/sig-node 

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-21 01:26:54 -07:00
Matt Freeman 3758df1681 handle watch event serialization for third party resources 2016-06-21 07:30:08 +00:00
k8s-merge-robot 1fd4047961 Merge pull request #27549 from Clarifai/eventorder
Automatic merge from submit-queue

swap FIRSTSEEN/LASTSEEN columns in `kubectl get event -w`

```release-note
Show LASTSEEN, the sorting key, as the first column in `kubectl get event` output
```
Not having LASTSEEN as the first column can confuse users into thinking
that events are not delivered in order.

Fixes #27060
2016-06-21 00:09:53 -07:00
k8s-merge-robot ec518005a8 Merge pull request #27567 from saad-ali/blockKubeletOnAttachController
Automatic merge from submit-queue

Kubelet Volume Manager Wait For Attach Detach Controller and Backoff on Error

* Closes https://github.com/kubernetes/kubernetes/issues/27483
  * Modified Attach/Detach controller to report `Node.Status.AttachedVolumes` on successful attach (unique volume name along with device path).
  * Modified Kubelet Volume Manager wait for Attach/Detach controller to report success before proceeding with attach.
* Closes https://github.com/kubernetes/kubernetes/issues/27492
  * Implemented an exponential backoff mechanism for for volume manager and attach/detach controller to prevent operations (attach/detach/mount/unmount/wait for controller attach/etc) from executing back to back unchecked.
* Closes https://github.com/kubernetes/kubernetes/issues/26679
  * Modified volume `Attacher.WaitForAttach()` methods to uses the device path reported by the Attach/Detach controller in `Node.Status.AttachedVolumes` instead of calling out to cloud providers.
2016-06-20 20:36:08 -07:00
saadali e716ddc771 Controller wait for attach and exponential backoff
Modify attach/detach controller to keep track of volumes to report
attached in Node VolumeToAttach status.

Modify kubelet volume manager to wait for volume to show up in Node
VolumeToAttach status.

Implement exponential backoff for errors in volume manager and attach
detach controller
2016-06-20 18:19:55 -07:00
Yifan Gu 4329ba700f rkt: Refactor grace termination period.
Add `TimeoutStopSec` service option to support grace termination.
2016-06-20 17:18:12 -07:00
k8s-merge-robot fae7285b00 Merge pull request #27707 from yifan-gu/stage1_name
Automatic merge from submit-queue

rkt: Map kubelet's `--stage1-image` flag to rkt's `--stage1-name` flag.

This enables rkt to use cached stage1 image instead of unpacking the stage1 image every time for every pod.

After this change, users need to preload the stage1 images in order to enable rkt to find the stage1 image with the name specified by this flag.

Also, the cloud config is modified to pre-load the stage1 images.

cc @kubernetes/sig-rktnetes @kubernetes/sig-node
2016-06-20 16:40:09 -07:00
Aaron Levy 4a62d8e86f pkg/kubelet: mock stubs for cadvisor calls 2016-06-20 16:33:22 -07:00
Janet Kuo 726ba45b59 Deployment controller's cleanupUnhealthyReplicas should respect minReadySeconds 2016-06-20 15:03:57 -07:00
k8s-merge-robot d19c8ed825 Merge pull request #27609 from ZTE-PaaS/zhangke-patch-001
Automatic merge from submit-queue

EndpointController syncService log error

Here key param should service nor rc
2016-06-20 13:06:44 -07:00
k8s-merge-robot ca76cc0e9f Merge pull request #27566 from metral/clarify-docs
Automatic merge from submit-queue

clarify kubectl recursive flag description

Clarify the description of the recursive flag in `kubectl` so that it's more intuitive to the user

This should make it into v1.3 as the rest of the recursive feature PR's will be available in 1.3
2016-06-20 13:06:40 -07:00
k8s-merge-robot b613908cf2 Merge pull request #27365 from derekwaynecarr/describe_allocatable
Automatic merge from submit-queue

kubectl describe node is allocatable aware

`kubectl describe node` will render node.status.allocatable if present.

in addition, it will report allocated resources relative to node.status.allocatable if present instead of capacity.

old code was confusing if you setup system-reserved and kube-reserved as allocated resource percentages were relative to node capacity and not schedulable amount of resources.

this is a small but valuable usability improvement, so i think it would be good to make 1.3 milestone.

/cc @kubernetes/sig-node @kubernetes/rh-cluster-infra @kubernetes/kubectl @davidopp
2016-06-20 13:06:35 -07:00
k8s-merge-robot 31f2aa9138 Merge pull request #27298 from euank/larger-stack-print-size
Automatic merge from submit-queue

httplog: Increase stack size

The previous size, of 2KB, in practice always was filled mostly by
http server-releated stuff well above the panic itself, and truncated
before anything of real value was printed in some cases.

This increases the stack size so that panics are printed in full (well, except for really large ones).

cc @lavalamp
2016-06-20 12:22:48 -07:00
Aaron Levy 8c04af7b73 Retrieve host IP in isolation from apiserver 2016-06-20 11:47:32 -07:00
k8s-merge-robot 554b7010fa Merge pull request #27677 from justinsb/fix_24254
Automatic merge from submit-queue

AWS: Enable ICMP Type 3 Code 4 for ELBs

This enables MTU discovery.

Fixes #24254
2016-06-20 11:07:40 -07:00
Yifan Gu 4e9298cd99 rkt: Map kubelet's `--stage1-image` flag to rkt's `--stage1-name` flag.
This enables rkt to use cached stage1 image instead of unpacking the
stage1 image every time for every pod.

After this change, users need to preload the stage1 images in order to
enable rkt to find the stage1 image with the name specified by this flag.
2016-06-20 10:39:46 -07:00
Abitha Palaniappan 4a5ade213c Adding scsi controller type filter while attaching disks
Hot attach of disk to a scsi controller will work only if the
controller type is lsilogic-sas or paravirtual.This patch filters
the existing controller for these types, if it doesn't find one it
creates a new scsi controller.
2016-06-20 09:54:55 -07:00
gmarek 9bbcb5e3b8 Remove dependency on test/integration from kubemark 2016-06-20 16:20:51 +02:00
Michail Kargakis f3d2e3ff22 controller: proportionally scale paused and rolling deployments
Enable paused and rolling deployments to be proportionally scaled.
Also have cleanup policy work for paused deployments.
2016-06-20 12:13:35 +02:00
Michail Kargakis a098d9fd24 integer: add int32 min/max helpers 2016-06-20 12:13:35 +02:00
Michail Kargakis bad8b6dde4 integer: add utility for proper integer rounding 2016-06-20 12:13:35 +02:00
k8s-merge-robot d8b463dfd2 Merge pull request #27128 from markturansky/disable_provisioning
Automatic merge from submit-queue

Allow disabling of dynamic provisioning

Allow administrators to opt-out of dynamic provisioning.  Provisioning is still on by default, which is the current behavior.

Per a conversation with @jsafrane, a boolean toggle was added and plumbed through into the controller.  Deliberate disabling will simply return nil from `provisionClaim` whereas a misconfigured provisioner will continue on and generate error events for the PVC.

@kubernetes/rh-storage @saad-ali @thockin  @abhgupta
2016-06-20 02:10:43 -07:00
k8s-merge-robot 0730ffbff7 Merge pull request #27434 from jsafrane/pv-events-message
Automatic merge from submit-queue

Fill PV.Status.Message with deleter/recycler errors.

Instead of empty `Message` `kubectl describe pv` now shows:

```
Name:		nfs
Labels:		<none>
Status:		Failed
Claim:		default/nfs
Reclaim Policy:	Recycle
Access Modes:	RWX
Capacity:	1Mi
Message:	Recycler failed: Pod was active on the node longer than specified deadline
Source:
    Type:	NFS (an NFS mount that lasts the lifetime of a pod)
    Server:	10.999.999.999
    Path:	/
    ReadOnly:	false
```

This is actually a regression since 1.2

@kubernetes/sig-storage
2016-06-20 01:36:28 -07:00
k8s-merge-robot 60d4f2fe9d Merge pull request #27432 from jsafrane/pv-events-log
Automatic merge from submit-queue

Allow emitting PersistentVolume events.

Similarly to Nodes, PersistentVolumes are not in any namespace and we should
not block events on them. Currently, these events are rejected with
`Event "nfs.145841cf9c8cfaf0" is invalid: involvedObject.namespace: Invalid value: "": does not match involvedObject`
2016-06-20 01:02:47 -07:00
saadali d72f88bf3a Modify Attach method to return device path 2016-06-19 23:54:02 -07:00
saadali 926bb4cca0 Add patch status to Node internalclientset 2016-06-19 23:54:02 -07:00
saadali e3e919ca20 Add VolumesAttached field to Node Status API 2016-06-19 23:54:02 -07:00
markturansky 16ec36c591 added toggle to disable dynamic provisioning 2016-06-20 01:15:23 -04:00
k8s-merge-robot 4fcbc0ada7 Merge pull request #26658 from hpcloud/hpe/vsphere-vol-bugfixes
Automatic merge from submit-queue

Fixing vSphere Volume plugin bugs

This PR fixes #26646 and targeted for 1.3
2016-06-19 21:06:13 -07:00
k8s-merge-robot 6fbf99b11a Merge pull request #26753 from ericchiang/rbac-authorizer-tests
Automatic merge from submit-queue

add unit and integration tests for rbac authorizer

This PR adds lots of tests for the RBAC authorizer. 

The plan over the next couple days is to add a lot more test cases.

Updates #23396

cc @erictune
2016-06-19 19:19:08 -07:00
k8s-merge-robot 51dd3d562d Merge pull request #27380 from rootfs/fix-nsenter-list
Automatic merge from submit-queue

in nsenter mounter, read  hosts PID 1 /proc/mounts to list the mounts

fix #27378
2016-06-19 18:38:54 -07:00
k8s-merge-robot ba771e7135 Merge pull request #27192 from smarterclayton/signature_change
Automatic merge from submit-queue

Remove EncodeToStream(..., []unversioned.GroupVersion)

Was not being used. Is a signature change and is necessary for post 1.3 work on Templates and other objects that nest objects.

Extracted from #26044
2016-06-19 16:13:07 -07:00
k8s-merge-robot 3df228fd76 Merge pull request #27431 from jsafrane/pv-events-print
Automatic merge from submit-queue

'kubectl describe pv' now shows events
2016-06-19 15:31:55 -07:00
k8s-merge-robot 536ed2843e Merge pull request #27628 from justinsb/fix_27534
Automatic merge from submit-queue

AWS volumes: Use /dev/xvdXX names with EC2

We are using HVM style names, which cannot be paravirtual style names.

See
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/device_naming.html

This also fixes problems introduced when moving volume mounting to KCM.

Fix #27534
2016-06-19 13:17:09 -07:00
k8s-merge-robot 8f5d081194 Merge pull request #27209 from ronnielai/disk-check
Automatic merge from submit-queue

Logging for OutOfDisk when file system info is not available

#26566
1. Adding logs for file system info being not available.
2. Reporting outOfDisk when file system info is not available.
2016-06-19 00:02:59 -07:00
k8s-merge-robot 090e6ff660 Merge pull request #27625 from goltermann/spell2
Automatic merge from submit-queue

Fix several spelling errors in comments

What the title says
2016-06-18 23:08:28 -07:00
k8s-merge-robot 9d8e79be09 Merge pull request #27168 from smarterclayton/flatten_types
Automatic merge from submit-queue

ObjectMeta, ListMeta, and TypeMeta should implement their interfaces

Make unversioned.ListMeta implement List. Update all the *List types so they implement GetListMeta.
This helps avoid using reflection to get list information.

Remove all unnecessary boilerplate, move the interfaces to the right
places, and add a test that verifies that objects implement one, the
other, but never both.

@ncdc @lavalamp this supercedes #26964 with the boilerplate removed.  Added tests
2016-06-18 20:23:50 -07:00
Justin Santa Barbara fddc9d61fa AWS: Enable ICMP Type 3 Code 4 for ELBs
This enables MTU discovery.

Fixes #24254
2016-06-18 21:52:10 -04:00
k8s-merge-robot 6b14e0f226 Merge pull request #27054 from jingxu97/bug-volume
Automatic merge from submit-queue

Fix bug in isLikelyNotMountPoint function

In nsenter_mount.go/isLikelyNotMountPoint function, the returned output
from findmnt command misses the last letter. Modify the code to use
String.contains instead of string matching. fixes #26421 fixes #25056 fixes #22911
2016-06-18 17:08:02 -07:00
k8s-merge-robot 7ee4189cf6 Merge pull request #27036 from sttts/sttts-secure-seccomp-path
Automatic merge from submit-queue

Filter seccomp profile path from malicious .. and /

Without this patch with `localhost/<some-releative-path>` as seccomp profile one can load any file on the host, e.g. `localhost/../../../../dev/mem` which is not healthy for the kubelet.

/cc @jfrazelle 

Unit tests depend on https://github.com/kubernetes/kubernetes/pull/26710.
2016-06-18 15:58:07 -07:00
k8s-merge-robot d80b60ef7c Merge pull request #26934 from dcbw/split-hostport
Automatic merge from submit-queue

kubelet/kubenet: split hostport handling into separate module

This pulls the hostport functionality of kubenet out into a separate module so that it can be more easily tested and potentially used from other code (maybe CNI, maybe downstream consumers like OpenShift, etc).  Couldn't find a mock iptables so I wrote one, but I didn't look very hard.

@freehan @thockin @bprashanth
2016-06-18 15:24:57 -07:00
k8s-merge-robot b9dbe98a74 Merge pull request #26924 from olegshaldybin/pluralize-subject
Automatic merge from submit-queue

Rename RBAC 'subject' to 'subjects'.

Rename RBAC subject field

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-18 14:18:04 -07:00
k8s-merge-robot 77cf11f4d7 Merge pull request #27441 from derekwaynecarr/downward_api_node_defaults
Automatic merge from submit-queue

Revert revert of downward api node defaults

Reverts the revert of https://github.com/kubernetes/kubernetes/pull/27439

Fixes #27062

@dchen1107 - who at Google can help debug why this caused issues with GKE infrastructure but not GCE merge queue?

/cc @wojtek-t @piosz @fgrzadkowski @eparis @pmorie
2016-06-18 12:12:24 -07:00
k8s-merge-robot 7e88b0ef0e Merge pull request #26781 from aveshagarwal/master-dapi-volume-annotations-labels-issue
Automatic merge from submit-queue

Remove an empty line being output when exposing annotations and labels via downward api volume

The issue is that formatMap function (for annotations and labels) in pkg/fieldpath/fieldpath.go appends a "\n" after each key value pair which is correct for all pairs except the last pair because then a complete string is returned with a "\n" in the end. It is inconsistent with other strings (metadata.name, namespace and resources) being returned as they dont have "\n" in the end. These returned strings are processed by sortLines function in pkg/volume/downwardapi/downwardapi.go and the function finally appends "\n" to each  string, but incorrectly outputs an empty line if there is an already "\n" in the end with the  input string. To illustrate:

The sortLines works as follows: lets say the input string is : "a\nb\nc\n". 

1. It splits them as "a", "b", "c", ""  (note empty string in the end). 
2. it sort them:  "", "a", b", "c"  
3. And then it appends "\n" again to each string:  "\n",  "a\n" ,"b\n", "c\n"

So we can see that it is erroneously creating an empty string in the beginning when the input string to sortLines has "\n" in the end.  As I said above, it is not an issue with metadata.name, namespace and resources as their input strings are without \n" in the end.

So now, the output in the downward api volume, (using the example in http://kubernetes.io/docs/user-guide/downward-api/):

```
# cat /etc/annotations

 zone="us-est-coast"
 cluster="test-cluster1"
 rack="rack-22"
```

After this patch, the output will be correct and without the erroneous empty line in the beginning.
I could think other ways to solve this but I found the way in this patch with minimal code changes.

@kubernetes/rh-cluster-infra
2016-06-18 09:19:21 -07:00
k8s-merge-robot 6b9400d789 Merge pull request #26388 from caseydavenport/cd-networkpolicy-uts
Automatic merge from submit-queue

NetworkPolicy unit tests

- [x] Validation tests
- [x] storage tests
- [x] strategy tests
- [ ] test-cmd.sh

CC @thockin
2016-06-18 00:30:00 -07:00
k8s-merge-robot 7ea6705519 Merge pull request #25929 from jingxu97/bug-notag
Automatic merge from submit-queue

refuse to create a firewall rule with no target tag

fixes #25145

This modification in gce.firewallObject() will return error when trying
to create or update firewall rule if no node tag can be found. Also add
unit test for this modification.
2016-06-17 23:56:17 -07:00
k8s-merge-robot 076bf81b8b Merge pull request #23473 from AdoHe/kubelet_tls_overwrite
Automatic merge from submit-queue

fix kubelet tls overwrite issue

@lavalamp apply the same thing to kubelet. @dchen1107 ptal.

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/23473)
<!-- Reviewable:end -->
2016-06-17 23:20:03 -07:00
Justin Santa Barbara 9c2566572d GCE Multizone: Allow volumes to be created in non-master zone
We had a long-lasting bug which prevented creation of volumes in
non-master zones, because the cloudprovider in the volume label
admission controller is not initialized with the multizone setting
(issue #27656).

This implements a simple workaround: if the volume is created with the
failure-domain zone label, we look for the volume in that zone.  This is
more efficient, avoids introducing a new semantic, and allows users (and
the dynamic provisioner) to create volumes in non-master zones.

Fixes #27657
2016-06-17 23:27:41 -04:00
Justin Santa Barbara e711cbf912 GCE/AWS: Spread PetSet volume creation across zones
Long term we plan on integrating this into the scheduler, but in the
short term we use the volume name to place it onto a zone.

We hash the volume name so we don't bias to the first few zones.

If the volume name "looks like" a PetSet volume name (ending with
-<number>) then we use the number as an offset.  In that case we hash
the base name.

Fixes #27256
2016-06-17 23:27:31 -04:00
enj 6e6b825097 Use preferred group version when discovery fails due to 403 2016-06-17 22:27:43 -04:00
Random-Liu ca9427954c Generated code. 2016-06-17 18:18:41 -07:00
Random-Liu 3cc9ca3988 Add timeout for rkt requests. 2016-06-17 18:18:41 -07:00
Random-Liu 52ebd4ecf1 Add runtime-request-timeout kubelet flag. 2016-06-17 18:18:41 -07:00
k8s-merge-robot 04fd079d09 Merge pull request #27597 from dchen1107/kubectl
Automatic merge from submit-queue

No timeout for kubectl logs

Fix #27588

cc/ @smarterclayton
2016-06-17 17:48:15 -07:00
Daniel Smith 22d3267188 Merge pull request #27387 from yujuhong/sources_ready
kubelet: don't GC containers of deleted pods until all sources are ready
2016-06-17 16:01:31 -07:00
k8s-merge-robot 5a6188d61e Merge pull request #26113 from aaronlevy/log-elect
Automatic merge from submit-queue

pkg/client/leaderelection: log err when retrieving endpoint

The leader election code currently suppresses errors when trying to retrieve an endpoint. This can lead to difficult to debug situations.

In the case of a mis-configured controller-manager or scheduler - where they fail to contact an apiserver - this currently leads to no log output in the default case, or `failed to renew lease foo/bar` in `--v=4`, which isn't very actionable.
2016-06-17 14:03:22 -07:00
Paul Morie a573a0eda3 Remove pod mutation for volumes annotated with supplemental groups 2016-06-17 15:36:56 -04:00
Hongchao Deng b9c8c0fc23 RC: rename wait -> wg
We already have a package called "wait". We should make the name different.
2016-06-17 12:16:15 -07:00
k8s-merge-robot 82ab80cb57 Merge pull request #27265 from gmarek/grabber-test
Automatic merge from submit-queue

Remove known metrics list

Fixes #26800
2016-06-17 11:24:17 -07:00
derekwaynecarr 18a206ad56 Downward API defaults resource limits to node capacity/allocatable 2016-06-17 14:18:18 -04:00
goltermann 218645b346 Fix several spelling errors in comments. 2016-06-17 10:41:18 -07:00
Chao Xu a29f6aa8ae add Patch to clientsets 2016-06-17 10:30:58 -07:00
Justin Santa Barbara 3af950f8f4 AWS volumes: Use /dev/xvdXX names with EC2
We are using HVM style names, which cannot be paravirtual style names.

See
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/device_naming.html

This also fixes problems introduced when moving volume mounting to KCM.

Fix #27534
2016-06-17 13:09:26 -04:00
k8s-merge-robot 1444cbf594 Merge pull request #27525 from wojtek-t/network_unavailable_only_in_gce
Automatic merge from submit-queue

Don't set NetworkUnavailable condition in non-GCE/GKE clouds

Ref #27347

@davidopp @erictune @justinsb @simonswine
2016-06-17 09:08:50 -07:00
Mike Metral 6b172657b0 clarify recursive flag description 2016-06-17 08:35:44 -07:00
k8s-merge-robot fd7803cdbb Merge pull request #27229 from pmorie/pod-manager-godoc
Automatic merge from submit-queue

Godoc for kubelet pod manager

Improve godoc for pod manager and mirror client.

@kubernetes/sig-node
2016-06-17 08:15:58 -07:00
k8s-merge-robot 983b478ff4 Merge pull request #27042 from lukaszo/logs
Automatic merge from submit-queue

Fix kubectl logs for init containers
2016-06-17 05:01:04 -07:00
Ke Zhang c8471f2c3e EndpointController syncService log error 2016-06-17 17:05:50 +08:00
k8s-merge-robot 9f607c528e Merge pull request #27469 from aveshagarwal/master-fix-divisor-memory
Automatic merge from submit-queue

Fix validation of divisor for memory resource in downward API

@kubernetes/rh-cluster-infra @pmorie
2016-06-17 00:57:01 -07:00
Dawn Chen 8f5cadeae9 No timeout for kubectl logs 2016-06-16 20:36:59 -07:00
xiangpengzhao 28286d6890 Refactor func canRunPod 2016-06-16 21:36:07 -04:00
k8s-merge-robot 646a872f15 Merge pull request #27415 from caesarxuchao/fix-oldrc
Automatic merge from submit-queue

fix updatePod() of RS and RC controllers

Fix updatePod of replication controller manager and replica set controller to handle pod label updates that match no RC or RS.

Fix #27405
2016-06-16 17:09:53 -07:00
Dan Williams a519e8a403 kubenet: clean up networking when setup errors occur
Relying on the runtime to later call cleanup is fragile, so make sure
that everything gets nicely cleaned up when setup errors occur.
2016-06-16 13:53:28 -05:00
Dan Williams 965492fdd0 kubelet/kubenet: split hostport handling into separate module 2016-06-16 13:44:32 -05:00
Rudi Chiarito bf873df1ee swap FIRSTSEEN/LASTSEEN columns in `kubectl get event`
Not having LASTSEEN as the first column can confuse users into thinking
that events are not delivered in order.

Fixes #27060
2016-06-16 14:39:41 -04:00
Yu-Ju Hong f279e36292 Don't remove all containers of deleted pods until sources are ready
Without this fix, kubelet may assume a pod from a not-ready source has already
been deleted, and GC all its dead containers.
2016-06-16 10:47:12 -07:00
Dr. Stefan Schimanski 734f05057e Add pod-terminated check to kubectl-exec
Fixes https://github.com/openshift/origin/issues/8472#event-681794952
2016-06-16 19:44:47 +02:00
Phillip Wittrock 0ed3bd63e4 Remove bgrant from pkg/OWNERS and pkg/kubectl/OWNERS since he has plenty to do. 2016-06-16 08:21:27 -07:00
Rajdeep Dua 27b6c1b4f8 Test cases for Rest Client 2016-06-16 02:14:19 -07:00
Wojciech Tyczynski f24f6102a9 Don't set NetworkUnavailable condition in non-GCE/GKE clouds 2016-06-16 09:40:49 +02:00
Saad Ali 23f9d9f4cf Merge pull request #27491 from yujuhong/shorter_timeout
Set the podAttachAndMountTimeout to a lower value
2016-06-15 22:57:33 -07:00
Yu-Ju Hong 9bc2b43064 Set the podAttachAndMountTimeout to a lower value
If the mount operation exceeds the timeout, it will return an error and the
pod worker will retry in the next sync (10s or less). Compared with the
original value (i.e., 10 minutes), this frees the pod worker sooner to process
pod updates, if there are any.
2016-06-15 16:01:15 -07:00
Daniel Smith 8bc4e9bc13 Merge pull request #27435 from wojtek-t/fix_delta_fifo_race
Fix bugs in DeltaFIFO
2016-06-15 15:42:10 -07:00
dkalleg d95e767601 vSphere provider - Getting node data by ip instead of uuid
To get the uuid we need the service to be running as root. This change
allows us to run the controller-manager and api server as non-root.
2016-06-15 13:50:20 -07:00
Avesh Agarwal eac3e3d809 Fix divisor for memory resource as it should never be millibytes 2016-06-15 15:32:59 -04:00
deads2k 1388efe6bb make quota validation re-useable 2016-06-15 14:38:43 -04:00
Chao Xu 63fb075f0a fix updatePod of replication controller manager and replica set controller to
handle pod label updates that match no rc or rs
2016-06-15 10:34:26 -07:00
saadali cfab5362d4 Remove spam log messages from gce pd
Fixes https://github.com/kubernetes/kubernetes/pull/27410
2016-06-15 09:34:08 -07:00
saadali 542f2dc708 Introduce new kubelet volume manager
This commit adds a new volume manager in kubelet that synchronizes
volume mount/unmount (and attach/detach, if attach/detach controller
is not enabled).

This eliminates the race conditions between the pod creation loop
and the orphaned volumes loops. It also removes the unmount/detach
from the `syncPod()` path so volume clean up never blocks the
`syncPod` loop.
2016-06-15 09:34:08 -07:00
saadali 9b6a505f8a Rename UniqueDeviceName to UniqueVolumeName
Rename UniqueDeviceName to UniqueVolumeName and move helper functions
from attacherdetacher to volumehelper package.
Introduce UniquePodName alias
2016-06-15 09:32:12 -07:00
Piotr Szczesniak 51af487b5f Revert "Downward api node defaults" 2016-06-15 15:47:49 +02:00
Wojciech Tyczynski ccd42e9236 Fix bugs in DeltaFIFO 2016-06-15 15:08:21 +02:00
Jan Safranek 449e9f49d3 Fill PV.Status.Message with deleter/recycler errors. 2016-06-15 14:56:31 +02:00
Jan Safranek 4ab91066d0 Allow emitting PersistentVolume events.
Similarly to Nodes, PersistentVolumes are not in any namespace and we should
not block events on them. Currently, these events are rejected with
'Event "nfs.145841cf9c8cfaf0" is invalid: involvedObject.namespace: Invalid value: "": does not match involvedObject'
2016-06-15 14:42:24 +02:00
Jan Safranek e1e9a41757 Show events in 'kubectl describe pv' 2016-06-15 14:17:02 +02:00
k8s-merge-robot 922facd652 Merge pull request #27303 from derekwaynecarr/downward_api_node_defaults
Automatic merge from submit-queue

Downward api node defaults

Fixes #27062

Replaces https://github.com/kubernetes/kubernetes/pull/27107
2016-06-14 22:53:03 -07:00
k8s-merge-robot 49d0ba52dc Merge pull request #27181 from jsafrane/update-selector-doc
Automatic merge from submit-queue

Update PVC.Selector docs: it's ignored when VolumeName is set

@kubernetes/sig-storage
2016-06-14 21:03:30 -07:00
k8s-merge-robot 2b9670b77b Merge pull request #27190 from caesarxuchao/remove-debugging-log
Automatic merge from submit-queue

Fix a debugging line

A trivial update. @k8s-oncall can we manually merge it?
2016-06-14 16:53:09 -07:00
k8s-merge-robot abfe894385 Merge pull request #27301 from bprashanth/ps_dbg
Automatic merge from submit-queue

petset and volume debug messages

To help with https://github.com/kubernetes/kubernetes/issues/27299 https://github.com/kubernetes/kubernetes/issues/27058

simple enough that either reviewer can approve I guess.
2016-06-14 12:34:43 -07:00
deads2k ac64404d86 let patch use local file content to mutate 2016-06-14 14:38:00 -04:00
k8s-merge-robot cc5e159fe5 Merge pull request #27341 from wojtek-t/fix_pop
Automatic merge from submit-queue

Fix race in informer

Fix #27004

@smarterclayton @hongchaodeng @caesarxuchao
2016-06-14 11:27:46 -07:00