Commit Graph

13830 Commits (63602348a46dae777038be34470c0d7d025420fe)

Author SHA1 Message Date
k8s-merge-robot 63602348a4 Merge pull request #29009 from bboreham/hairpin-via-cni
Automatic merge from submit-queue

Use the CNI bridge plugin to set hairpin mode

Following up this part of #23711:

>  I'd like to wait until containernetworking/cni#175 lands and then just pass the request through to CNI.

The code here just
 * passes the required setting down from kubenet to CNI
 * disables `DockerManager` from doing hairpin-veth, if kubenet is in use

Note to test you need a very recent version of the CNI `bridge` plugin; the one brought in by #28799 should be OK.

Also relates to https://github.com/kubernetes/kubernetes/issues/19766#issuecomment-232722864
2016-07-31 10:08:06 -07:00
k8s-merge-robot 6ae6450a39 Merge pull request #28636 from derekwaynecarr/quota_pvc_storage
Automatic merge from submit-queue

Add support to quota pvc storage requests

Adds support to quota cumulative `PersistentVolumeClaim` storage requests in a namespace.

Per our chat today @markturansky @abhgupta - this is not done (lacks unit testing), but is functional.

This lets quota enforcement for `PersistentVolumeClaim` to occur at creation time.  Supporting bind time enforcement would require substantial more work.  It's possible this is sufficient for many, so I am opening it up for feedback.

In the future, I suspect we may want to treat local disk in a special manner, but that would have to be a different resource altogether (i.e. `requests.disk`) or something.

Example quota:

```
apiVersion: v1
kind: ResourceQuota
metadata:
  name: quota
spec:
  hard:
    persistentvolumeclaims: "10"
    requests.storage: "40Gi"
```

/cc @kubernetes/rh-cluster-infra @deads2k
2016-07-31 09:26:20 -07:00
k8s-merge-robot cc1a02620b Merge pull request #29766 from feiskyer/runtime-remove-clarify
Automatic merge from submit-queue

Kubelet: clarify the resource remove logic in runtime API

CC @yujuhong
2016-07-29 19:51:58 -07:00
k8s-merge-robot c5756d22e2 Merge pull request #29779 from 249043822/patch-1
Automatic merge from submit-queue

make log description more readable
2016-07-29 17:25:28 -07:00
k8s-merge-robot 2c4599bf45 Merge pull request #28793 from ronnielai/container-gc
Automatic merge from submit-queue

Trigger container cleanup within a pod when a container exiting event is detected

#25239
2016-07-29 16:40:01 -07:00
Pengfei Ni cce9405e15 Clarify the resource remove logic in runtime API
If the resource in the delete call does not exist, the runtime should
not return an error. This eliminates the need for kubelet to define a
resource "not found" error that every runtime has to return.
2016-07-30 07:00:16 +08:00
k8s-merge-robot c3129af2d3 Merge pull request #28222 from ammeon/openstack-reorg
Automatic merge from submit-queue

Re-org of the openstack cloud provider
2016-07-29 15:54:13 -07:00
k8s-merge-robot 486a31bb11 Merge pull request #29648 from Dongxiugang/Dongxiugang-patch-1
Automatic merge from submit-queue

fix a wrong word in the comment
2016-07-29 15:07:54 -07:00
k8s-merge-robot 5760acf603 Merge pull request #29596 from matttproud/fix/time-leaks/remainder
Automatic merge from submit-queue

pkg/various: plug leaky time.New{Timer,Ticker}s

According to the documentation for Go package time, `time.Ticker` and
`time.Timer` are uncollectable by garbage collector finalizers.  They
leak until otherwise stopped.  This commit ensures that all remaining
instances are stopped upon departure from their relative scopes.

Similar efforts were incrementally done in #29439 and #29114.

```release-note
* pkg/various: plugged various time.Ticker and time.Timer leaks.
```
2016-07-29 14:06:47 -07:00
k8s-merge-robot 94b5d52b90 Merge pull request #29580 from yujuhong/dshim2
Automatic merge from submit-queue

dockershim: Implement more functions.

Based on #29553. Only the last two commits are new.
2016-07-29 12:55:56 -07:00
k8s-merge-robot 574e7f494c Merge pull request #29699 from timothysc/leader_jitter
Automatic merge from submit-queue

Update acquire to use newer JitterUntil vs. sleep 

Fix to prevent https://github.com/kubernetes/kubernetes/issues/26782 which could have had a race on a 0 timer the way it was written before due to changes in wait. 

I will likely make a PR for some of the recent changes in wait as well.
2016-07-29 11:01:23 -07:00
k8s-merge-robot 46c8dfd7a2 Merge pull request #29135 from Clarifai/kubelet-util-ipt
Automatic merge from submit-queue

kubelet: use util/iptables, which uses -w (lock wait) where safe

cc @thockin @dchen1107
2016-07-29 10:10:11 -07:00
Timothy St. Clair 9a02bffe6d Update acquire to use newer JitterUntil vs. sleep with 0 timer which may
have caused a race in Until.
2016-07-29 11:10:00 -05:00
Rudi Chiarito 13b082968b Add tests for container_bridge.go (really just ensureIPTablesMasqRule) 2016-07-29 11:57:17 -04:00
Klaus Ma 99c0681ecc Removed empty line. 2016-07-29 23:19:33 +08:00
KeZhang fe031d3347 make log description more readable 2016-07-29 22:50:56 +08:00
k8s-merge-robot 9fab05fe59 Merge pull request #29743 from timothysc/wait_race_fix
Automatic merge from submit-queue

Fix race condition found in JitterUntil.

This was caused by the recent addition of "sliding"

manifested in: https://github.com/kubernetes/kubernetes/issues/26782
2016-07-28 22:35:21 -07:00
k8s-merge-robot 7abc3de621 Merge pull request #29694 from jsafrane/dynprov2-apionly
Automatic merge from submit-queue

Add API for StorageClasses

This is the API objects only required for dynamic provisioning picked apart from the controller logic.

Entire feature is here: https://github.com/kubernetes/kubernetes/pull/29006
2016-07-28 22:00:05 -07:00
k8s-merge-robot 821ff657f9 Merge pull request #27199 from derekwaynecarr/disk_eviction
Automatic merge from submit-queue

Initial support for pod eviction based on disk

This PR adds the following:

1. node reports disk pressure condition based on configured thresholds
1. scheduler does not place pods on nodes reporting disk pressure
1. kubelet will not admit any pod when it reports disk pressure
1. kubelet ranks pods for eviction when low on disk
1. kubelet evicts greediest pod

Follow-on PRs will need to handle:

1. integrate with new image gc PR (https://github.com/kubernetes/kubernetes/pull/27199)
1. container gc policy should always run (will not be launched from eviction, tbd who does that)
  1. this means kill pod is fine for all eviction code paths since container gc will remove dead container
1. min reclaim support will just poll summary provider (derek will do follow-on)
1. need to know if imagefs is same device as rootfs from summary (derek follow-on)

/cc @vishh @kubernetes/sig-node
2016-07-28 20:18:54 -07:00
k8s-merge-robot 15c0c2c901 Merge pull request #29532 from anish/iscsi_iface
Automatic merge from submit-queue

Check iscsi iface file for transport name

When checking for tcp vs hardware transports, check actual iscsi iface file to see if we are using tcp as a transport, rather than relying on just the transport name of 'default'.

This fixes the open-iscsi software iscsi initiator for non-default interfaces.
fixes #27131
2016-07-28 19:42:09 -07:00
k8s-merge-robot 96996985a0 Merge pull request #29737 from andreykurilin/fix_kubectl_help_cmd
Automatic merge from submit-queue

Fix kubectl help command

PR 48d47b1027 broke `kubectl help` command due
to wrong check `help for help cmd` .

Fixes #29736
2016-07-28 19:07:55 -07:00
k8s-merge-robot 306678f941 Merge pull request #29468 from caesarxuchao/no-omitempty-listitems
Automatic merge from submit-queue

remove the omitempty tag from CertificateSigningRequestList.Items

As a general rule, `Items` should be a required field in all lists. In a followup PR, I'll update the api-convention.md and add a check in the schema registration path to enforce the rule. I need to fix this bug to unblock other work.

@kubernetes/api-review-team cc @bgrant0607-cc
2016-07-28 18:33:11 -07:00
Yu-Ju Hong e80ad2be38 dockershim: add support for legacy methods 2016-07-28 18:24:29 -07:00
Yu-Ju Hong 03971d3992 dockershim: implement ContainerStatus() 2016-07-28 18:24:29 -07:00
k8s-merge-robot 7aa592bfa3 Merge pull request #29553 from yujuhong/docker-shim
Automatic merge from submit-queue

Add a docker-shim package

Add a new docker integration with kubelet using the new runtime API.
This change adds the package with the skeleton and implements some of the basic operations.


This PR only implements a small sets of functions. The rest of the functions will be implemented
in the followup PRs to keep the changes readable, and the reviewers sane.

Note: The first commit is from #28396, only the second commit is for review. 

/cc @kubernetes/sig-node @feiskyer @Random-Liu
2016-07-28 17:58:56 -07:00
k8s-merge-robot 27af240d4f Merge pull request #29539 from wojtek-t/optimize_pod_affinity_3
Automatic merge from submit-queue

Optimize PodAffinity priority function
2016-07-28 16:59:30 -07:00
childsb f5bd7d471e API Changes for StorageClass 2016-07-28 19:01:01 -04:00
k8s-merge-robot aba7ae0d90 Merge pull request #29655 from smarterclayton/petset_client
Automatic merge from submit-queue

Add Apps() and PetSet client to client/unversioned

Also add a test fake
2016-07-28 13:54:16 -07:00
derekwaynecarr d37710f87b Allow cAdvisor to collect fs stats before building resource ranking funcs 2016-07-28 16:20:09 -04:00
k8s-merge-robot b6b44b2d90 Merge pull request #29652 from lojies/shorthandconfigmaps
Automatic merge from submit-queue

add shorthand cm for configmaps

add shorthand 'cm' for configmaps.
2016-07-28 13:16:57 -07:00
derekwaynecarr 0de1e62b30 modify fsStats to fsStatsType to avoid confusion with cadvisor types 2016-07-28 16:01:38 -04:00
derekwaynecarr c3324b88a0 Eviction manager observes and acts on disk pressure 2016-07-28 16:01:38 -04:00
Rudi Chiarito d6427cd0d7 kubelet: use util/iptables, which uses -w (lock wait) where safe 2016-07-28 16:01:00 -04:00
k8s-merge-robot 61524b9e15 Merge pull request #29526 from vishh/logfilelen
Automatic merge from submit-queue

Restrict log sym link to 256 characters

This fix can potentially cause conflicts in log file names. The current model of exporting log data is fundamentally broken. This PR does not attempt to fix all of the issues.
2016-07-28 12:10:51 -07:00
k8s-merge-robot eae90a3631 Merge pull request #26332 from resouer/util-debt
Automatic merge from submit-queue

Refactor util clock into it's own pkg

Continue my work ref #15634
2016-07-28 11:37:06 -07:00
Vishnu Kannan acc74fbaa9 restrict log sym link filename to 255 characters
Signed-off-by: Vishnu Kannan <vishnuk@google.com>
2016-07-28 10:23:17 -07:00
Timothy St. Clair 842f15c3c6 Fix race condition found in JitterUntil. 2016-07-28 11:41:02 -05:00
k8s-merge-robot 7e1e51844f Merge pull request #29618 from aveshagarwal/master-rhbz-1357825
Automatic merge from submit-queue

Fix kubelet to not accept negative eviction (hard, soft) thresholds

@kubernetes/rh-cluster-infra @derekwaynecarr
2016-07-28 08:10:02 -07:00
Wojciech Tyczynski 898a6444e3 Return pointer for Affinity in api helper 2016-07-28 16:57:28 +02:00
Andrey Kurilin b2f8ee4f12 Fix kubectl help command
PR 48d47b1027 broke `kubectl help` command due
to wrong check `help for help cmd` .

Fixed issue #29736
2016-07-28 17:47:03 +03:00
k8s-merge-robot cdca508dba Merge pull request #29599 from matttproud/refactor/simplify/nodecontroller
Automatic merge from submit-queue

pkg/controller/node/nodecontroller: simplify mutex

Similar to #29598, we can rely on the zero-value construction behavior
to embed `sync.Mutex` into parent structs.

/CC: @saad-ali
2016-07-28 07:06:06 -07:00
k8s-merge-robot 42000793a6 Merge pull request #29588 from smarterclayton/init_container_quota
Automatic merge from submit-queue

Init container quota is inaccurate

Usage charged should be max of greater of init container or all regular
containers. Also, need to validate init container inputs

@derekwaynecarr
2016-07-28 06:34:20 -07:00
k8s-merge-robot 62e7c57acc Merge pull request #29598 from matttproud/refactor/simplify/goroutinemap
Automatic merge from submit-queue

pkg/util/goroutinemap: apply idiomatic Go cleanups

Package goroutinemap can be structurally simplified to be more
idiomatic, concise, and free of error potential.  No structural changes
are made.

It is unconventional declare `sync.Mutex` directly as a pointerized
field in a parent structure.  The `sync.Mutex` operates on pointer
receivers of itself; and by relying on that, the types that contain
those fields can be safely constructed using
https://golang.org/ref/spec#The_zero_value semantic.

The duration constants are already of type `time.Duration`, so
re-declaring that is redundant.

/CC: @saad-ali
2016-07-28 04:44:26 -07:00
Bryan Boreham f21d2dde5a Add comment per review feedback 2016-07-28 12:34:21 +01:00
k8s-merge-robot 2817674715 Merge pull request #29557 from deads2k/make-prefx-configurable
Automatic merge from submit-queue

make the resource prefix in etcd configurable for cohabitation

This looks big, its not as bad as it seems.

When you have different resources cohabiting, the resource name used for the etcd directory needs to be configurable.  HPA in two different groups worked fine before.  Now we're looking at something like RC<->RS.  They normally store into two different etcd directories.  This code allows them to be configured to store into the same location.

To maintain consistency across all resources, I allowed the `StorageFactory` to indicate which `ResourcePrefix` should be used inside `RESTOptions` which already contains storage information.

@lavalamp affects cohabitation.
@smarterclayton @mfojtik prereq for our rc<->rs and d<->dc story.
2016-07-28 03:01:28 -07:00
k8s-merge-robot 2480ef5f1d Merge pull request #28178 from mikedanese/cni-reload
Automatic merge from submit-queue

periodically reload the cni plugin configuration

Might fix #28787
2016-07-28 02:27:43 -07:00
k8s-merge-robot 5c6c8eb9a6 Merge pull request #29531 from AdoHe/rolling_update_panic
Automatic merge from submit-queue

fix kubectl rolling update empty file cause panic issue

 ```release-note
Fix issue with kubectl panicing when passed files that do not exist.
```

Fix #29398 
@pwittrock @justinsb ptal. This just fix on the cmd layer, I am thinking whether we should return err from marshal&unmarshal if the reader is empty.
2016-07-28 01:54:56 -07:00
k8s-merge-robot 685fc92f65 Merge pull request #29492 from Random-Liu/bumpup-cadvisor-version
Automatic merge from submit-queue

Bump cadvisor dependencies to latest head. 

Fixes #28619 
Fixes #28997 

This is another try of https://github.com/kubernetes/kubernetes/pull/29153.

To update cadvisor godeps, we did:
* Bump up docker version to v1.11.2 for both cadvisor [https://github.com/google/cadvisor/pull/1388] and k8s.
* Bump up cadvisor `go-systemd` version to be the same with k8s [https://github.com/google/cadvisor/pull/1390]. Or else, a package `github.com/coreos/pkg/dlopen` will be removed by Godep, because it is used by new `go-systemd` in k8s, but not used by old `go-systemd` in cadvisor.
* Bump up runc version to be the same with docker v1.11.2 just in case.
* Add `github.com/Azure/go-ansiterm` dependency which is needed by docker v1.11.2.
* Change `pkg/util/term/`, because `SetWinsSize` is removed from windows platform in docker v1.11.2. [The first commit]

@vishh 
/cc @ncdc for the `pkg/util/term` change.
2016-07-28 01:19:42 -07:00
Harry Zhang cb14b35bde Refactor util clock into it's own pkg 2016-07-28 02:29:04 -04:00
k8s-merge-robot 1c72ba6810 Merge pull request #29520 from hongchaodeng/serr
Automatic merge from submit-queue

storage error: precondition failure should return invalid object error

In introducing the preconditions by @caesarxuchao , if check preconditions failed, it returns resource version conflict error. This is the wrong error to return, and instead it should return invalid object error. We need to separate these two types of errors.
See the implementation in etcd3 [https://github.com/kubernetes/kubernetes/blob/master/pkg/storage/etcd3/store.go#L467].

Also renaming "ErrCodeResourceVersionConflicts" to "ErrCodeVersionConflicts" for simpler reading.
2016-07-27 22:12:11 -07:00