Commit Graph

11437 Commits

Author SHA1 Message Date
Seth Jennings
cf199dbdfa fix immediate evict in cache 2016-04-13 09:29:58 -05:00
k8s-merge-robot
f4a421d4bb Merge pull request #24008 from liggitt/watch_cache
Automatic merge from submit-queue

Make watch cache treat resourceVersion consistent with uncached watch

Fixes #24004

This makes the watch cache handle resourceVersion consistent with an uncached watch API call, and the documented behavior. Watching from resourceVersion=X delivers watch events *after* version X (X is not included):

> // When specified with a watch call, shows changes that occur after that particular version of a resource.
> // Defaults to changes from the beginning of history.
> ResourceVersion string
2016-04-12 10:23:33 -07:00
k8s-merge-robot
e93c0d727f Merge pull request #20204 from HaiyangDING/predlib
Automatic merge from submit-queue

Move predicates into library

This PR tries to implement #12744 

Any suggestions/ideas are welcome. @davidopp 

current state: integration test fails if including podCount check in Kubelet.
    
DONE:
    1. refactor all predicates: predicates return fitOrNot(bool) and error(Error) in which the latter is of type PredicateFailureError or InsufficientResourceError
    2. GeneralPredicates() is a predicate function, which includes serveral other predicate functions (PodFitsResource, PodFitsHost, PodFitsHostPort). It is registered as one of the predicates in DefaultAlgorithmProvider, and is also called in canAdmitPod() in Kubelet and should be called by other components (like rescheduler, etc if necessary. See discussion in issue #12744
TODO:
    1. determine which predicates should be included in GeneralPredicates()
    2. separate GeneralPredicates() into: a.) GeneralPredicatesEvictPod() and b.) GeneralPredicatesNotEvictPod()
    3. DaemonSet should use GeneralPredicates()
2016-04-12 07:44:45 -07:00
Jordan Liggitt
ada60236f7 Make watch cache behave like uncached watch 2016-04-12 10:14:07 -04:00
k8s-merge-robot
fcddb9cba5 Merge pull request #16964 from liggitt/json_precision
Automatic merge from submit-queue

Preserve int data when unmarshaling

There are several places we use `json.Unmarshal` into an unstructured map (StrategicMergePatch, UnstructuredJSONScheme, many others).

In this scenario, the json package converts all numbers to float64. This exposes many of the int64 fields in our API types to corruption when the unstructured map is marshalled back to json.

A simple example is a pod with an `"activeDeadlineSeconds": 1000000`. Trying to use `kubectl label`, `annotate`, `patch`, etc results in that int64 being converted to a float64, submitted to the server, and the server rejecting it with an error about "cannot unmarshal number 1e+6 into Go value of type int64"

The json package provides a way to defer conversion of numbers (`json.Decoder#UseNumber`), but does not actually do conversions to int or float. This PR makes use of that feature, and post-processes the unmarshalled map to convert json.Number objects to either int64 or float64 values
2016-04-12 07:09:32 -07:00
k8s-merge-robot
acf9492cb1 Merge pull request #23660 from goltermann/vetclean
Automatic merge from submit-queue

Additional go vet fixes

Mostly:
- pass lock by value
- bad syntax for struct tag value
- example functions not formatted properly
2016-04-12 06:22:16 -07:00
k8s-merge-robot
fda8ec2f5d Merge pull request #24015 from yujuhong/rss_memory
Automatic merge from submit-queue

kubele: add RSS memroy to the summary API
2016-04-12 05:51:35 -07:00
Jordan Liggitt
37c86041ca Preserve int64 data when patching 2016-04-11 16:23:28 -04:00
k8s-merge-robot
6a87dba0b8 Merge pull request #22733 from resouer/flow-control
Automatic merge from submit-queue

Add flow control pkg

minor fix ref #15634
Refactor pkg names in back off related files
2016-04-11 06:18:51 -07:00
Wojciech Tyczynski
cd2de7d4cd Merge pull request #23741 from wojtek-t/conversions_with_framework_5
Small improvements in conversion generator
2016-04-10 22:51:26 -07:00
Wojciech Tyczynski
6d954a1490 Merge pull request #23871 from smarterclayton/proto_timestamp
Implement a simpler unversioned.Time serialization
2016-04-10 22:47:49 -07:00
HaiyangDING
41ed85479a move predicates into library (address #12744)
DONE:
1. refactor all predicates: predicates return fitOrNot(bool) and error(Error) in which the latter is of type
	PredicateFailureError or InsufficientResourceError. (For violation of either MaxEBSVolumeCount or
        MaxGCEPDVolumeCount, returns one same error type as ErrMaxVolumeCountExceeded)
2. GeneralPredicates() is a predicate function, which includes serveral other predicate functions (PodFitsResource,
        PodFitsHost, PodFitsHostPort). It is registered as one of the predicates in DefaultAlgorithmProvider, and
        is also called in canAdmitPod() in Kubelet and should be called by other components (like rescheduler, etc)
        if necessary. See discussion in issue #12744
3. remove podNumber check from GeneralPredicates
4. HostName is now verified in Kubelet's canAdminPod(). add TestHostNameConflicts in kubelet_test.go
5. add getNodeAnyWay() method in Kubelet to get node information in standaloneMode

TODO:
1. determine which predicates should be included in GeneralPredicates()
2. separate GeneralPredicates() into:
	a. GeneralPredicatesEvictPod() and
	b. GeneralPredicatesNotEvictPod()
3. DaemonSet should use GeneralPredicates()
2016-04-11 00:57:03 +08:00
k8s-merge-robot
7ed19f7fde Merge pull request #24054 from nikhiljindal/typeObject
Automatic merge from submit-queue

Allowing type object in kubectl swagger validation

Allowing `"type": "object"` in kubectl swagger validation.

We will cherrypick this in 1.2
This allows 1.2 kubectl to work with 1.3 api server which will use `"type":"object"` instead of `"type":"any"`.
Ref https://github.com/kubernetes/kubernetes/issues/4700#issuecomment-194719759

cc @bgrant0607
2016-04-09 14:52:35 -07:00
Jeff Lowdermilk
1a9cb97bdd Merge pull request #23658 from Random-Liu/fix-termination-message-path
Fix TerminationMessagePath
2016-04-08 20:54:14 -07:00
Jeff Lowdermilk
2dd9bf535f Merge pull request #23723 from intelsdi-x/stage1_image_rkt_deprecated_flag
keep deprecated flag stage1-image with rkt
2016-04-08 20:53:09 -07:00
nikhiljindal
b476ee4b12 Allowing type object in kubectl swagger validation 2016-04-08 17:26:35 -07:00
Jeff Lowdermilk
2fb745f01d Merge pull request #23661 from spxtr/oidc
Remove retries from most oidc tests.
2016-04-08 14:33:34 -07:00
Jeff Lowdermilk
c3dac2d18b Merge pull request #23449 from swagiaal/pv-recycle-race-logging
Add loging to the recently recycled PV section
2016-04-08 13:30:23 -07:00
Jeff Lowdermilk
ade0e30313 Merge pull request #23814 from vbehar/fix_typo
fix typo (in godoc)
2016-04-08 12:57:15 -07:00
Yu-Ju Hong
388b4ff569 kubele: add RSS memroy to the summary API 2016-04-08 11:05:20 -07:00
Jeff Lowdermilk
9be85fbaf0 Merge pull request #23541 from bprashanth/fw_default
Default firewall port to TCP when unspecified.
2016-04-08 09:32:00 -07:00
Jeff Lowdermilk
f41f5dc823 Merge pull request #23853 from janetkuo/revert-rollingupdate-latest
Revert "rolling update will check whether the image is distinct or not, however the image with tag latest should be excluded"
2016-04-08 09:29:32 -07:00
Joe Finney
ae79677fd0 Remove global var for OIDC retry/backoff, and remove retries from unit tests. 2016-04-07 14:18:29 -07:00
k8s-merge-robot
22f01f1041 Merge pull request #23891 from caesarxuchao/client-gen-cmd-doc
Automatic merge from submit-queue

Client-gen: show the command used to generate the package in doc.go

#22928 adds a comment in every generated file to show the arguments supplied to client-gen. I received comment (https://github.com/kubernetes/kubernetes/pull/22928#issuecomment-201078363) that it generates too many one-line changes every time the command line argument is changed. To address this problem, this PR only generates that line in doc.go.

@jianhuiz @krousey
2016-04-07 13:13:51 -07:00
Minhan Xia
f690220b5c Merge pull request #23704 from freehan/kubenet
Update cni binary

#23712 is depending on this. Not sure why this one gets in first. Hand merging this
2016-04-06 15:47:42 -07:00
Saad Ali
d7b069fbcc Merge pull request #23793 from pmorie/configmap-nonroot
Make ConfigMap volume readable as non-root
2016-04-06 15:11:25 -07:00
Mike Danese
14284291da only include running and pending pods in daemonset should place calculation 2016-04-06 12:30:50 -07:00
goltermann
696423e044 Vet fixes, mostly pass lock by value errors. 2016-04-06 11:27:40 -07:00
Chao Xu
db518cf4ff Generated code 2016-04-06 10:17:48 -07:00
Paul Morie
e838ff2893 Make ConfigMap volume readable as non-root 2016-04-05 12:20:52 -04:00
Clayton Coleman
1f012a2bb3 Implement a simpler unversioned.Time serialization
Time is the number of seconds since the unix epoch and is consistent
with our JSON fields.
2016-04-05 11:19:24 -04:00
k8s-merge-robot
52276bcc6c Merge pull request #23843 from cjcullen/dialtimeout
Automatic merge from submit-queue

Add a timeout to the sshDialer to prevent indefinite hangs.

Prevents the SSH Dialer from hanging forever. Fixes a problem where SSH Tunnels get stuck trying to open.

Addresses #23835.
2016-04-04 21:28:52 -07:00
k8s-merge-robot
02e0b29b6d Merge pull request #23769 from saad-ali/fixVolumeCloudProvider
Automatic merge from submit-queue

Ensure object returned by volume getCloudProvider incorporates cloud config

This PR addresses https://github.com/kubernetes/kubernetes/issues/23517.

**Problem**
The existing GCE PD and AWS EBS volume plugin code were fetching cloud provider without specifying a cloud config: `cloudprovider.GetCloudProvider("gce", nil)`
This caused the cloud provider to use default auth mechanism, which is not acceptable for the provisioning controller running on GKE master.

**Fix**
This PR does the following:
* Modifies the GCE PD and AWS EBS volume plugin code to use the cloud provider object pre-constructed by the binary with a cloud config.
* Enable provisioning E2E test for GKE (to catch future issues).

Thanks to @cjcullen for debugging and finding the root cause!  👍 

This should be cherry-picked into the v1.2 branch for the next release.
2016-04-04 20:52:13 -07:00
Janet Kuo
0335f1c2cd Revert "rolling update will check whether the image is distinct or not, however the image with tag latest should be excluded"
This reverts commit d27a30df29.
2016-04-04 18:36:02 -07:00
Wojciech Tyczynski
49d3c3962c Small improvements in conversion generator 2016-04-05 02:10:23 +02:00
CJ Cullen
cde4f6d613 Add a timeout to the sshDialer to prevent indefinite hangs. 2016-04-04 16:35:20 -07:00
gmarek
7123076b97 Add container_spec_cpu_period metric 2016-04-04 23:53:54 +02:00
saadali
e7b14e721a Ensure volume GetCloudProvider code uses cloud config 2016-04-04 10:59:13 -07:00
Sami Wagiaalla
99744df6ee Add loging to the recently recycled PV section 2016-04-04 10:07:03 -04:00
Vincent Behar
efe7775578 fix typo 2016-04-04 14:40:01 +02:00
k8s-merge-robot
a2145d7b1c Merge pull request #23613 from Random-Liu/remove-out-of-date-code
Automatic merge from submit-queue

Kubelet: Remove nsinit related code and bump up minimum docker apiversion

Docker has native exec support after 1.3.x. We never need this code now.

As for the apiversion, because Kubernetes supports 1.8.x - 1.10.x now, we should bump up the minimum docker apiversion.
@yujuhong I checked the [changes](https://github.com/docker/engine-api/blob/master/types/versions/v1p20/types.go), we are not relying on any of those changes. So #23506 should work with docker 1.8.x+
2016-04-03 07:34:26 -07:00
k8s-merge-robot
9ad3b9d669 Merge pull request #23463 from mikedanese/ds-event
Automatic merge from submit-queue

add an event for when a daemonset can't place a pod due to insufficen…

…t resource or port conflict

https://github.com/kubernetes/kubernetes/issues/23013#issuecomment-201076147
2016-04-03 05:16:31 -07:00
harry
5fe773d37c Add flow control pkg
Refactor pkg names in flow control related files
2016-04-03 11:28:03 +08:00
k8s-merge-robot
7d7ca5ab72 Merge pull request #23608 from caesarxuchao/mv-typed-clients
Automatic merge from submit-queue

Move typed clients into clientset folder

Move typed clients from `pkg/client/typed/` to `pkg/client/clientset_generated/${clientset_name}/typed`.

The first commit changes the client-gen, the last commit updates the doc, other commits are just moving things around.

@lavalamp @krousey
2016-04-02 19:31:40 -07:00
k8s-merge-robot
b1b58c4165 Merge pull request #23596 from deads2k/relax-case-in-restmapper
Automatic merge from submit-queue

relax restmapper resource matching

We were matching case insensitive on Kinds, not Resources, thus driving me insane.

@liggitt @caesarxuchao
2016-04-02 14:12:32 -07:00
k8s-merge-robot
3197f31cc6 Merge pull request #23554 from nikhiljindal/swaggerInRun
Automatic merge from submit-queue

genericapiserver: Moving InstallSwaggerAPI to Run

Ref https://github.com/kubernetes/kubernetes/pull/21190#discussion_r57494673

Moving InstallSwaggerAPI() from InstallAPIGroups() to Run(). This allows the use of InstallAPIGroups() multiple times or using InstallAPIGroup() directly.

cc @jianhuiz @kubernetes/sig-api-machinery
2016-04-02 08:19:25 -07:00
k8s-merge-robot
9c2501cdf5 Merge pull request #23552 from deads2k/extend-authz-attribs
Automatic merge from submit-queue

add missing attributes to authorization interface

Plumb through missing attributes for authorization decisions.  The request parser picked them up a while back, but they were never wired up in kube.

This simply allows authorizers to use them, it doesn't require them to.

@kubernetes/kube-iam
2016-04-02 07:45:43 -07:00
k8s-merge-robot
df20dfb2e4 Merge pull request #23548 from ncdc/fix-23078
Automatic merge from submit-queue

Check claimRef UID when processing a recycled PV, take 2

Reorder code a bit so it doesn't allow a case where you get some error other than "not found"
combined with a non-nil Claim.

Add test case.

cc @kubernetes/rh-cluster-infra @kubernetes/rh-storage @liggitt
2016-04-02 05:58:55 -07:00
k8s-merge-robot
b43ccd6e2b Merge pull request #23506 from Random-Liu/new-docker-client
Automatic merge from submit-queue

Kubelet: Start using the official docker engine-api

For #23563.

This is the **first step** in the roadmap of switching to docker [engine-api](https://github.com/docker/engine-api).
In this PR, I keep the old `DockerInterface` and implement it with the new engine-api.
With this approach, we could switch to engine-api with minimum change, so that we could:
* Test the engine-api without huge refactoring.
* Send following PRs to refactor functions in `DockerInterface` separately so as to avoid a huge change in one PR.

I've tested this PR locally, it passed all the node conformance test:
```
make test_e2e_node

Ran 19 of 19 Specs in 823.395 seconds
SUCCESS! -- 19 Passed | 0 Failed | 0 Pending | 0 Skipped PASS

Ginkgo ran 1 suite in 13m49.429979585s
Test Suite Passed
```
And it also passed the jenkins gce e2e test:
```
go run hack/e2e.go -test -v --test_args="--ginkgo.skip=\[Slow\]|\[Serial\]|\[Disruptive\]|\[Flaky\]|\[Feature:.+\]"

Ran 161 of 268 Specs in 4570.214 seconds
SUCCESS! -- 161 Passed | 0 Failed | 0 Pending | 107 Skipped PASS

Ginkgo ran 1 suite in 1h16m16.325934558s
Test Suite Passed
2016/03/25 15:12:42 e2e.go:196: Step 'Ginkgo tests' finished in 1h16m18.918754301s
```

I'm writing the design document, and will post the switching roadmap in an umbrella issue soon.

@kubernetes/sig-node
2016-04-02 04:51:33 -07:00
k8s-merge-robot
f5c93c8ddc Merge pull request #23472 from wojtek-t/fix_object_meta_for
Automatic merge from submit-queue

Switch from api.ObjectMetaFor to meta.Accessor in most of places

Fix #23278

@smarterclayton @lavalamp
2016-04-02 02:33:40 -07:00