Commit Graph

32374 Commits

Author SHA1 Message Date
k8s-merge-robot
8635d27cf1 Merge pull request #28780 from fejta/auth
Automatic merge from submit-queue

Inject service-account.json into test container

Add a volume with the service account credentials. This should cause e2e-runner.sh to use them.

Fixes #28612
2016-07-11 12:22:39 -07:00
Wojciech Tyczynski
d14fe0f269 Change storeToNodeConditionLister to return []*api.Node instead of api.NodeList for performance 2016-07-11 21:02:33 +02:00
k8s-merge-robot
5067af159e Merge pull request #28715 from euank/kubelet-trim-dead-code
Automatic merge from submit-queue

kubelete: delete a few bits of dead code

Less is more.
2016-07-11 11:40:47 -07:00
k8s-merge-robot
0aa90bd63b Merge pull request #28705 from pmorie/rm-getref
Automatic merge from submit-queue

Remove unnecessary calls to api.GetReference

These calls are unnecessary, can be removed.  `Eventf` and others just call `GetReference` on the object they are passed.

cc @kubernetes/sig-node
2016-07-11 11:07:26 -07:00
k8s-merge-robot
4726b521d1 Merge pull request #28779 from ursuad/patch-2
Automatic merge from submit-queue

Removed invalid value


[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()

Id isn't a valid field in a Pod object so kubectl fails with: 

```
error validating "glusterfs-pod.json": error validating data: found invalid field id for v1.Pod; if you choose to ignore these errors, turn validation off with --validate=false
```
2016-07-11 10:30:09 -07:00
k8s-merge-robot
cef3e4568d Merge pull request #28690 from markturansky/immutable_claim
Automatic merge from submit-queue

PersistentVolumeClaim.Spec is immutable once created

Per https://github.com/kubernetes/kubernetes/pull/28636, PVCs are immutable post-creation in order to enforce quota, limitRange, etc. without being able to game the system.

@derekwaynecarr @abhgupta @smarterclayton @kubernetes/sig-storage 

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-07-11 10:30:03 -07:00
k8s-merge-robot
10141ebc21 Merge pull request #28757 from resouer/nit-fix
Automatic merge from submit-queue

Remove no needed todo

ref #19645 #13418

Remove comment about refactoring pod cleanup since we have agree to keep it.

cc @yujuhong
2016-07-11 09:57:16 -07:00
Pawel Skrzynski
50751f73ab Unset KUBERNETES_PROVIDER when KUBERNETES_CONFORMANCE_TEST is set 2016-07-11 18:43:37 +02:00
Erick Fejta
3d30caf80c Inject service-account.json into test container 2016-07-11 09:27:15 -07:00
markturansky
3ddb8470b9 make PVCs immutable (except volumeName) post-creation 2016-07-11 11:50:16 -04:00
k8s-merge-robot
9b74e24fa3 Merge pull request #28769 from wojtek-t/optimize_priorities
Automatic merge from submit-queue

Optimize priorities in scheduler

Ref #28590

It's probably easier to review it commit by commit, since those changes are kind of independent from each other.

@davidopp - FYI
2016-07-11 07:49:23 -07:00
Adrian Ursu
4ec60a1b4e Removed invalid value
id isn't a valid field in a Pod object so kubectl fails with: 

error validating "glusterfs-pod.json": error validating data: found invalid field id for v1.Pod; if you choose to ignore these errors, turn validation off with --validate=false
2016-07-11 15:29:26 +01:00
Wojciech Tyczynski
d02e8d2885 Avoid unnecessary conversions 2016-07-11 15:41:27 +02:00
Wojciech Tyczynski
dcb2ca54ad Avoid unnecessary copies 2016-07-11 15:41:27 +02:00
Wojciech Tyczynski
989202c384 Cache AllowedPodNumber to avoid conversions. 2016-07-11 15:41:26 +02:00
Wojciech Tyczynski
4eed5e07a5 Precompute pod resources 2016-07-11 15:41:26 +02:00
Wojciech Tyczynski
e8e8e2d086 Remove unneeded factories 2016-07-11 15:41:26 +02:00
Douglas Gibbons
2a589b0963 ConfigMap added to kube addon manager. 2016-07-11 13:54:18 +01:00
Johannes Scheuermann
07b81abb6c Fix typos in volume.go 2016-07-11 12:32:32 +02:00
k8s-merge-robot
897d277095 Merge pull request #28762 from lixiaobing10051267/masterToScheduler
Automatic merge from submit-queue

Error info "scheduler" modify

File "plugin\pkg\scheduler\algorithm\scheduler_interface_test.go“, line 49, "st.t.Errorf("Unexpected error %v\nTried to scheduler: %#v", err, pod)", here "scheduler" should be "schedule" because it is to schedule pod.
2016-07-11 03:30:34 -07:00
k8s-merge-robot
39bfa168cd Merge pull request #28684 from kargakis/deployment-controller-updates
Automatic merge from submit-queue

Deployment controller updates

@kubernetes/deployment @deads2k PTAL
2016-07-11 02:56:47 -07:00
lixiaobing10051267
db7859f13c Doc referrence "container-id" incorrect 2016-07-11 17:04:07 +08:00
Lantao Liu
f68acf6460 Revert "Workardound KubeProxy failures in test framework" 2016-07-11 00:19:15 -07:00
lixiaobing10051267
ce83c04251 Error info "scheduler" modify 2016-07-11 15:17:43 +08:00
k8s-merge-robot
0a6561f5e9 Merge pull request #28704 from dims/fix-issue-11747
Automatic merge from submit-queue

E2E test for kubectl replace
2016-07-11 00:14:57 -07:00
k8s-merge-robot
6462f82243 Merge pull request #28697 from Random-Liu/fix-kube-proxy-panic
Automatic merge from submit-queue

Prevent kube-proxy from panicing when sysfs is mounted as read-only.

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

This PR:
* Checks the permission of sysfs before setting conntrack hashsize, and returns an error "readOnlySysFSError" if sysfs is readonly. As I know, this is the only place we need write permission to sysfs, CMIIW.
* Update a new node condition 'RuntimeUnhealthy' with specific reason, message and hit to the administrator about the remediation.

I think this should be an acceptable fix for now.
Node problem detector is designed to integrate with different problem daemons, but **the main logic is in the problem detection phase**. After the problem is detected, what node problem detector does is also simply updating a node condition.

If we let kube-proxy pass the problem to node problem detector and let node problem detector update the node condition. It looks like an unnecessary hop. The logic in kube-proxy won't be different from this PR, but node problem detector will have to open an unsafe door to other pods because the lack of authentication mechanism.

It is a bit hard to test this PR, because we don't really have a bad docker in hand. I can only manually test it:
* If I manually change the code to let it return `"readOnlySysFSError`, the node condition will be updated:
```
  NetworkUnavailable 	False 	Mon, 01 Jan 0001 00:00:00 +0000 	Fri, 08 Jul 2016 01:36:41 -0700 	RouteCreated 			RouteController created a route
  OutOfDisk 		False 	Fri, 08 Jul 2016 01:37:36 -0700 	Fri, 08 Jul 2016 01:34:49 -0700 	KubeletHasSufficientDisk 	kubelet has sufficient disk space available
  MemoryPressure 	False 	Fri, 08 Jul 2016 01:37:36 -0700 	Fri, 08 Jul 2016 01:34:49 -0700 	KubeletHasSufficientMemory 	kubelet has sufficient memory available
  Ready 		True 	Fri, 08 Jul 2016 01:37:36 -0700 	Fri, 08 Jul 2016 01:35:26 -0700 	KubeletReady 			kubelet is posting ready status. WARNING: CPU hardcapping unsupported
  RuntimeUnhealthy 	True 	Fri, 08 Jul 2016 01:35:31 -0700 	Fri, 08 Jul 2016 01:35:31 -0700 	ReadOnlySysFS 			Docker unexpectedly mounts sysfs as read-only for privileged container (docker issue #24000). This causes the critical system components of Kubernetes not properly working. To remedy this please restart the docker daemon.
  KernelDeadlock 	False 	Fri, 08 Jul 2016 01:37:39 -0700 	Fri, 08 Jul 2016 01:35:34 -0700 	KernelHasNoDeadlock 		kernel has no deadlock
Addresses:		10.240.0.3,104.155.176.101
```
* If not, the node condition `RuntimeUnhealthy` won't appear.
* If I run the permission checking code in a unprivileged container, it did return `readOnlySysFSError`.

I'm not sure whether we want to mark the node as `Unscheduable` when this happened, which only needs few lines change. I can do that if we think we should.

I'll add some unit test if we think this fix is acceptable.

/cc @bprashanth @dchen1107 @matchstick @thockin @alex-mohr 

Mark P1 to match the original issue.
[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-07-10 23:42:43 -07:00
Xiang Li
67f670df2e controller/service: minor cleanup 2016-07-10 23:13:25 -07:00
k8s-merge-robot
d6e84cc2e9 Merge pull request #28570 from kevinjkj/kevinjkj-patch-3
Automatic merge from submit-queue

Optimizing the processing flow of HandlePodAdditions and canAdmitPod …

Optimizing the processing flow of HandlePodAdditions and canAdmitPod methods. If the following loop body in canAdmitPod method is removed, the detection speed can be improved, and the change is very small.
------
otherPods := []*api.Pod{}
	for _, p := range pods {
		if p != pod {
			otherPods = append(otherPods, p)
		}
	}
------
2016-07-10 23:11:00 -07:00
Harry Zhang
1ad9235993 Remove no needed todo 2016-07-11 13:40:45 +08:00
Random-Liu
4246853211 Prevent kube-proxy from panicing when sysfs is mounted as read-only.
Send a node event when this happens and hint to the administrator
about the remediation.
2016-07-10 22:32:51 -07:00
k8s-merge-robot
1c535008ca Merge pull request #28672 from ping035627/ping035627-patch-0708
Automatic merge from submit-queue

Inspect the nodeInfo first for CheckServiceAffinity in predicates.go

Suggest to inspect the nodeInfo first for CheckServiceAffinity in predicates.go. When nodeInfo.Node() is nil, return quickly.
2016-07-10 21:17:37 -07:00
Buddha Prakash
f6186afe99 Update libcontainer dependency 2016-07-10 20:29:06 -07:00
Kevin Wang
09344c1ffc Optimizing the processing flow of HandlePodAdditions and canAdmitPod methods.
Signed-off-by: Kevin Wang <wang.kanghua@zte.com.cn>

change the note for the canAdmitPod method.

Signed-off-by: Kevin Wang <wang.kanghua@zte.com.cn>

gofmt kubelet.go

Signed-off-by: Kevin Wang <wang.kanghua@zte.com.cn>
2016-07-11 10:34:51 +08:00
PingWang
4fde2ff3a5 Update CheckServiceAffinity in predicates.go
Signed-off-by: PingWang <wang.ping5@zte.com.cn>

gofmt -s -w

Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2016-07-11 09:57:57 +08:00
Michael Taufen
e709599854 Modify framework pod creation functions to return the server's representation of the pod
Since PodInterface.Create returns the server's representation of the
pod, which may differ from the api.Pod object passed to Create, we do
the same from the framework's pod creation functions. This is useful if
e.g. you create pods using Pod.GenerateName rather than
Pod.Name, and you still want to refer to pods by name later on
(e.g. for deletion).
2016-07-10 17:03:39 -07:00
Justin Santa Barbara
4bde831fad kube-up: install libltdl7 when installing docker with dpkg
Docker now has a dependency on libltdl7; we have to specify it manually
if we are installing docker using dpkg (vs using apt-get or similar,
which would pull it in automatically)

Fixes #28644
2016-07-10 19:45:41 -04:00
k8s-merge-robot
710374b65f Merge pull request #22217 from davidopp/rescheduling
Automatic merge from submit-queue

[WIP/RFC] Rescheduling in Kubernetes design proposal

Proposal by @bgrant0607 and @davidopp (and inspired by years of discussion and experience from folks who worked on Borg and Omega).

This doc is a proposal for a set of inter-related concepts related to "rescheduling" -- that is, "moving" an already-running pod to a new node in order to improve where it is running. (Specific concepts discussed are priority, preemption, disruption budget, quota, `/evict` subresource, and rescheduler.)

Feedback on the proposal is very welcome. For now, please stick to comments about the design, not spelling, punctuation, grammar, broken links, etc., so we can keep the doc uncluttered enough to make it easy for folks to comment on the more important things. 

ref/ #22054 #18724 #19080 #12611 #20699 #17393 #12140 #22212

@HaiyangDING @mqliang @derekwaynecarr @kubernetes/sig-scheduling @kubernetes/huawei @timothysc @mml @dchen1107
2016-07-10 16:12:21 -07:00
Hongchao Deng
73821d20eb ListOptions: fix the doc on ResourceVersion 2016-07-10 15:21:58 -07:00
David Oppenheimer
b77e39298e Rescheduling in Kubernetes design proposal. 2016-07-10 14:59:59 -07:00
Clayton Coleman
2132ecc28d
Allow a FIFO client to requeue under lock
The Pop method should allow a caller to requeue an item while under the
fifo lock, to avoid races on deletes.
2016-07-10 17:32:21 -04:00
k8s-merge-robot
00d00cdac0 Merge pull request #26315 from dims/fix-issue-26303
Automatic merge from submit-queue

Support --all-namespaces in kubectl describe


Work In Progress :)

Fixes #26303
2016-07-10 08:00:23 -07:00
Eric Tune
b983849abe Merge pull request #28564 from erictune/foof
Update changelog.
2016-07-10 07:57:36 -07:00
k8s-merge-robot
a261776f3e Merge pull request #28670 from wojtek-t/scheduler_metadata
Automatic merge from submit-queue

Add meta field to predicate signature to avoid computing the same things multiple times

This PR only uses it to avoid computing QOS of a pod for every node from scratch.

Ref #28590
2016-07-09 22:28:14 -07:00
k8s-merge-robot
c12de567cd Merge pull request #26931 from xiang90/fix_daemon
Automatic merge from submit-queue

daemon/controller.go: fix bugs in updateDaemonSetStatus

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()

1. return when there is any error

2. fix StatusUpdateRetries loop

3. a few minor cleanup
2016-07-09 15:31:48 -07:00
k8s-merge-robot
836c60ccff Merge pull request #28624 from lorrin/gnu_sed_osx
Automatic merge from submit-queue

Fix build on OS X when GNU sed is present.

See #20147, which fixed it when system default BSD sed was present but did not account for possibility of GNU sed on OS X.

See also http://unix.stackexchange.com/questions/92895/how-to-achieve-portability-with-sed-i-in-place-editing

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-07-09 10:30:56 -07:00
Davanum Srinivas
87771957d0
E2E test for kubectl replace
Fixes #10764
2016-07-09 09:41:01 -04:00
k8s-merge-robot
322e1c97e0 Merge pull request #28686 from smarterclayton/name_check_wrong
Automatic merge from submit-queue

Name check for go-to-protobuf in wrong spot

@thockin this can land after your change, but is wrong today.
2016-07-09 03:38:21 -07:00
k8s-merge-robot
91226f77a1 Merge pull request #28680 from wojtek-t/advanced_node_info_map_copy
Automatic merge from submit-queue

Avoid creating NodeInfoMap from scratch on every scheduling.

Ref #28590
2016-07-09 03:03:05 -07:00
k8s-merge-robot
6eae13e0c4 Merge pull request #28133 from freehan/e2ejunit
Automatic merge from submit-queue

add junit recording in e2e runner

2nd part of #27825  

Injected junit recorder at a few places.
2016-07-09 01:55:07 -07:00
Erick Fejta
a77010b3b3 Merge pull request #28725 from fejta/auth
Only activate service account when file exists
2016-07-09 00:21:54 -07:00