Commit Graph

1085 Commits

Author SHA1 Message Date
Dmitry Shulyak
4a60d3ce60 Sort revisions in rollout history as integers
Previously keys were sorted as strings, thus it was possible
to see such order as 1, 10, 2, 3, 4, 5.

Ints64 helper implemented in util/slice module to sort []int64
2016-05-24 10:04:05 +02:00
AdoHe
973774b0ba fix kubelet tls overwrite issue 2016-05-23 23:25:12 -04:00
Minhan Xia
6a3ad1d66d add hostport support for kubenet 2016-05-22 22:18:58 -07:00
k8s-merge-robot
94c7e94b85 Merge pull request #25501 from soltysh/net_remoteaddr
Automatic merge from submit-queue

SplitHostPort is needed since Request.RemoteAddr has the host:port format

@smarterclayton ptal
[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-05-22 16:53:41 -07:00
Clayton Coleman
470a181846
Framer does not need to allocate a slice for each execution 2016-05-21 23:55:40 -04:00
k8s-merge-robot
346f965871 Merge pull request #25694 from cjcullen/authncache
Automatic merge from submit-queue

Cache Webhook Authentication responses

Add a simple LRU cache w/ 2 minute TTL to the webhook authenticator.

Kubectl is a little spammy, w/ >= 4 API requests per command. This also prevents a single unauthenticated user from being able to DOS the remote authenticator.
2016-05-21 10:48:38 -07:00
k8s-merge-robot
68ab865e75 Merge pull request #25328 from resouer/sort-images
Automatic merge from submit-queue

Only expose top N images in `NodeStatus`

Fix #25209

Sorted the image and only pick set top 50 sized images in node status.

cc @vishh
2016-05-21 04:43:30 -07:00
k8s-merge-robot
b7a31ad261 Merge pull request #25690 from fabianofranz/fixes_panic_on_roundtripper_when_tls_under_proxy
Automatic merge from submit-queue

Fixes panic on round tripper when TLS under a proxy

When under a proxy with a valid cert from a trusted authority, the `SpdyRoundTripper` will likely not have a `*tls.Config` (no cert verification nor `InsecureSkipVerify` happened), which will result in a panic. So we have to create a new `*tls.Config` to be able to create a TLS client right after. If `RootCAs` in that new config is nil, the system pool will be used.

@ncdc PTAL 

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-05-20 05:31:42 -07:00
Jan Safranek
55f9148331 Increase goroutinemap unit test timeouts.
50ms is flaky in Jenkins.

Fixes #25825
2016-05-20 10:14:47 +02:00
Daniel Smith
5448400b1c Merge pull request #25243 from smarterclayton/explore_quantity
Provide an int64 version of Quantity that is much faster
2016-05-19 16:56:48 -07:00
Tim Hockin
54a3efb364 Make IsDNS952Label return error strings 2016-05-19 08:57:49 -07:00
Tim Hockin
5862a60ae7 Make IsDNS1123Subdomain return error strings 2016-05-19 08:57:49 -07:00
Tim Hockin
77eff06a53 Make IsDNS1123Label return error strings 2016-05-19 08:57:49 -07:00
Clayton Coleman
5e4308f91d
Update use of Quantity in other classes 2016-05-19 08:41:43 -04:00
Tim Hockin
66d0d87829 Make IsValidLabelValue return error strings 2016-05-17 21:36:10 -07:00
CJ Cullen
066e70fac2 Add an LRU Expire Cache. 2016-05-16 21:55:13 -07:00
Fabiano Franz
5940040c96 Fixes panic on round tripper when TLS under a proxy 2016-05-16 17:56:23 -03:00
Harry Zhang
d917ed2638 Add test for image in node status 2016-05-16 15:58:12 -04:00
Jan Safranek
e5bea6abba Add specific error type for "operation already exists" error.
PersistentVolume controller needs to know why scheduling a new operation has
failed - if the operation was already running or some other error happened.
2016-05-16 10:43:42 +02:00
k8s-merge-robot
4ac32179bf Merge pull request #24798 from thockin/validation_pt8-1
Automatic merge from submit-queue

Make IsQualifiedName return error strings

Part of the larger validation PR, broken out for easier review and merge.

@lavalamp FYI, but I know you're swamped, too.
2016-05-14 22:14:17 -07:00
k8s-merge-robot
203b5b7c5f Merge pull request #24052 from deads2k/rate-limitting-requeue
Automatic merge from submit-queue

Rate limitting requeue

I think this will do what I want in almost every case.  I'm going to try it out for a single writer quota evaluation.

`NewRateLimitingQueue(NewControllerRateLimiter(qps, burst))` gives an `AddRateLimited(item)` that backs off based on the max of a bucket and exponential backoff per item.

@liggitt Want to see if the interface works for you too?

<!-- 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/24052)
<!-- Reviewable:end -->
2016-05-14 06:34:15 -07:00
saadali
f7196337c7 Rename NewGoRoutine to Run in GoRoutineMap 2016-05-13 16:05:55 -07:00
Jeff Lowdermilk
3e83de8eeb Merge pull request #25399 from jsafrane/devel/wait-for-operation
Add GoRoutineMap.Wait method.
2016-05-13 15:09:30 -07:00
Jeff Lowdermilk
ab4ffd3a1a Merge pull request #23752 from bparees/interrupt
make interrupt default exit with rc=1 and handle SIGHUP
2016-05-13 09:52:56 -07:00
Saad Ali
06a893b3c1 Merge pull request #25472 from deads2k/tolerate-nil-error
tolerate nil error in HandleError
2016-05-12 15:48:35 -07:00
Maciej Szulik
b77356afbf SplitHostPort is needed since Request.RemoteAddr has the host:port format 2016-05-11 23:02:01 +02:00
k8s-merge-robot
5673f13edf Merge pull request #24014 from ihmccreery/chaosmonkey-no-ginkgo
Automatic merge from submit-queue

Upgrades tests use chaosmonkey package and ServiceTestJig

Introduce the `chaosmonkey` e2e package for doing disruptive testing (e.g. upgrade testing) more easily.

- [x] `chaosmonkey` package
- [x] migrate upgrade tests to `chaosmonkey` (using WIP `serviceJig`)
- [x] migrate upgrade tests to use `ServiceTestJig` and `chaosmonkey`

Deferred:

- [ ] make `ServiceTestJig` implement `chaosmonkey.Interface`
- [ ] migrate disruptive services tests to use `ServiceTestJig` and `chaosmonkey`

This provides the extensible framework for #15131.  We should now easily be able to add tests (e.g. #6084, #23189).

This is a rewrite of #22446.

cc @mikedanese @quinton-hoole @roberthbailey 

Assigning to @thockin, who wrote `ServiceTestJig`.

<!-- 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/24014)
<!-- Reviewable:end -->
2016-05-11 11:54:11 -07:00
deads2k
b2d8c2865a tolerate nil error in HandleError 2016-05-11 09:06:53 -04:00
Tim Hockin
72955770f3 Make IsQualifiedName return error strings 2016-05-10 11:23:23 -07:00
deads2k
bf95b124e6 add built-in ratelimiter to workqueue 2016-05-10 09:04:32 -04:00
k8s-merge-robot
5ca769e0a3 Merge pull request #25038 from mfojtik/json-line
Automatic merge from submit-queue

Display line number on JSON errors

Related issue: https://github.com/kubernetes/kubernetes/issues/12231

This PR will introduce line numbers for all JSON errors in the CLI:

(this is existing error reporting for YAML)
```console
$ kubectl create -f broken.yaml
yaml: line 8: mapping values are not allowed in this context
```

(this is error reporting proposed in this PR for JSON)
```console
$ kubectl create -f broken.json
json: line 35: invalid character '{' after object key
```

(and this is the current reporting:)
```console
$ kubectl create -f broken.json
invalid character '{' after object key
```
[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-05-10 02:49:01 -07:00
Jan Safranek
6623385d64 Add GoRoutineMap.Wait method.
It's useful for testing - code under tests creates an operation and my test
needs to wait until the operation finishes before evaluating results.
2016-05-10 10:11:08 +02:00
Zach Loafman
faf0c44429 GCE: Allow nodes to exceed target pool maximums
If we would exceeded the TargetPool API maximums, instead just
randomly select some subsection of the nodes to include in the TP
instead.
2016-05-09 21:44:58 -07:00
k8s-merge-robot
6596ae0c61 Merge pull request #24838 from saad-ali/attachControllerOpMap
Automatic merge from submit-queue

Add data structure for managing go routines by name

This PR introduces a data structure for managing go routines by name. It prevents the creation of new go routines if an existing go routine with the same name exists. This will enable parallelization of the designs in https://github.com/kubernetes/kubernetes/issues/20262 and https://github.com/kubernetes/kubernetes/issues/21931 with sufficient protection to prevent starting multiple operations on the same volume.
2016-05-09 06:31:22 -07:00
Tim Hockin
817abc3213 Kill our atomic pkg, now that 1.6 is req'd 2016-05-08 20:30:37 -07:00
Robert Bailey
375d2ad38c Merge pull request #24164 from sjenning/fix-util-cache
fix immediate evict in cache
2016-05-06 14:43:53 -07:00
Robert Bailey
222eb31f8a Merge pull request #25059 from janetkuo/deployment-availablepods-comment
Fix incorrect comments in IsPodAvailable
2016-05-06 14:11:18 -07:00
Robert Bailey
007e4f06a6 Merge pull request #24718 from chengyli/cinder-volume
fix cinder volume dir umount issue #24717
2016-05-06 13:53:30 -07:00
Clayton Coleman
0e05f704f3
Trace.Step() performs an unnecessary ref
Allocates more objects than necessary.
2016-05-06 11:42:35 -04:00
Michal Fojtik
543a8b2d06
Display line number on JSON errors 2016-05-06 13:10:47 +02:00
k8s-merge-robot
346ddc52c2 Merge pull request #24748 from Random-Liu/cleanup-with-new-engine-api
Automatic merge from submit-queue

Kubelet: Cleanup with new engine api

Finish step 2 of #23563

This PR:
1) Cleanup go-dockerclient reference in the code.
2) Bump up the engine-api version.
3) Cleanup the code with new engine-api.

Fixes #24076.
Fixes #23809.

/cc @yujuhong
2016-05-06 03:16:53 -07:00
k8s-merge-robot
93e3df8e55 Merge pull request #24789 from wojtek-t/use_proper_codec_in_client
Automatic merge from submit-queue

Use proper codec in client
2016-05-04 11:00:04 -07:00
Wojciech Tyczynski
11849e232e Fix bug in json framer. 2016-05-04 15:02:07 +02:00
Wojciech Tyczynski
303742ce12 Merge pull request #24723 from smarterclayton/strip_noop_imports
Protobuf generation should strip side-effect imports
2016-05-04 11:16:45 +02:00
Wojciech Tyczynski
3aadafd411 Use NegotiatedSerializer in client 2016-05-04 10:57:36 +02:00
Janet Kuo
f3b1aaeca6 Fix incorrect comments in IsPodAvailable 2016-05-03 13:05:02 -07:00
k8s-merge-robot
946a311e7b Merge pull request #25014 from smarterclayton/broken_framing_growth
Automatic merge from submit-queue

Frame decoder was checking cap(), not len()

Resulted in bytes being missing from the streaming decoder. Update both
parts.

Required for #24789

@wojtek-t or @lavalamp while he's OOO
2016-05-03 11:26:15 -07:00
Isaac Hollander McCreery
27fb17e785 Poll much more frequently, remove wait for pods to be ready, and do one final check 2016-05-03 09:22:58 -07:00
Clayton Coleman
99430cf5de
Strip side-effect imports from generated protobuf 2016-05-02 18:12:20 -04:00
saadali
53bb527e35 Introduce a data structure for managing go routines by unique name. 2016-05-02 12:02:34 -07:00
Ben Parees
936650d1ab make interrupt default exit with rc=1 and handle SIGHUP 2016-05-02 09:59:27 -04:00
k8s-merge-robot
c66b2b4e05 Merge pull request #23865 from rhcarvalho/unify-signal-handling
Automatic merge from submit-queue

Unify termination signal handling across platforms

The signals are used to ensure proper execution of cleaning up actions to restore a terminal in:
- [pkg/kubectl/cmd/attach.go#L163-L226](b8d000853e/pkg/kubectl/cmd/attach.go (L163-L226))
- [pkg/kubectl/cmd/util/editor/editor.go#L112-L137](b8d000853e/pkg/kubectl/cmd/util/editor/editor.go (L112-L137))

All supported platforms can handle the same set of signals we're interested in, thus we don't need build contraints to use a set of signals on Linux, while restricting ourselves to only SIGINT on Darwin and Windows.

According to the documentation of os/signal, similar to SIGINT and SIGTERM, SIGHUP causes the program to exit, therefore add it to the list of handled signals.

The fist commit is part of #23643.
2016-05-02 04:09:25 -07:00
Clayton Coleman
84dee0d9cc
Frame decoder was checking cap(), not len()
Resulted in bytes being missing from the streaming decoder. Update both
parts.
2016-04-30 17:57:17 -04:00
Clayton Coleman
fdb110c859
Fix the rest of the code 2016-04-29 17:12:10 -04:00
Random-Liu
7796b619fd Cleanup the code with new engine-api 2016-04-29 13:34:38 -07:00
k8s-merge-robot
c0fca43260 Merge pull request #24915 from wojtek-t/read_closer_in_streaming_decoder
Automatic merge from submit-queue

Support Close() in streaming decoder

[This would be useful for changes in clients to support protobufs.]
2016-04-29 07:21:23 -07:00
chengyli
1fb33aa2da fix cinder volume dir umount issue #24717
fix https://github.com/kubernetes/kubernetes/issues/24717
If kubelet root-dir is a symlink, the pod's cinder volume dir can't be
umounted even after pod is deleted.
This patch reads target path of symlink before comparing with entries in
proc mounts.
2016-04-29 00:50:33 +08:00
Rodolfo Carvalho
9576f71b9a Unify termination signal handling across platforms
- All supported platforms can handle the same set of signals we're
  interested in, thus we don't need build contraints to use a set of
  signals on Linux, while restricting ourselves to only SIGINT on Darwin
  and Windows.
- According to the documentation of os/signal, similar to SIGINT and
  SIGTERM, SIGHUP causes the program to exit, therefore add it to the
  list of handled signals.

Signed-off-by: Rodolfo Carvalho <rcarvalh@redhat.com>
2016-04-28 15:35:50 +02:00
k8s-merge-robot
d0b887e4e0 Merge pull request #24595 from zhouhaibing089/httpserverclose
Automatic merge from submit-queue

Uncomment the code that caused by #19254

Fix https://github.com/kubernetes/kubernetes/issues/24546.

@lavalamp
2016-04-28 01:41:16 -07:00
Wojciech Tyczynski
3175d18b14 Support Close() in streaming decoder 2016-04-28 09:46:33 +02:00
k8s-merge-robot
4a0e0826e5 Merge pull request #24220 from gmarek/metrics
Automatic merge from submit-queue

Generated clients can return their RESTClients, RESTClient can return its RateLimiter

cc @lavalamp @krousey @wojtek-t @smarterclayton @timothysc 

Ref. #22421
2016-04-27 19:25:38 -07:00
gmarek
3171aac57c Generated clients can return their RESTClients, RESTClient can return its RateLimiter 2016-04-27 22:15:10 +02:00
k8s-merge-robot
55cb7cceb3 Merge pull request #23632 from stefwalter/parse-repository-tag-removed
Automatic merge from submit-queue

Fix use of docker removed ParseRepositoryTag() function

Docker has removed the ParseRepositoryTag() function in
leading to failures using the kubernetes Go client API.

Failure:

```
../k8s.io/kubernetes/pkg/util/parsers/parsers.go:30: undefined: parsers.ParseRepositoryTag
```
2016-04-26 09:49:25 -07:00
k8s-merge-robot
a586177360 Merge pull request #23740 from dcbw/kubenet-shaper
Automatic merge from submit-queue

kubenet: hook pod bandwidth resources up to shaper

@bprashanth @thockin Last bit for shaping.
2016-04-25 22:15:42 -07:00
zhouhaibing089
bf1a3f99c0 Uncomment the code that cause by #19254 2016-04-25 23:21:31 +08:00
Stef Walter
481dbca8bc Fix use of docker removed ParseRepositoryTag() function
Docker has removed the ParseRepositoryTag() function in
leading to failures using the kubernetes Go client API.

Lets use github.com/docker/distribution reference.ParseNamed()
instead.

Failure:

../k8s.io/kubernetes/pkg/util/parsers/parsers.go:30: undefined: parsers.ParseRepositoryTag
2016-04-25 11:37:10 +02:00
Clayton Coleman
3111985564 Handle streaming serializers more consistently
Add tests to watch behavior in both protocols (http and websocket)
against all 3 media types. Adopt the
`application/vnd.kubernetes.protobuf;stream=watch` media type for the
content that comes back from a watch call so that it can be
distinguished from a Status result.
2016-04-22 11:07:24 -04:00
k8s-merge-robot
09adffb318 Merge pull request #23317 from aanm/removing-ipv4-enforcement
Automatic merge from submit-queue

Remove requirement that Endpoints IPs be IPv4

Signed-off-by: André Martins <aanm90@gmail.com>

Release Note: The `Endpoints` API object now allows IPv6 addresses to be stored.  Other components of the system are not ready for IPv6 yet, and many cloud providers are not IPv6 compatible, but installations that use their own controller logic can now store v6 endpoints.
2016-04-21 03:34:50 -07:00
Clayton Coleman
e16a7f2421 Initial protobuf generated files 2016-04-20 12:13:05 -04:00
Dan Williams
8086d64131 kubenet: hook pod bandwidth resources up to shaper 2016-04-19 15:32:46 -05:00
k8s-merge-robot
7664509c73 Merge pull request #24248 from wojtek-t/parallel_predicates
Automatic merge from submit-queue

Parallelize computing predicates in scheduler

@davidopp
2016-04-16 09:51:45 -07:00
k8s-merge-robot
49dd31a9a8 Merge pull request #23643 from smarterclayton/leak
Automatic merge from submit-queue

interrupt package (attach and edit) could leak a goroutine
2016-04-16 00:00:24 -07:00
k8s-merge-robot
2382fec956 Merge pull request #23894 from vishh/oom-score-adj-error
Automatic merge from submit-queue

Do not throw creation errors for containers that fail immediately after being started

Fixes (hopefully) #23607 

cc @dchen1107
2016-04-14 22:29:14 -07:00
André Martins
c1a360b1d5 Removing IPv4 enforcement on Endpoints
Signed-off-by: André Martins <aanm90@gmail.com>
2016-04-14 16:20:00 +01:00
Wojciech Tyczynski
5a73a9d235 Parallelize computing predicates 2016-04-14 16:32:52 +02:00
k8s-merge-robot
590a5f3ad7 Merge pull request #23444 from deads2k/add-requeue-after-duration
Automatic merge from submit-queue

add a delayed queueing option to the workqueue

Adds delayed requeuing to the workqueue so that I requeue an item to be retried at some later time in my controller with a series of backoff rules.  It lets me have the best of the retryManager and the work queue de-duping.  Tracking failures and backoffs is on the caller

@smarterclayton @pweil-  this would help us move to using the informer everywhere and de-duping at that level.
2016-04-14 05:02:24 -07:00
k8s-merge-robot
04df711a35 Merge pull request #24035 from jsafrane/devel/nsenter-error-messages
Automatic merge from submit-queue

Add path to log messages.

It is useful to see the path that failed to mount in the log messages.

Fixes #23990.
2016-04-14 03:47:26 -07:00
goltermann
a3104ba96c Final vet fixes; enabling vet checks in verify scripts. 2016-04-13 13:51:51 -07:00
k8s-merge-robot
ae57644172 Merge pull request #23435 from jsafrane/devel/fix-nsenter-mkdir
Automatic merge from submit-queue

Fixed mounting with containerized kubelet

`NsenterMounter.IsLikelyNotMountPoint()` should return `ErrNotExist` when the
checked directory does not exists - the regular mounted does this and
some volume plugins depend on this behavior.

See for example: https://github.com/kubernetes/kubernetes/blob/master/pkg/volume/aws_ebs/aws_util.go#L72
2016-04-13 08:35:08 -07:00
Seth Jennings
cf199dbdfa fix immediate evict in cache 2016-04-13 09:29:58 -05:00
k8s-merge-robot
f5e8e7453b Merge pull request #23806 from smarterclayton/streaming_watch
Automatic merge from submit-queue

Implement a streaming serializer for watch

Changeover watch to use streaming serialization. Properly version the
watch objects. Implement simple framing for JSON and Protobuf (but not
YAML).

@wojtek-t @lavalamp
2016-04-13 05:18:17 -07: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
Jordan Liggitt
37c86041ca Preserve int64 data when patching 2016-04-11 16:23:28 -04:00
Vishnu kannan
b06bb6bb8e OOM Score adjusting logic in kubelet should handle containers that exit quickly.
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-04-11 11:21:48 -07:00
Clayton Coleman
3474911736 Implement a streaming serializer for watch
Changeover watch to use streaming serialization. Properly version the
watch objects. Implement simple framing for JSON and Protobuf (but not
YAML).
2016-04-11 11:22:05 -04:00
Clayton Coleman
bfc991646b Implement correct and memory safe framing and add tests 2016-04-11 11:22:04 -04:00
Jan Safranek
be2ca8dec3 Add path to log messages.
It is useful to see the path that failed to mount in the log messages.
2016-04-08 09:41:09 +02:00
Jordan Liggitt
bf097ea233 fake util.clock tick 2016-04-07 15:10:50 -04:00
Jordan Liggitt
290d970282 make delayed workqueue use channels with single writer 2016-04-07 15:10:25 -04:00
deads2k
d12a4d6d5a add a delayed queueing option to the workqueue 2016-04-07 14:02:50 -04:00
goltermann
696423e044 Vet fixes, mostly pass lock by value errors. 2016-04-06 11:27:40 -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
5c2f758517 Merge pull request #17590 from fabianofranz/cli_homedir_on_windows
Automatic merge from submit-queue

Use correct home directory on Windows

As of now the `kubectl` config mechanism that saves/loads `~/.kube/config` is broken on Windows, saving the config file in the *current* directory instead of the user's *home* dir. This happens because most Windows don't respect the `HOME` environment variable. 

This PR changes the config file loading mechanism to use the recommended way to detect the user home on Windows (`HOMEDRIVE`+`HOMEPATH` or `USERPROFILE`), and adds a migration for users that might be currently relying on existing config files.
2016-04-01 22:00:11 -07:00
k8s-merge-robot
3b65927050 Merge pull request #16451 from ncdc/exec-interop-testing
Automatic merge from submit-queue

Refactor streaming code to support interop testing

Refactor exec/attach/port forward client and server code to better
support interop testing of different client and server subprotocol
versions.

Fixes #16119
2016-04-01 17:11:26 -07:00
Andy Goldstein
4551ba6b53 Refactor exec code to support version skew testing
Refactor exec/attach client and server code to better support interoperability testing of different
client and server subprotocol versions.
2016-04-01 13:05:50 -04:00
k8s-merge-robot
fa8d72e35d Merge pull request #23358 from aveshagarwal/master-jsonpath-fix
Automatic merge from submit-queue

Fix jsonpath to handle maps with key of nonstring types
2016-04-01 05:31:03 -07:00
Chao Xu
49559a3332 Generate the typed clients under the clientset folder 2016-03-31 15:28:45 -07:00
Clayton Coleman
de6e02d8bb interrupt package (attach and edit) could leak a goroutine
os/signal.Stop() does not actually close the channel, which means
the channel is blocked. Not serious because we don't use interrupt
protection on the server, just the CLI (which can afford 1 leaked
goroutine).
2016-03-31 11:39:08 -04:00
k8s-merge-robot
e44ad7a083 Merge pull request #22735 from resouer/throttle-dev
Auto commit by PR queue bot
2016-03-26 06:44:48 -07:00
goltermann
32d569d6c7 Fixing all the "composite literal uses unkeyed fields" Vet errors. 2016-03-25 15:25:09 -07:00
k8s-merge-robot
4e4ad61260 Merge pull request #23366 from goltermann/vet
Auto commit by PR queue bot
2016-03-24 21:50:56 -07:00
harry
8472cfa214 Refactor throttle into util pkg
Fix missing throttle.go
2016-03-25 08:32:23 +08:00
Jan Safranek
92f181174b Fixed mounting with containerized kubelet.
Kubelet was not able to mount volumes when running inside a container and
using nsenter mounter,

NsenterMounter.IsLikelyNotMountPoint() should return ErrNotExist when the
checked directory does not exists as the regular mounted does this and
some volume plugins depend on this behavior.
2016-03-24 17:27:11 +01:00
k8s-merge-robot
76369c42be Merge pull request #22939 from resouer/util-sub-dir
Auto commit by PR queue bot
2016-03-23 03:34:33 -07:00
k8s-merge-robot
4af38b52b9 Merge pull request #22736 from resouer/fix-util-dev
Auto commit by PR queue bot
2016-03-22 19:54:58 -07:00
goltermann
34d4eaea08 Fixing several (but not all) go vet errors. Most are around string formatting, or unreachable code. 2016-03-22 17:26:50 -07:00
Avesh Agarwal
d5e135e42c Fix jsonpath to handle maps with key of nonstring types 2016-03-22 17:32:40 -04:00
Clayton Coleman
3a29e3971b Improve terminal reuse and attach
Currently attach and the editor do not share the same logic for saving
and restoring the terminal, and are not suitable for nesting (when the
caller wants to create something, attach, and then delete something when
the attach is over).  This commit moves the interrupt protection logic
to a util package and supports nesting interrupt handlers.
2016-03-21 23:59:58 -04:00
harry
b0900bf0d4 Refactor diff into sub pkg 2016-03-21 20:21:39 +08:00
harry
d6e1566509 Refector deadlock into detector pkg 2016-03-21 20:20:05 +08:00
Harry Zhang
a4d04095d0 Refactor crlf & crypto 2016-03-21 20:20:05 +08:00
Harry Zhang
7178fba251 Move crlf.go to sub pkg 2016-03-21 20:20:05 +08:00
harry
343b1927d1 Refactor config map into sub pkg 2016-03-21 14:50:57 +08:00
harry
bc422f077a Refactor bool_flag into sub pkg 2016-03-21 14:50:57 +08:00
harry
b6924a322a Refactor cache into util sub pkg 2016-03-21 14:50:57 +08:00
k8s-merge-robot
782ba437f1 Merge pull request #23003 from deads2k/no-proxy-cidr
Auto commit by PR queue bot
2016-03-17 14:16:11 -07:00
Wojciech Tyczynski
e610c137c0 Regenerate auto-generated files 2016-03-17 09:30:02 +01:00
deads2k
ab03317d96 support CIDRs in NO_PROXY 2016-03-16 16:22:54 -04:00
Janet Kuo
26bcdb1bd6 Separate GetOldRS and GetNewRS in deployment controller (get and mutate) and deployment util (get only) 2016-03-15 10:23:20 -07:00
harry
f19d59cf35 Move flag into sub pkg 2016-03-14 21:30:38 +08:00
Chao Xu
a6240c1ab8 add FullyLabeledReplicas in Replicaset Status and ReplicationController Status 2016-03-11 23:55:04 -08:00
Brian Grant
d514a65c8d Merge pull request #22802 from ncdc/httpstream-reset-streams-when-closing-connection
Close streams with Reset instead of Close when closing streaming connections
2016-03-11 12:21:19 -08:00
Andy Goldstein
01b33ec330 Close streams with Reset instead of Close when closing streaming connections
This ensures that the call to close the underlying streaming connection will execute immediately,
instead of waiting for all streams to gracefully shut down.
2016-03-11 11:28:08 -05:00
harry
5b359213b1 Refactor env into sub pkg
Refactor env into sub pkg
2016-03-11 13:52:45 +08:00
Madhusudan.C.S
db48dcf583 ReplicaSetSpec.Template shouldn't be a pointer.
PodTemplateSpec should be consistent for all the types in extensions/v1beta1.

See PR #19510.
2016-03-09 21:24:16 -08:00
Wojciech Tyczynski
46ba2bfc89 Fix fake_handler test in Go 1.6 2016-03-09 14:24:42 +01:00
Michail Kargakis
77097d9a20 kubectl: set maxUnavailable to 1 if both fenceposts resolve to zero
Due to rounding down for maxUnavailable, we may end up with rolling updates
that have zero surge and unavailable pods something that 1) is not allowed
as per validation, 2) blocks updates. If we end up in such a situation
set maxUnavailable to 1 on the theory that surge might not work due to
quota.
2016-03-07 13:03:41 +01:00
k8s-merge-robot
8ab8231c20 Merge pull request #22577 from jpiccari/master
Auto commit by PR queue bot
2016-03-06 00:18:53 -08:00
k8s-merge-robot
c7a50206c0 Merge pull request #22579 from bprashanth/graceful_rc
Auto commit by PR queue bot
2016-03-05 23:42:11 -08:00
Prashanth Balasubramanian
7f5c9bd676 Track deletes in rc manager with a UID expectations cache. 2016-03-05 18:18:18 -08:00
k8s-merge-robot
5dde64c4ec Merge pull request #22264 from gmarek/scheduler
Auto commit by PR queue bot
2016-03-05 15:13:16 -08:00
k8s-merge-robot
e91048ea96 Merge pull request #22392 from janetkuo/retry-update-precondition
Auto commit by PR queue bot
2016-03-04 19:21:14 -08:00
Joshua Piccari
f5f83b076a Improve go report card by fixing typos in comments 2016-03-04 18:30:59 -08:00
Janet Kuo
f666e87217 Filter out inactive pods first when determining if it's available 2016-03-04 16:32:32 -08:00
Janet Kuo
64731e8083 Address comments 2016-03-03 15:56:09 -08:00
Janet Kuo
aae2073a78 Add preconditions to pod/rs update retry func 2016-03-03 14:54:28 -08:00
Brian Grant
ea579d5fab Merge pull request #22384 from janetkuo/skip-not-found-label
When retrying updating RSes and pods, ignore the not found error
2016-03-03 14:20:58 -08:00
k8s-merge-robot
de72b6be1b Merge pull request #21907 from justinsb/load_balancer_source_ranges
Auto commit by PR queue bot
2016-03-03 14:10:47 -08:00
Janet Kuo
75e570832b Ignore not found error when retrying rs and pods updates 2016-03-03 11:45:55 -08:00
Justin Santa Barbara
cb92133dfa LB Source Ranges: Move validation into API layer
Had to move other things around too to avoid a weird api ->
cloudprovider dependency.

Also adding fixes per code reviews.

(This is a squash of the previously approved commits)
2016-03-03 10:27:17 -05:00
Brian Grant
4b213ed263 Merge pull request #22245 from nikhiljindal/deploymentTimeoutErrors
Improving deployment e2e failure error messages
2016-03-01 18:46:13 -08:00
Brian Grant
6deb2612dc Merge pull request #22243 from nikhiljindal/updatePodWithRetries
deployment e2e flake: Fix updatePodWithRetries to get and then immediately try update
2016-03-01 18:44:17 -08:00
nikhiljindal
0dae82f6f1 Improving deployment e2e failure error messages 2016-03-01 17:58:32 -08:00
k8s-merge-robot
57ecc24db5 Merge pull request #22305 from bprashanth/deploy_label
Auto commit by PR queue bot
2016-03-01 15:27:09 -08:00
nikhiljindal
b65180c314 Update updatePodWithRetries to get and then update 2016-03-01 14:40:21 -08:00
Prashanth Balasubramanian
b9eb552e07 Update the re-fetched pod with deployment labels. 2016-03-01 11:47:53 -08:00
gmarek
6697834797 Move isMasterNode function to api/helpers 2016-03-01 12:12:38 +01:00
k8s-merge-robot
e7d0f06c4a Merge pull request #21736 from resouer/check-register
Auto commit by PR queue bot
2016-03-01 02:21:56 -08:00