Commit Graph

2310 Commits

Author SHA1 Message Date
Angus Salkeld
9fcce9e001 Work around go cover bug
This avoids the whole command failing because of errors like the following:
```
# cover k8s.io/kubernetes/pkg/client/restclient
cover: internal error: block 268 overlaps block 270
```
For vendor code, igone
For local code replace the switch with an if statement
2016-09-05 09:59:15 +10:00
Clayton Coleman
5e6f5fee8a
Handle Stream() errors consistently in restclient
We should be following the same rules for Stream() as the normal body
request flow.

Also add slightly more output on a server error - in the future we may
want to clean this up but it's potentially hiding bad responses.
2016-09-04 14:50:04 -04:00
Kubernetes Submit Queue
11765ab92e Merge pull request #31887 from liggitt/certificates-group
Automatic merge from submit-queue

Namespace certificates API group

New API groups should follow best-practices for naming, including using DNS names within the k8s.io namespace

```release-note
The certificates API group has been renamed to certificates.k8s.io
```
2016-09-02 15:08:55 -07:00
Kubernetes Submit Queue
64c2beae09 Merge pull request #31834 from wongma7/pvc-genclient
Automatic merge from submit-queue

Generate versioned client for pvc

I noticed while trying to use client-go that there is no way to get PVC with versioned clientset. I don't know why it is excluded, I cannot find any discussion about this, so I am creating this assuming it is just an oversight...
2016-09-01 15:01:13 -07:00
Jordan Liggitt
a869de61bd
Namespace certificates API group 2016-09-01 14:39:06 -04:00
Angus Salkeld
e9cad12e5f Add a check in ConfirmUsable() to validate the contextName 2016-09-01 11:35:11 +10:00
Matthew Wong
934fc002bc Generate versioned client for pvc 2016-08-31 18:57:56 -04:00
Kubernetes Submit Queue
1c607b391a Merge pull request #31721 from mml/disrupt.e2e.versioned
Automatic merge from submit-queue

Rewrite disruption e2e test to use versioned client.

This currently includes the changes from #31638.  I will rebase once that is merged.
2016-08-30 15:35:15 -07:00
Matt Liggett
a5f1dc44f5 // update-all and staging/.../client-go/copy.sh 2016-08-30 13:35:51 -07:00
Matt Liggett
44b2c862ef Rewrite disruption e2e test to use versioned client. 2016-08-30 12:34:45 -07:00
Paul Morie
c9b97c38a8 Improve doc for the fake client 2016-08-30 13:42:43 -04:00
Clayton Coleman
06cbb29e9e
ClientConfig should not default to http://localhost:8080
This changes clientcmd to skip the default cluster, but preserves the
behavior in kubectl. This prevents the possibility of an administrator
misconfiguration in kubelet or other server component from allowing a
third party who can bind to 8080 on that host from potentially
impersonating an API server and gaining root access.
2016-08-30 10:43:24 -04:00
mehdy
fb00d77c17 updated document
as far as I dug into codes I figured it out that the config exists in `restclient` package
2016-08-30 12:46:52 +04:30
deads2k
2f642ebc9e generated 2016-08-29 09:51:55 -04:00
deads2k
97529e3687 add selfsubjectaccessreview API 2016-08-29 09:51:54 -04:00
Brendan Burns
a79f714b1e Make password prompting hide the string 2016-08-27 21:31:04 -07:00
Kubernetes Submit Queue
961ef2b51d Merge pull request #31470 from caesarxuchao/regenerate-release-1-4
Automatic merge from submit-queue

Fix missing expansion files in clientset release 1.4

<!--  Thanks for sending a pull request!  Here are some tips for you:
1. If this is your first time, read our contributor guidelines https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md and developer guide https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md
2. If you want *faster* PR reviews, read how: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/faster_reviews.md
3. Follow the instructions for writing a release note: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes
-->

**What this PR does / why we need it**:
Fix missing expansion files in clientset release 1.4;
Update the client-gen tool to automatically update generated_expansion.go;
Update the readme to document the best practice of using client-gen.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #

https://github.com/kubernetes/kubernetes/issues/29698#issuecomment-241315798


**Special notes for your reviewer**:

**Release note**:
<!--  Steps to write your release note:
1. Use the release-note-* labels to set the release note state (if you have access) 
2. Enter your extended release note in the below block; leaving it blank means using the PR title as the release note. If no release note is required, just write `NONE`. 
-->
```release-note
```

cc @lavalamp @krousey @mbohlool
2016-08-27 00:45:52 -07:00
Chao Xu
bf578f1bc2 run client-gen 2016-08-26 10:55:22 -07:00
Chao Xu
74a424129f make subjectaccessreview expansion follow the convention 2016-08-26 10:54:51 -07:00
Kris
e87edf9bd5 Split path validation into a separate library 2016-08-26 08:05:20 -07:00
Kubernetes Submit Queue
1184800cbb Merge pull request #30730 from janetkuo/prevent-overlapping-deployment
Automatic merge from submit-queue

Handle overlapping deployments gracefully

Fixes #30028
2016-08-25 21:50:56 -07:00
Michael Fraenkel
f061f74f56 Use scale subresource
- Use scale subresource for ReplicationController, ReplicaSet and Deployment.
2016-08-25 17:17:12 -04:00
Kubernetes Submit Queue
c5e7e5124a Merge pull request #30969 from asalkeld/raw-status-code
Automatic merge from submit-queue

Make sure the StatusCode is taken into account in DoRaw()

**What this PR does / why we need it**:
Currently if there is an error (not found) the error printed out
is to do with the inablity to convert an empty body into the expected json.

This patch will fill in the err correctly.

example of before (with NotFound error):
$ kubectl top node
failed to unmarshall heapster response: json: cannot unmarshal object into Go value of type []v1alpha1.NodeMetrics

Now:
$ kubectl top node
the server could not find the requested resource (get services http:heapster:)

**Which issue this PR fixes** 
related to bug #30818

**Special notes for your reviewer**:
None

**Release note**:
```release-note
NONE
```
2016-08-25 01:01:05 -07:00
Kubernetes Submit Queue
94666b4a4e Merge pull request #31112 from wojtek-t/set_unsorted_list
Automatic merge from submit-queue

Avoid sorting lists when unnecessary

I've seen ThreadSafeMap::List consuming ~30% of whole CPU usage, spending the whole time in sorting (while it is in fact completely unneded).
2016-08-24 10:11:36 -07:00
Kubernetes Submit Queue
cfab351621 Merge pull request #31116 from fraenkel/scale_client
Automatic merge from submit-queue

Add ScaleExpansion to client v1.4

**What this PR does / why we need it**:
The generated v1.4 did not carry over the complete ScaleExpansion interface. The unversioned client is using this interface and should be in sync with generated client.

**Release note**:
```release-note

NONE
```
2016-08-24 02:09:35 -07:00
Janet Kuo
90557ec56c Handle overlapping deployments gracefully
1. When overlapping deployments are discovered, annotate them
2. Expose those overlapping annotations as warnings in kubectl describe
3. Only respect the earliest updated one (skip syncing all other overlapping deployments)
4. Use indexer instead of store for deployment lister
2016-08-23 14:33:30 -07:00
Angus Salkeld
c955de2ba8 Make sure the StatusCode is taken into account in DoRaw()
Currently if there is an error (not found) the error printed out
is to do with the inablity to convert an empty body into the expected json.

This patch will fill in the err correctly.

example of before (with NotFound error):
$ kubectl top node
failed to unmarshall heapster response: json: cannot unmarshal object into Go value of type []v1alpha1.NodeMetrics

Now:
$ kubectl top node
the server could not find the requested resource (get services http:heapster:)
2016-08-23 11:42:42 +10:00
Andy Goldstein
8530ede61f Check init containers in PodContainerRunning
Sometimes when an init container runs and terminates quickly, PodContainerRunning can go into a
state where the pod indicates it's still running, but the container is already terminated. Handle
that condition by returning ErrContainerTerminated when it happens.
2016-08-22 15:55:42 -04:00
Michael Fraenkel
d7d1bd592d Add ScaleExpansion to client v1.4 2016-08-22 09:58:28 -04:00
Wojciech Tyczynski
2804055978 Avoid sorting List when unnecessary 2016-08-22 15:07:17 +02:00
Kubernetes Submit Queue
1e5a5a2eac Merge pull request #30976 from wojtek-t/validated_selector
Automatic merge from submit-queue

	Don't validate selector that is already validated

Ref #30875

@timothysc
2016-08-22 03:34:44 -07:00
Kubernetes Submit Queue
e29f1e2d11 Merge pull request #30948 from lavalamp/fix
Automatic merge from submit-queue

Do not hold the lock for a long time

Followup to #30839.

I'm not convinced this is a super great idea but I'll throw it out and let others decide.

Ref https://github.com/kubernetes/minikube/issues/368
Ref #30759
2016-08-22 02:50:19 -07:00
Kubernetes Submit Queue
5b5a4145da Merge pull request #30821 from ardnaxelarak/21076_change_isEmpty_to_Empty
Automatic merge from submit-queue

Rename IsEmpty to Empty

addresses #21076
2016-08-22 00:54:28 -07:00
Wojciech Tyczynski
e9d5be628a Don't validate selector that is already validated 2016-08-22 09:39:32 +02:00
Kubernetes Submit Queue
0039d75dd0 Merge pull request #30896 from mfojtik/add-get
Automatic merge from submit-queue

Add Get() to cache listers

@kargakis @deads2k  PTAL
2016-08-21 17:31:26 -07:00
Kubernetes Submit Queue
b51d5c3cc0 Merge pull request #30638 from krousey/metrics_registration
Automatic merge from submit-queue

Remove implicit Prometheus metrics from client

**What this PR does / why we need it**: This PR starts to cut away at dependencies that the client has.

**Release note**:
<!--  Steps to write your release note:
1. Use the release-note-* labels to set the release note state (if you have access) 
2. Enter your extended release note in the below block; leaving it blank means using the PR title as the release note. If no release note is required, just write `NONE`. 
-->
```release-note
The implicit registration of Prometheus metrics for request count and latency have been removed, and a plug-able interface was added. If you were using our client libraries in your own binaries and want these metrics, add the following to your imports in the main package: "k8s.io/pkg/client/metrics/prometheus". 
```

cc: @kubernetes/sig-api-machinery @kubernetes/sig-instrumentation @fgrzadkowski  @wojtek-t
2016-08-21 16:47:05 -07:00
Kubernetes Submit Queue
5a98379bca Merge pull request #29696 from brendandburns/kubecfg
Automatic merge from submit-queue

Add initial support for TokenFile to to the client config file.

@smarterclayton @deads2k @cjcullen @krousey 

Part of the fix for #28260
2016-08-21 11:18:21 -07:00
Kubernetes Submit Queue
7272cd09e3 Merge pull request #26541 from sttts/sttts-kubectl-exec-rc
Automatic merge from submit-queue

Return container command exit codes in kubectl run/exec

Fixes https://github.com/kubernetes/kubernetes/issues/26424
Based on https://github.com/kubernetes/kubernetes/pull/25273.

TODO:
- [x] add e2e tests
- [x] investigate `kubectl run` exit code for `--restart=Never` (compare issue #24533 and PR #25253)
- [x] document exit codes
2016-08-21 00:44:55 -07:00
Kubernetes Submit Queue
c7a82463e7 Merge pull request #30950 from liggitt/support-name-field-selector
Automatic merge from submit-queue

Add support for the standard objectmeta field selectors

certificates API was missing standard field selectors (noticed in 4120179db5 (r75413160))

also silences client-side warnings when using field selectors that don't have a registered client-side transformation (no functional change, since we were already returning the original field/value). if we want to trend toward embedding less conversion logic in our clients, I don't see us fully duplicating field selector conversions client-side to make that warning disappear.
2016-08-20 20:11:00 -07:00
Kubernetes Submit Queue
db777bb9a3 Merge pull request #30940 from madhusudancs/fed-issue-30790
Automatic merge from submit-queue

Return the current kubeconfig as the starting config in ClientConfigGetter.

This fixes issue #30790.

cc @kubernetes/sig-cluster-federation
2016-08-20 19:29:31 -07:00
Jordan Liggitt
3e5acd8476
Make client-side fieldSelector stop complaining about identity transforms 2016-08-20 21:34:33 -04:00
Kubernetes Submit Queue
e9947d9ad7 Merge pull request #30813 from bprashanth/kubectl_petset
Automatic merge from submit-queue

Basic scaler/reaper for petset

Currently scaling or upgrading a petset is more complicated than it should be. Would be nice if this made code freeze on friday. I'm planning on a follow up change with generation number and e2es post freeze.
2016-08-20 10:51:07 -07:00
bindata-mockuser
e792d4117d Add return code support to kubectl-exec and -run 2016-08-20 15:58:47 +02:00
Kubernetes Submit Queue
a157e28ef6 Merge pull request #31016 from krousey/tcp_reuse
Automatic merge from submit-queue

Attempt to ensure entire resp body is read

**What this PR does / why we need it**: Enables the re-use of TCP connections when code fails to read the entire body of the response.

**Which issue this PR fixes**: fixes #30975 

**Special notes for your reviewer**:

This is a best effort approach. It only attempts to drain the body of the response if it's less than 1k. It seems like a reasonable barrier at which to give up and just use a new TCP connection.

cc: @wojtek-t @smarterclayton @lavalamp @kubernetes/sig-api-machinery
2016-08-19 15:45:34 -07:00
Kubernetes Submit Queue
d40e2296b2 Merge pull request #30630 from silasbw/short-n0
Automatic merge from submit-queue

Add a short `-n` for `kubectl --namespace`

fixes #24078

 `--namespace` is a very common flag for nearly every `kubectl` command we have. We should claim `-n` for it.
2016-08-19 14:34:13 -07:00
Kara Alexandra
d12a66a422 Rename IsEmpty to Empty
Signed-off-by: Kara Alexandra <kalexandra@us.ibm.com>
2016-08-19 14:19:19 -07:00
Kris
35c695005f Attempt to ensure entire resp body is read 2016-08-19 11:56:02 -07:00
Kris
8d6ce0dcc6 Remove implicit Prometheus metrics from client 2016-08-19 10:11:45 -07:00
Aliaksandr Pliutau
41ffa9a254 Example of unversioned pkg uses correct Config struct 2016-08-19 10:57:55 +07:00
Daniel Smith
edc598a359 Do not hold the lock for a long time 2016-08-18 17:40:33 -07:00
Madhusudan.C.S
2b5d689ab2 Return the current kubeconfig as the starting config in ClientConfigGetter. 2016-08-18 15:51:21 -07:00
Clayton Coleman
12a5eeea17
Introduce GroupVersioner for capturing desired target version
Convert single GV and lists of GVs into an interface that can handle
more complex scenarios (everything internal, nothing supported). Pass
the interface down into conversion.
2016-08-18 14:45:00 -04:00
Michal Fojtik
2ccc9fa859 Add Get() to cache listers 2016-08-18 18:19:50 +02:00
Kubernetes Submit Queue
86340fc123 Merge pull request #30839 from lavalamp/fix
Automatic merge from submit-queue

queueActionLocked requires write lock

Fix https://github.com/kubernetes/minikube/issues/368
Fix part of #30759

Hopefully. On stack dumps I couldn't see who was fighting with this.
2016-08-18 02:43:25 -07:00
Kubernetes Submit Queue
e2f39fca86 Merge pull request #30807 from caesarxuchao/change_pod_lister_api
Automatic merge from submit-queue

Continue on #30774: Change podNamespacer API

continue on #30774, credit to @wojtek-t, Ref #30759

I just fixed a test and converted IsActivePod to operate on *Pod.
2016-08-18 02:08:23 -07:00
bprashanth
30f3cb9d26 Scaler and reaper for petset 2016-08-17 17:37:56 -07:00
Daniel Smith
3e69c5a9b8 queueActionLocked requires write lock 2016-08-17 17:34:49 -07:00
Kubernetes Submit Queue
4b5fd43e24 Merge pull request #30250 from krousey/kctl_dynamic
Automatic merge from submit-queue

Change kubectl create to use dynamic client

https://github.com/kubernetes/kubernetes/issues/16764 https://github.com/kubernetes/kubernetes/issues/3955

This is a series of changes to allow kubectl create to use discovery-based REST mapping and dynamic clients.

cc @kubernetes/sig-api-machinery

**Release note**:
<!--  Steps to write your release note:
1. Use the release-note-* labels to set the release note state (if you have access) 
2. Enter your extended release note in the below block; leaving it blank means using the PR title as the release note. If no release note is required, just write `NONE`. 
-->
```release-note
kubectl will no longer do client-side defaulting on create and replace.
```
2016-08-17 14:48:56 -07:00
Wojciech Tyczynski
331083727f Change podNamespacer API 2016-08-17 16:55:01 +02:00
Kubernetes Submit Queue
fdd2392035 Merge pull request #30504 from piosz/hpa-ext-client
Automatic merge from submit-queue

Hpa ext client

```release-note
Removed support for HPA in extensions client.
```

fix #21578
2016-08-17 01:35:16 -07:00
Matt Liggett
d60ba3c6e2 Implement DisruptionController.
Part of #12611
2016-08-16 15:20:41 -07:00
Silas Boyd-Wickizer
39a9ec3a4f Add a short -n for kubectl's --namespace
fixes #24078

--namespace is a very common flag for nearly every kubectl command we have.
We should claim -n for it.
2016-08-16 08:32:47 -07:00
Kris
63a512fe47 Add discovery mapper and dynamic typer to kubectl 2016-08-15 22:07:54 -07:00
Kris
3999f071d1 Add generic "List" type for all versions 2016-08-15 22:07:54 -07:00
Brendan Burns
50089f6c81 Initial support for TokenFile in the client config. 2016-08-15 21:59:49 -07:00
Kris
e5c2154883 Eliminate redundant dynamic client type
This will allow people to override the default parameter codec and still
pass the resulting client with something that accepts *dynamic.Client.
2016-08-15 14:18:40 -07:00
Kris
d9ce524d63 Expose dynamic client's content config 2016-08-15 14:18:40 -07:00
Kubernetes Submit Queue
69419a145a Merge pull request #29802 from jfrazelle/fix-go-vet-errors
Automatic merge from submit-queue

fix go vet errors

<!--
Checklist for submitting a Pull Request

Please remove this comment block before submitting.

1. Please read our [contributor guidelines](https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md).
2. See our [developer guide](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md).
3. If you want this PR to automatically close an issue when it is merged,
   add `fixes #<issue number>` or `fixes #<issue number>, fixes #<issue number>`
   to close multiple issues (see: https://github.com/blog/1506-closing-issues-via-pull-requests).
4. Follow the instructions for [labeling and writing a release note for this PR](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes) in the block below.
-->

```release-note
```

This fixes the `go vet` errors brought about by go 1.7 testing re (#28742).

The are all pretty trivial and mostly related to literal composites.

also related to #16086
2016-08-15 13:10:08 -07:00
Kubernetes Submit Queue
612e3c2634 Merge pull request #30222 from hodovska/port-forward-cmd-struct
Automatic merge from submit-queue

kubectl/port-forward: complete/validate/run structure

```kubectl port-forward``` command is converted to a complete/validate/run kubectl command structure specified here: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/kubectl-conventions.md#command-conventions
In this PR is also exposed the ready and stop channel for API consumer.

Fixes #16504
2016-08-12 20:58:53 -07:00
Dominika Hodovska
c5babe2396 expose ready/stop channel 2016-08-12 15:45:57 +02:00
Piotr Szczesniak
a53cfd28fb Autogenerated changes 2016-08-12 15:13:44 +02:00
Kubernetes Submit Queue
d2543c30d8 Merge pull request #30277 from wojtek-t/optimize_controllers
Automatic merge from submit-queue

Avoid computing DeepEqual in controllers all the time

Computing DeepCopy was responsible for ~33% of cpu usage of controller-manager before this PR.

<!--
Checklist for submitting a Pull Request

Please remove this comment block before submitting.

1. Please read our [contributor guidelines](https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md).
2. See our [developer guide](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md).
3. If you want this PR to automatically close an issue when it is merged,
   add `fixes #<issue number>` or `fixes #<issue number>, fixes #<issue number>`
   to close multiple issues (see: https://github.com/blog/1506-closing-issues-via-pull-requests).
4. Follow the instructions for [labeling and writing a release note for this PR](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes) in the block below.
-->

```release-note
* Use the release-note-* labels to set the release note state 
* Clear this block to use the PR title as the release note 
-OR-
* Enter your extended release note here (newlines are formatted as bullets)
```

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.kubernetes.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.kubernetes.io/reviews/kubernetes/kubernetes/30277)
<!-- Reviewable:end -->
2016-08-12 03:20:58 -07:00
Daniel Smith
f1fd638962 fix register.go files up + add test import 2016-08-11 17:06:54 -07:00
Kubernetes Submit Queue
035ec518af Merge pull request #28387 from caesarxuchao/gc-latency-measure
Automatic merge from submit-queue

[GarbageCollector] measure latency

First commit is #27600.

In e2e tests, I measure the average time an item spend in the eventQueue(~1.5 ms), dirtyQueue(~13ms), and orphanQueue(~37ms). There is no stress test in e2e yet, so the number may not be useful.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.kubernetes.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.kubernetes.io/reviews/kubernetes/kubernetes/28387)
<!-- Reviewable:end -->
2016-08-11 02:33:55 -07:00
Wojciech Tyczynski
1c9e623045 Remove dead variable from reflector 2016-08-11 08:32:37 +02:00
Jess Frazelle
7e9d82129e
fix go vet errors
Signed-off-by: Jess Frazelle <jessfraz@google.com>

fix composites

Signed-off-by: Jess Frazelle <me@jessfraz.com>
2016-08-10 16:45:41 -07:00
Kubernetes Submit Queue
48b7aca2c9 Merge pull request #29672 from lixiaobing10051267/masterLen
Automatic merge from submit-queue

Add handling empty index key that may cause panic issue

if len(indexKeys) == 0, "return indexKeys[0]" will cause unexpected result.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.kubernetes.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.kubernetes.io/reviews/kubernetes/kubernetes/29672)
<!-- Reviewable:end -->
2016-08-10 14:29:45 -07:00
Chao Xu
41572cb22d add metrics to gc 2016-08-10 12:45:06 -07:00
Davanum Srinivas
b15219034d Prevent panic in 'kubectl exec' when redirecting stdout
Just add some nil checks to make sure we don't trip over when
we redirect output from exec to a file.

Fixes #30290
2016-08-09 14:52:55 -04:00
Kubernetes Submit Queue
f218aa4b10 Merge pull request #30236 from mikedanese/csr-approval
Automatic merge from submit-queue

csr: add approval to the typed client

ref #30163

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.kubernetes.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.kubernetes.io/reviews/kubernetes/kubernetes/30236)
<!-- Reviewable:end -->
2016-08-08 22:54:19 -07:00
Chao Xu
4d2350632c only store typeMeta and objectMeta in the gc store 2016-08-08 17:23:13 -07:00
Mike Danese
c131fbaf17 csr: add approval to the typed client 2016-08-08 16:05:05 -07:00
Chao Xu
58b6dee275 install authorization group in 1.4 client 2016-08-06 11:21:41 -07:00
Kubernetes Submit Queue
9083ee971e Merge pull request #29137 from janetkuo/scheduledjob-controller
Automatic merge from submit-queue

Scheduledjob controller

Supersedes #25952; first 7 commits come from #25816

<!--
Checklist for submitting a Pull Request

Please remove this comment block before submitting.

1. Please read our [contributor guidelines](https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md).
2. See our [developer guide](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md).
3. If you want this PR to automatically close an issue when it is merged,
   add `fixes #<issue number>` or `fixes #<issue number>, fixes #<issue number>`
   to close multiple issues (see: https://github.com/blog/1506-closing-issues-via-pull-requests).
4. Follow the instructions for [labeling and writing a release note for this PR](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes) in the block below.
-->

```release-note
```
2016-08-05 18:07:48 -07:00
Kubernetes Submit Queue
2537f66f0e Merge pull request #29230 from luxas/goimport
Automatic merge from submit-queue

Run goimport for the whole repo

While removing GOMAXPROC and running goimports, I noticed quite a lot of other files also needed a goimport format. Didn't commit `*.generated.go`, `*.deepcopy.go` or files in `vendor`

This is more for testing if it builds.
The only strange thing here is the gopkg.in/gcfg.v1 => github.com/scalingdata/gcfg replace.
cc @jfrazelle @thockin
2016-08-05 16:22:01 -07:00
Janet Kuo
da57c93a8a Fix errors, verification and test failures; add unit test for sj UpdateStatus 2016-08-05 13:35:39 -07:00
Eric Tune
8675e014fb ScheduledJob controller 2016-08-05 13:34:50 -07:00
deads2k
d9a203409a initial generated code for SAR 2016-08-05 11:37:43 -04:00
deads2k
32920b5617 add subjectaccessreviews resource 2016-08-05 11:20:56 -04:00
Kubernetes Submit Queue
e7d01097dc Merge pull request #29971 from caesarxuchao/fix-kubectl-rolling-update-with-gc
Automatic merge from submit-queue

[GarbageCollector] Fix kubectl rolling-update to work with GC

This changes the order of the [Rename()](https://github.com/kubernetes/kubernetes/blob/master/pkg/kubectl/rolling_updater.go#L532) function. After the change, Rename() first deletes the old RC and orphans its pods, then creates the new RC, which will then have a chance to adopt the orphaned pods.

This also fixes the "should support rolling-update to same image" [test](https://github.com/kubernetes/kubernetes/blob/master/test/e2e/kubectl.go#L915) when the garbage collector is on.

Here is the detailed explanation on why the test would have failed:
`kubectl rolling-update` will [rename](https://github.com/kubernetes/kubernetes/blob/master/pkg/kubectl/rolling_updater.go#L532-L546) the RC. It first creates the an identical RC (including spec.selectors) with the new name, then it deletes the existing RC. When GC is turned on, the newly created RC cannot adopt the existing pod, because it has a controllerRef pointing to the exising RC, so the new RC will create new pods and expect to see the creation. However, the new RC and the old RC have the same selector, so sometimes the old RC, instead of the new RC, has its [expectation lowered](https://github.com/kubernetes/kubernetes/blob/master/pkg/controller/replication/replication_controller.go#L346-L362), the new RC's expectation will stuck forever. The e2e test then times out when executing `kubectl delete newRC`, because there is the new RC will not scale down as its expectation is not fulfilled.

A side-note, we should fix [rm.getPodController()](https://github.com/kubernetes/kubernetes/blob/master/pkg/controller/replication/replication_controller.go#L346) to respect pod's controllerref, that will prevent similar bugs.

Also note that an old version `kubectl rolling-update` will not work with the GC. We cannot fix that.
2016-08-04 20:48:10 -07:00
Chao Xu
2558c239b8 remove logWatcher to logf 2016-08-04 10:28:18 -07:00
Kubernetes Submit Queue
c2340870c6 Merge pull request #29952 from fabianofranz/handle_container_terminated_pod_running_condition
Automatic merge from submit-queue

Handle container terminated but pod still running in conditions

Sometimes when you have a pod with more than one container, and the container runs and terminates really fast, `PodContainerRunning` can go into a state where the pod indicates it's still running, but the container is already terminated. Handle that condition by returning `ErrContainerTerminated` when it happens.
2016-08-04 07:13:08 -07:00
Kubernetes Submit Queue
544851a19f Merge pull request #29796 from deads2k/token-review
Automatic merge from submit-queue

Token review endpoint

Unrevert of #28788, which was rolled back because of https://github.com/kubernetes/kubernetes/issues/29375


@cjcullen @wojtek-t I'd like to remerge if possible.  Have we gotten the field checking mentioned here relaxed? https://github.com/kubernetes/kubernetes/pull/28788#discussion_r71918442
2016-08-03 20:48:31 -07:00
Kubernetes Submit Queue
c2614aee9a Merge pull request #29500 from lixiaobing10051267/masterFound
Automatic merge from submit-queue

Check all places to break the loop when object found

Check all places to break the loop when object found.
2016-08-03 20:05:15 -07:00
Chao Xu
96c84303bd fix kubectl rolling-update when GC is enabled 2016-08-03 15:57:03 -07:00
deads2k
60dd4a5d26 interesting changes to add tokenreviews endpoint to implement webhook 2016-08-03 08:37:45 -04:00
deads2k
eb79e2c859 generated code changes 2016-08-03 08:37:45 -04:00
Fabiano Franz
30cf0f9890 Handle container terminated but pod still running in conditions 2016-08-02 21:32:15 -03:00
Kris
a87377c7a9 Adding a defered RESTMapper 2016-08-02 10:35:44 -07:00
Kris
4e1f1c10ff discovery: Adding a discover based RESTMapper
Added a PriorityRESTMapper that operates off of discovery information. I
made an auxiliary data type and function to help collect and organize
the information.
2016-08-02 10:35:44 -07:00
k8s-merge-robot
0fbd60fa30 Merge pull request #29187 from soltysh/multiversion_kubectl
Automatic merge from submit-queue

Create client from API version passed in config or use default

When creating a client read the `GroupVersion` value passed in the `restclient.Config`. If the passed `GroupVersion` does not match current group or is not enabled fallback to default `GroupVersion` for that group.

This PR should allow accessing `ScheduledJob` properly in `batch/v2alpha1`.

@smarterclayton @deads2k @caesarxuchao @lavalamp ptal
2016-08-02 06:10:26 -07:00
Lucas Käldström
c88a07ce1a Run goimports 2016-08-02 15:12:39 +03: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
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
Harry Zhang
cb14b35bde Refactor util clock into it's own pkg 2016-07-28 02:29:04 -04:00
Clayton Coleman
d67187856f
No PetSet client in client/unversioned
Also add fakes
2016-07-27 10:08:58 -04:00
lixiaobing10051267
a9d631665e Add handling empty index key that may cause panic issue 2016-07-27 21:44:22 +08:00
k8s-merge-robot
d897db4ac5 Merge pull request #28933 from smarterclayton/accept_content_types
Automatic merge from submit-queue

Use response content-type on restclient errors

Also allow a new AcceptContentTypes field to allow the client to ask for
a fallback serialization when getting responses from the server. This
allows a new client to ask for protobuf and JSON, falling back to JSON
when necessary.

The changes to request.go allow error responses from non-JSON servers to
be properly decoded.

@wojtek-t - also alters #28910 slightly (this is better output)
2016-07-26 22:56:53 -07:00
k8s-merge-robot
ffff1ab63c Merge pull request #28319 from grodrigues3/revert-comments-tLogf
Automatic merge from submit-queue

reverted the code from 23688 that cause race condition with older version of Go

```release-note
* release-note-None
```


[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-07-26 19:56:47 -07:00
Maciej Szulik
1e496fd8ce Create client from API version passed in config or use default
When creating a client read the GroupVersion value passed in the
restclient.Config. If the passed GroupVersion does not match current
group or is not enabled fallback to default GroupVersion for that group.
2016-07-26 11:54:25 +02:00
Clayton Coleman
203cf2be6f
Use response content-type on restclient errors
Also allow a new AcceptContentTypes field to allow the client to ask for
a fallback serialization when getting responses from the server. This
allows a new client to ask for protobuf and JSON, falling back to JSON
when necessary.

The changes to request.go allow error responses from non-JSON servers to
be properly decoded.
2016-07-24 12:08:40 -04:00
lixiaobing10051267
be8d081539 Check all places to break the loop when object found 2016-07-23 13:49:04 +08:00
k8s-merge-robot
df2cf16ddb Merge pull request #26709 from hodovska/master
Automatic merge from submit-queue

Allow shareable resources for admission control plugins.

Changes allow admission control plugins to share resources. This is done via new PluginInitialization structure. The structure can be extended for other resources, for now it is an shared informer for namespace plugins (NamespiceLifecycle, NamespaceAutoProvisioning, NamespaceExists).

If a plugins needs some kind of shared resource e.g. client, the client shall be added to PluginInitializer and Wants methods implemented to every plugin which will use it.
2016-07-22 11:07:05 -07:00
Dominika Hodovska
037d116add Factory for SharedIndexInformers 2016-07-21 14:04:48 +02:00
Wojciech Tyczynski
4d0d115690 Revert "add tokenreviews endpoint to implement webhook" 2016-07-21 09:40:35 +02:00
k8s-merge-robot
8ead63f127 Merge pull request #28788 from deads2k/wire-authentication
Automatic merge from submit-queue

add tokenreviews endpoint to implement webhook

Wires up an API resource under `apis/authentication.k8s.io/v1beta1` to expose the webhook token authentication API as an API resource.  This allows one API server to use another for authentication and uses existing policy engines for the "authoritative" API server to controller access to the endpoint.

@cjcullen you wrote the initial type
2016-07-20 22:23:45 -07:00
deads2k
2c4a9f2e8d interesting changes to add tokenreviews endpoint to implement webhook 2016-07-20 15:11:56 -04:00
deads2k
bfa2ff00b9 generated code changes 2016-07-20 15:11:56 -04:00
k8s-merge-robot
1ecd4efce6 Merge pull request #29169 from kevinjkj/kevinjkj-patch-4
Automatic merge from submit-queue

Add defer

Add defer?
2016-07-20 11:51:47 -07:00
k8s-merge-robot
a279673de6 Merge pull request #25764 from gtank/certificates-api-controller-v3
Automatic merge from submit-queue

Certificate signing controller for TLS bootstrap (alpha)

The controller handles generating and signing certificates when a CertificateSigningRequest has the "Approved" condition. Uses cfssl to support a wide set of possible keys and algorithms. Depends on PR #25562, only the last two commits are relevant to this PR.

cc @mikedanese

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-07-19 18:45:31 -07:00
k8s-merge-robot
9ada26d6cd Merge pull request #29219 from caesarxuchao/fix-testeventf
Automatic merge from submit-queue

Don't do string(int)

This is causing https://github.com/kubernetes/kubernetes/pull/29147 to fail the unit test, because the bug prints control character to the test log, and the grep at this [line](https://github.com/kubernetes/kubernetes/blob/master/hack/make-rules/test.sh#L190) returns `Binary file (standard input) matches` error. I don't know why this bug isn't caught before.
2016-07-19 14:06:57 -07:00
Chao Xu
99d8868c7c don't use string(index) 2016-07-19 11:41:16 -07:00
George Tankersley
803c7ac299 certificates: implement certificates controller 2016-07-19 11:25:38 -07:00
k8s-merge-robot
be8abdabf8 Merge pull request #27157 from soltysh/scheduledjob_test_2
Automatic merge from submit-queue

Scheduledjob test cont.

This continuation of #25737.

@erictune @caesarxuchao ptal

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-07-19 02:52:19 -07:00
Kevin Wang
074dab86b9 Add defer
Signed-off-by: Kevin Wang <wang.kanghua@zte.com.cn>
2016-07-19 11:53:01 +08:00
Maciej Szulik
647124bf5e ScheduledJob client and storage tests 2016-07-18 21:01:21 +02:00
Davanum Srinivas
2b0ed014b7 Use Go canonical import paths
Add canonical imports only in existing doc.go files.
https://golang.org/doc/go1.4#canonicalimports

Fixes #29014
2016-07-16 13:48:21 -04:00
k8s-merge-robot
50172148e4 Merge pull request #25273 from ncdc/exec-sigwinch
Automatic merge from submit-queue

Support terminal resizing for exec/attach/run

```release-note
Add support for terminal resizing for exec, attach, and run. Note that for Docker, exec sessions
inherit the environment from the primary process, so if the container was created with tty=false,
that means the exec session's TERM variable will default to "dumb". Users can override this by
setting TERM=xterm (or whatever is appropriate) to get the correct "smart" terminal behavior.
```

Fixes #13585
2016-07-14 07:26:49 -07:00
k8s-merge-robot
ae990defcf Merge pull request #26956 from joe2far/fix-typos
Automatic merge from submit-queue

Fixed several typos
2016-07-14 04:13:15 -07:00
k8s-merge-robot
8f08cb3391 Merge pull request #28910 from rmmh/body-log
Automatic merge from submit-queue

Log restclient request/response bodies using %#v.

These are now protobufs, so outputting them with %s dumps a large
amount of binary garbage into the log. %#v properly escapes exotic
characters.
2016-07-13 19:24:13 -07:00
k8s-merge-robot
6b6141f812 Merge pull request #28820 from caesarxuchao/patch-subresource
Automatic merge from submit-queue

[client-gen] Allow passing subresources in Patch method

Expand the Patch() method from:
```
Patch(name string, pt api.PatchType, data []byte)
```
to
```
Patch(name string, pt api.PatchType, data []byte, subresources ...string)
```

Continue on #27293. Fixes #26580.

cc @Random-Liu @lavalamp
2016-07-13 16:09:01 -07:00
Andy Goldstein
3b21a9901b Support terminal resizing for exec/attach/run
Add support for terminal resizing for exec, attach, and run. Note that for Docker, exec sessions
inherit the environment from the primary process, so if the container was created with tty=false,
that means the exec session's TERM variable will default to "dumb". Users can override this by
setting TERM=xterm (or whatever is appropriate) to get the correct "smart" terminal behavior.
2016-07-13 17:06:16 -04:00
Ryan Hitchman
f1cd578363 Log restclient request/response bodies using %#v.
These are now protobufs, so outputting them with %s dumps a large
amount of binary garbage into the log. %#v properly escapes exotic
characters.
2016-07-13 11:37:16 -07:00
joe2far
5ead89b5bb Fixed several typos 2016-07-13 15:06:24 +01:00
Chao Xu
c2fb39102b generated changes 2016-07-12 11:09:28 -07:00
Chao Xu
dc2e12d2f8 manual changes to patch subresource 2016-07-12 11:09:27 -07:00
Madhusudan.C.S
eedc9d13d2 Add known versions to release 1.4 clientset. 2016-07-12 10:44:24 -07:00
k8s-merge-robot
98030ded05 Merge pull request #28781 from wojtek-t/optimize_priorities_2
Automatic merge from submit-queue

Change storeToNodeConditionLister to return []*api.Node instead of api.NodeList for performance



Currently copies that are made while copying/creating api.NodeList are significant part of scheduler profile, and a bunch of them are made in places, that are not-parallelizable.
Ref #28590
2016-07-12 06:18:15 -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
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
01c0f8cb54 Merge pull request #28587 from wojtek-t/remove_codec_from_content_config
Automatic merge from submit-queue

Remove Codec from ContentConfig.

This is the remaining cleanup after adding NegotiatedSerializer to ContentConfig.
2016-07-08 21:12:24 -07:00
Wojciech Tyczynski
7403564366 Remove Codec from ContentConfig. 2016-07-08 13:53:09 +02:00
k8s-merge-robot
383d45f185 Merge pull request #28596 from wojtek-t/scheduler_optimizations
Automatic merge from submit-queue

Some scheduler optimizations

Ref #28590

This PR doesn't do anything fancy - it is just reducing amount of memory allocations in scheduler, which in turn significantly speeds up scheduler.
2016-07-08 02:34:06 -07:00
k8s-merge-robot
60c5985d02 Merge pull request #28500 from deads2k/migration
Automatic merge from submit-queue

don't migrate files you can't access

If you can't access a file, you shouldn't try to migrate it.

Ref https://github.com/openshift/origin/issues/9581

@fabianofranz
2016-07-07 17:32:51 -07:00
k8s-merge-robot
8ea57733b4 Merge pull request #28478 from smarterclayton/adaptation
Automatic merge from submit-queue

Autoscaling should be part of clientset.Adaption

@mfojtik
2016-07-07 16:57:36 -07:00
k8s-merge-robot
3494f8e2f9 Merge pull request #28581 from lixiaobing10051267/masternotesorder
Automatic merge from submit-queue

The notes are inconsistent with the code

 In file "pkg/client/cache/store.go, the notes of line 102 "name and namespace" is inconsistent with line 103 "return parts[0], parts[1], nil", because parts[0] is namespace, and parts[1] is name, It is easy to be confused, and better to modify the notes to "namespace and name".
2016-07-07 16:22:50 -07:00
k8s-merge-robot
b3c2c9eb5d Merge pull request #27381 from dims/fix-issue-2967
Automatic merge from submit-queue

Fix problem specifying fqdn:port in command line

When specifying --server in kubectl for example, we end up
with failure if you use "localhost:8080" instead of
"127.0.0.1:8080". This is because of the way url.Parse
works as shown in snippet:
https://play.golang.org/p/luD57S6sEz

Essentially localhost ends up as the Scheme and NOT as the Host.
So we add another check to make sure we prepend the scheme
when Host ends up being empty as well. Tested with
"kubectl --server localhost:8080 get po"

Fixes #2967
2016-07-07 13:21:58 -07:00
Wojciech Tyczynski
7219802ac7 Pass pointer to node in NodCondition 2016-07-07 14:10:17 +02:00
k8s-merge-robot
2da247ffbc Merge pull request #26977 from joe2far/fix-help-strings
Automatic merge from submit-queue

Make kubectl help strings consistent
2016-07-07 00:12:22 -07:00
lixiaobing10051267
9915e89107 The notes are in reverse order 2016-07-07 14:45:16 +08:00
k8s-merge-robot
bb763df8d5 Merge pull request #28530 from lixiaobing10051267/msterwascreated
Automatic merge from submit-queue

"was not created" should be "was created"

In file pkg\client\restclient/request_test.go, line #1089, "t.Errorf("expected object was not created")" , here "was not created" should be "was created" because the if condition is "if wasCreated".
2016-07-06 23:37:02 -07:00
k8s-merge-robot
0c696dc95b Merge pull request #27848 from liubin/fix-typos
Automatic merge from submit-queue

fix some typos

Just a minor typos fix.


Signed-off-by: bin liu <liubin0329@gmail.com>
2016-07-06 23:36:49 -07:00
Chao Xu
a2980e56c9 stop update release_1_3 clientset; create release_1_4 2016-07-06 10:48:28 -07:00
lixiaobing10051267
10a26ab158 "was not created" should be "was created" 2016-07-06 17:42:40 +08:00
Davanum Srinivas
0d86251f5f
Fix problem specifying fqdn:port in command line
When specifying --server in kubectl for example, we end up
with failure if you use "localhost:8080" instead of
"127.0.0.1:8080". This is because of the way url.Parse
works as shown in snippet:
https://play.golang.org/p/luD57S6sEz

Essentially localhost ends up as the Scheme and NOT as the Host.
So we add another check to make sure we prepend the scheme
when Host ends up being empty as well. Tested with
"kubectl --server localhost:8080 get po"

Fixes #2967
2016-07-05 10:10:12 -04:00
deads2k
1b74a12053 don't migrate files you can't access 2016-07-05 09:33:32 -04:00
Wojciech Tyczynski
3c9b68698d Migrate scheduler integration tests 2016-07-05 13:34:26 +02:00
Clayton Coleman
9f28e88574
Autoscaling should be part of clientset.Adaption 2016-07-04 21:54:11 -04:00
bin liu
426fdc431a Merge branch 'master' into fix-typos 2016-07-04 11:20:47 +08:00
k8s-merge-robot
8562021366 Merge pull request #28254 from grodrigues3/Fix-TreeStateVersion-Check
Automatic merge from submit-queue

fixed the typo causing incorrect comparison with cVer and cVer; now checking against sVer

fixes #25252
2016-06-30 23:54:41 -07:00
Garrett Rodrigues
02e29a98b8 reverted the code from 23688 that cause race condition with older version of Go 2016-06-30 16:01:03 -07:00
k8s-merge-robot
bc9820ce47 Merge pull request #28232 from cjcullen/webhook2
Automatic merge from submit-queue

Lock all possible kubecfg files at the beginning of ModifyConfig.

Prevent concurrent calls to ModifyConfig on the same (or overlapping) kubeconfig files.
2016-06-29 22:14:04 -07:00
k8s-merge-robot
f2ddd60eb9 Merge pull request #26755 from david-mcmahon/fix-headers
Automatic merge from submit-queue

Remove "All rights reserved" from all the headers.

cc @thockin @zmerlynn @brendanburns
2016-06-29 18:46:07 -07:00
k8s-merge-robot
d8d5ab29a5 Merge pull request #26756 from hongchaodeng/cli
Automatic merge from submit-queue

Change client default value of qps and burst to constant
2016-06-29 18:11:18 -07:00
David McMahon
ef0c9f0c5b Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
Garrett Rodrigues
2cce015167 fixed the typo causing incorrect comparison with cVer and cVer; now checking against sVer 2016-06-29 17:39:41 -07:00
CJ Cullen
00576278b5 Lock all possible kubecfg files at the beginning of ModifyConfig. 2016-06-29 16:15:10 -07:00
k8s-merge-robot
7f3da674f7 Merge pull request #26680 from olegshaldybin/fake-clientset-registry
Automatic merge from submit-queue

Track object modifications in fake clientset

Fake clientset is used by unit tests extensively but it has some
shortcomings:

- no filtering on namespace and name: tests that want to test objects in
  multiple namespaces end up getting all objects from this clientset,
  as it doesn't perform any filtering based on name and namespace;

- updates and deletes don't modify the clientset state, so some tests
  can get unexpected results if they modify/delete objects using the
  clientset;

- it's possible to insert multiple objects with the same
  kind/name/namespace, this leads to confusing behavior, as retrieval is
  based on the insertion order, but anchors on the last added object as
  long as no more objects are added.

This change changes core.ObjectRetriever implementation to track object
adds, updates and deletes.

Some unit tests were depending on the previous (and somewhat incorrect)
behavior. These are fixed in the following few commits.
2016-06-29 06:04:33 -07:00
joe2far
25b4341dc7 Make kubectl help strings consistent 2016-06-29 12:50:24 +01:00
Hongchao Deng
55d3597456 change default value of QPS and burst to constant 2016-06-28 21:45:35 -07:00
Hongchao Deng
ca17e4745f docs: client default config of qps and burst 2016-06-28 21:45:35 -07:00
k8s-merge-robot
32eccd413f Merge pull request #25562 from gtank/certificates-api-v9
Automatic merge from submit-queue

TLS bootstrap API group (alpha)

This PR only covers the new types and related client/storage code- the vast majority of the line count is codegen. The implementation differs slightly from the current proposal document based on discussions in design thread (#20439). The controller logic and kubelet support mentioned in the proposal are forthcoming in separate requests.

I submit that #18762 ("Creating a new API group is really hard") is, if anything, understating it. I've tried to structure the commits to illustrate the process.

@mikedanese @erictune @smarterclayton @deads2k

```release-note-experimental
An alpha implementation of the the TLS bootstrap API described in docs/proposals/kubelet-tls-bootstrap.md.
```

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-28 13:25:22 -07:00
George Tankersley
c9c6fff269 codegen: GENERATE ALL THE THINGS 2016-06-28 12:05:41 -07:00
Oleg Shaldybin
1f48cd27e7 Expect namespace deletion in NamespaceController
Using new fake clientset registry exposes the actual flow on pending
namespace finalization: get namespace, create finalizer, list pods and
delete namespace if there are no pods.
2016-06-28 11:54:13 -07:00
Oleg Shaldybin
d445d4082d Regenerate clientsets 2016-06-28 10:59:54 -07:00
Oleg Shaldybin
10e75946a2 Track object modifications in fake clientset
Fake clientset is used by unit tests extensively but it has some
shortcomings:

- no filtering on namespace and name: tests that want to test objects in
  multiple namespaces end up getting all objects from this clientset,
  as it doesn't perform any filtering based on name and namespace;

- updates and deletes don't modify the clientset state, so some tests
  can get unexpected results if they modify/delete objects using the
  clientset;

- it's possible to insert multiple objects with the same
  kind/name/namespace, this leads to confusing behavior, as retrieval is
  based on the insertion order, but anchors on the last added object as
  long as no more objects are added.

This change changes core.ObjectRetriever implementation to track object
adds, updates and deletes.

Some unit tests were depending on the previous (and somewhat incorrect)
behavior. These are fixed in the following few commits.
2016-06-28 10:59:54 -07:00
k8s-merge-robot
31804fb971 Merge pull request #26857 from rajdeepd/client_test
Automatic merge from submit-queue

Test cases for Rest Client
2016-06-27 22:06:40 -07:00
George Tankersley
b084d202bb client/unversioned: add certificates client 2016-06-27 14:29:16 -07:00
k8s-merge-robot
b4db89c457 Merge pull request #27644 from enj/dev/enj/issues/9307
Automatic merge from submit-queue

Use preferred group version when discovery fails due to 403

```
kubectl get pods --as bob
```
Returns:
```
error: failed to negotiate an api version; server supports: map[], client supports: map[autoscaling/v1:{} rbac.authorization.k8s.io/v1alpha1:{} federation/v1alpha1:{} batch/v1:{} v1:{} authentication.k8s.io/v1beta1:{} apps/v1alpha1:{} componentconfig/v1alpha1:{} authorization.k8s.io/v1beta1:{} batch/v2alpha1:{} extensions/v1beta1:{} policy/v1alpha1:{}]
```
It should return:
```
User "deads" cannot "impersonate" "users" with name "bob" in project ""
```

`serverVersions` is empty when discovery fails, thus we fallback to the `preferredGV`.

See openshift/origin#9307 and [openshift/origin/pull/9389](https://github.com/openshift/origin/pull/9389) for further details.
2016-06-26 21:11:12 -07:00
k8s-merge-robot
93037844c1 Merge pull request #27293 from caesarxuchao/add-patch-to-clientset
Automatic merge from submit-queue

[client-gen]Add Patch to clientset

* add the Patch() method to the clientset. 
* I have to rename the existing Patch() method of `Event` to PatchWithEventNamespace() to avoid overriding.
* some minor changes to the fake Patch action.

cc @Random-Liu since he asked for the method
@kubernetes/sig-api-machinery 

ref #26580 

```release-note
Add the Patch method to the generated clientset.
```
2016-06-25 19:15:11 -07:00
k8s-merge-robot
cbab337b99 Merge pull request #27242 from smarterclayton/discovery_prefix
Automatic merge from submit-queue

Make discovery client parameterizable to legacy prefix
2016-06-25 17:26:05 -07:00
k8s-merge-robot
59b88d7ab6 Merge pull request #26925 from ZTE-PaaS/249043822-patch-1
Automatic merge from submit-queue

optimize deleteFromIndices method of thread_safe_store

As all methods of thread_safe_store are threadsafe, so i think, in deleteFromIndices method, if the index is nil, need not run the for structure below
2016-06-25 12:57:50 -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
Kris
88e2a31978 Adding lock files for kubeconfig updating 2016-06-24 13:11:52 -07:00
Mike Danese
3162197c23 autogenerated 2016-06-23 22:15:03 -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
Chao Xu
d9f07925be let dynamic client handle non-registered ListOptions;
register ListOptions for apis/policy
2016-06-22 13:18:50 -07: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
bin liu
fd27cd47f7 fix some typos
Signed-off-by: bin liu <liubin0329@gmail.com>
2016-06-22 18:14:26 +08:00
Janet Kuo
ee81e5ebfa Retry Pod/RC updates in kubectl rolling-update 2016-06-21 16:08:10 -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
saadali
926bb4cca0 Add patch status to Node internalclientset 2016-06-19 23:54:02 -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
enj
6e6b825097 Use preferred group version when discovery fails due to 403 2016-06-17 22:27:43 -04: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
Chao Xu
a29f6aa8ae add Patch to clientsets 2016-06-17 10:30:58 -07:00
Rajdeep Dua
27b6c1b4f8 Test cases for Rest Client 2016-06-16 02:14:19 -07:00
Wojciech Tyczynski
ccd42e9236 Fix bugs in DeltaFIFO 2016-06-15 15:08:21 +02:00
Wojciech Tyczynski
5d702a32c1 Fix race in informer 2016-06-14 16:40:12 +02:00
Ke Zhang
5dbf21aa13 optimize deleteFromIndices method in thread_safe_store.go 2016-06-14 09:21:44 +08:00
Clayton Coleman
158d852104
Make discovery client parameterizable to legacy prefix
OpenShift needs to be able to use a discovery client against a different
prefix. Make LegacyPrefix optional and parameterizable to the client. No
change to existing interfaces.
2016-06-11 19:21:16 -04:00
Clayton Coleman
36a5ffbe2f
Remove EncodeToStream(..., []unversioned.GroupVersion)
Was not being used.
2016-06-10 18:43:12 -04:00
Wojciech Tyczynski
528713bcc2 Fix Retry-After in clients 2016-06-07 21:04:44 +02:00
k8s-merge-robot
707cc2bbb8 Merge pull request #26493 from caesarxuchao/fix-gc-flake
Automatic merge from submit-queue

Fixes 25890 flake. Let GC convert ListOptions to v1 before passing it to the dynamic client

GC's ListWatcher directly passed the api.ListOptions to the dynamic client, but the parameter codec of dynamic client converts the options to queries based on the tags in the struct, which are not present in api.ListOptions, so the queries are not sent to the server. As a result, the Watch request was sent without a resourceVersion, causing missed events. Flake #25890 is caused by the missed deletion events.

This PR converts the api.ListOptions to v1.ListOptions before the GC passes it to the dynamic codec. The flaky test has successfully passed 79 times ([log](https://00e9e64bacd064560a027fbee9c5a373a1614f3a56e652ae40-apidata.googleusercontent.com/download/storage/v1_internal/b/kubernetes-jenkins/o/pr-logs%2Fpull%2F25923%2Fkubernetes-pull-test-unit-integration%2F28364%2Fbuild-log.txt?qk=AD5uMEv72OjSUqDyk5i-ZLurcmM4i7gket1c7WaqR7yuIYz7WhPYT7ewVBafijV0ymnPTYqxRYt1kp6S9YQv7chPwC-3UtrKetKfhYnvAFrPGXAIBxHytTmpFohRAYgsARN1B6j1f9vyK5lM-8jyzRGhCK3sCRsAPnbDBWIWFlbH4b1n3vUET3P71QamHrF5itYyaqRU5pMZV3Cwwr81X8q7h5hCzm3Ip78RpMzfjEqTG0RcM2TLGccUrlkWVBLh4hn0NFpUIkzVFugFA5ooJffo-0AdJnO3mGWEOnXNVFWftJbK8cKnTns0DISrYFOyH_PlOe_YHCxgIXIT-dW8G-nbqoUjn5SBqunr36rcpaYCIwe2va4W_AcLCT43xiEAezRER_U9AuIqi_22KMd6SuHTyljhmWFPvPk8-gpjthLWXhcE7LPO5dV41hnZHnbI4n_9eI1nSVm7q9XdSvX1sWKV1GCwn8oj017AnxVvl9bScultko_0dTC747UqJ6UTFakLuFcHFe-F5Tz7ItDWlBVPoXeC7gTpyuicFKLsdqGlW9F5X6kIwNrBRj9uRsS-QuzSER-fVkQCn4dUTcokttRH_0bYvyfr9oqiDXmywMgOp-L0sKayk8JOVynh2q0Tju9sdkvFr0PxoAjhofomfIC1SZ_JkOzwAT1TUW8dLjPHluMct34xW_-qna1AmkoxM4bZQLhllap96NTC-0IdtzeKDrTul8p7u3WXSJjjEMSijibTNMlnkB0AluT1_RNO94OnzuFv4YlcV24FPhJzchhbyKREkOb_wzgcnSbRwGHjIcfRgkX-IzoXHVBcMYFUrPmsXrnRcfad4XwjkUOgvivkURW2_EwnzgrLDh-IKek51_0FpT1MnFCSG0gQbVSs_iMVPr6UXNAw62LGbKVtl3ZMXyapEpcO8azNbn6Wvd550R704JXxYlU)).

@lavalamp @krousey @smarterclayton
2016-06-04 01:52:31 -07:00
Chao Xu
06f49f7ca7 Let the dynamic client take a customized parameter codec for List, Watch, and DeleteCollection.
Let the gc's ListWatcher use api.ParameterCodec. Fixes 25890.
2016-06-03 11:22:51 -07:00
k8s-merge-robot
cf234ab67d Merge pull request #26251 from caesarxuchao/add-serializer
Automatic merge from submit-queue

Add direct serializer

Fix #25589. Implemented a direct codec that doesn't do conversion, but sets the group, version and kind before serialization as Clayton suggested [here](https://github.com/kubernetes/kubernetes/issues/25589#issuecomment-219168009).

First commit is cherry-picked from #24826.

@kubernetes/sig-api-machinery
2016-06-01 23:31:47 -07:00
k8s-merge-robot
46323336cb Merge pull request #26559 from wojtek-t/max_idle_conns_per_host
Automatic merge from submit-queue

Max idle conns per host

Ref #26519

Hopefully, this will at least somehow help with #26519 

@gmarek @krousey @lavalamp
2016-06-01 11:41:42 -07:00
Chao Xu
f32f3966d6 add DirectCodec; use it in release_1_3 clientset 2016-05-31 10:14:24 -07:00
Wojciech Tyczynski
2ab3f1e1d5 Increase MaxIdlConnsPerHost to 25 2016-05-31 14:57:10 +02:00
Victor Garcia
7cebb559b3 Minor typo in comment, SSLv3 instead of SSLv4 2016-05-31 14:17:17 +02:00
Piotr Szczesniak
22dc21d703 Removed metrics api group 2016-05-31 09:48:39 +02:00
k8s-merge-robot
60c1b4e75f Merge pull request #25804 from mfojtik/add-batch-client
Automatic merge from submit-queue

Add BatchClient into clientset adaption

@soltysh FYI
2016-05-30 00:40:59 -07:00
k8s-merge-robot
0fc573296d Merge pull request #26169 from victorgp/master
Automatic merge from submit-queue

Setting TLS1.2 minimum because TLS1.0 and TLS1.1 are vulnerable

TLS1.0 is known as vulnerable since it can be downgraded to SSL
https://blog.varonis.com/ssl-and-tls-1-0-no-longer-acceptable-for-pci-compliance/

TLS1.1 can be vulnerable if cipher RC4-SHA is used, and in Kubernetes it is, you can check it with
`
openssl s_client -cipher RC4-SHA -connect apiserver.k8s.example.com:443
`

https://www.globalsign.com/en/blog/poodle-vulnerability-expands-beyond-sslv3-to-tls/

Test suites like Qualys are reporting this Kubernetes issue as a level 3 vulnerability, they recommend to upgrade to TLS1.2 that is not affected, quoting Qualys:

`
RC4 should not be used where possible. One reason that RC4 was still being used was BEAST and Lucky13 attacks against CBC mode ciphers in
SSL and
TLS. However, TLSv 1.2 or later address these issues.
`
2016-05-29 13:24:46 -07:00
k8s-merge-robot
e543bd6452 Merge pull request #26007 from smarterclayton/watch_opt
Automatic merge from submit-queue

Additional optimizations to the encode/decode paths

Builds on top of #25983 with a number of other optimizations.
2016-05-28 06:27:00 -07:00
k8s-merge-robot
4047ca1d97 Merge pull request #26132 from nikhiljindal/newmaster
Automatic merge from submit-queue

federation: replacing string credentials field by secretRef

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

Replaced the string Credentials field in ClusterSpec by secretRef as discussed in https://github.com/kubernetes/kubernetes/issues/25761.
Also updated the clusterController to use this new secretRef field while creating a client to talk to a k8s cluster.

cc @lavalamp @kubernetes/sig-cluster-federation
2016-05-27 08:31:58 -07:00
k8s-merge-robot
b6929e19eb Merge pull request #26336 from caesarxuchao/remove-deprecated-typed-clients
Automatic merge from submit-queue

remove deprecated generated typed clients

The typed clients had been moved to pkg/client/clientset_generated/xxx/typed. We kept these files for backward compatibility. But it seems release 1.3 is the appropriate time to get rid of them.

@kubernetes/sig-api-machinery @lavalamp
2016-05-26 16:10:00 -07:00
Alex Mohr
edda837142 Merge pull request #25599 from caesarxuchao/orphaning-finalizer
Add orphaning finalizer logic to GC
2016-05-26 13:19:19 -07:00
Alex Mohr
6f919dc6fc Merge pull request #25634 from ericchiang/rbac_api_group
Add RBAC authorization API group and authorizer
2016-05-26 12:36:53 -07:00
k8s-merge-robot
44de311c0a Merge pull request #24826 from caesarxuchao/autogenerate-1-3
Automatic merge from submit-queue

Add release_1_3 clientset in update-codegen

Add release_1_3 clientset in update-codegen to keep it update-to-date; update the generated clientset.
2016-05-26 05:21:32 -07:00
Chao Xu
06bac1fcc7 remove deprecated generated typed clients 2016-05-25 21:26:00 -07:00
Chao Xu
44591bf6bf generated 2016-05-25 21:14:17 -07:00
Matt Liggett
1fee311282 Refactor *Namespacer.List().
Refactor storePodsNamespacer.List() and
storeReplicationContollersNamespacer.List().  They are the same
function, just with different signatures.

This fixes a bug where, when we fell back on a brute force approach, we
were still returning an error.

Also change to explicit return without named return values.
2016-05-25 17:18:28 -07:00
Eric Chiang
36ecec58f0 regenerate all 2016-05-25 14:26:09 -07:00
Eric Chiang
7bdf4a36d5 pkg/client/unversioned: add rbac client 2016-05-25 14:25:01 -07:00
Victor Garcia
d3f3e6c969 Setting TLS1.2 minimum because TLS1.0 and TLS1.1 are vulnerable
Adding comments to explain what is wrong with each version
2016-05-25 18:14:20 +02:00
Chao Xu
1665546d2d add finalizer logics to the API server and the garbage collector; handling DeleteOptions.OrphanDependents in the API server 2016-05-24 13:07:28 -07:00
nikhiljindal
dca310aa88 Updating tests 2016-05-24 00:27:39 -07:00
nikhiljindal
9b604242c6 Updating the federation cluster controller to use secretRef to contact the server 2016-05-23 21:50:00 -07:00
Aaron Levy
fbde4fa858 pkg/client/leaderelection: log err when retrieving endpoint 2016-05-23 14:37:19 -07:00
Wojciech Tyczynski
051fca3c79 Fix govet error in reflect_resync test 2016-05-23 12:50:46 +02:00
Wojciech Tyczynski
71726a8ad0 Fix reflector test 2016-05-23 12:07:11 +02:00
Piotr Szczesniak
d92c151fec Merge pull request #26013 from xiang90/fix_test
cache: fix flaky resync test
2016-05-23 09:23:26 +02:00
Xiang Li
abbbd7c2f2 cache: reflector should never stop watching
A recent change tries to separate resync and relist. The motivation
was to avoid triggering relist when a resync is required.

However, the change is not effective since it stops the watcher. As hongchao
mentioned in the original comment, today's storage interface will not deliever
any progress notification to the watch chan. So any watcher that does not receive
events for the last few seconds will not be able to catch up from the previous
index after a hard close since the index of the last received event is out of
the cache window inside etcd2.

This pull request tries to fix this issue by not stoping watcher when a resync is
required.
2016-05-22 18:04:20 -07:00
Xiang Li
f31ec95f05 cache: fix flaky resync test 2016-05-22 10:57:00 -07:00
Clayton Coleman
c6961d6fd6
Remove runtime.Typer, reduce to ObjectKinds(1) (3)
Remove the unnecessary variants, which avoids allocations in several
core paths.
2016-05-21 23:55:42 -04:00
k8s-merge-robot
4d69e2c26a Merge pull request #25475 from soltysh/scheduledjob_client
Automatic merge from submit-queue

ScheduledJob client 

@erictune SheduledJob part 2, based on #24970 so first two commits doesn't count. 
This is still WIP, but it's here so you know :)

```release-note
Introducing ScheduledJobs as described in [the proposal](https://github.com/kubernetes/kubernetes/blob/master/docs/proposals/scheduledjob.md) as part of `batch/v2alpha1` version (experimental feature).
```
[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-05-21 14:10:41 -07:00
k8s-merge-robot
d06fe0caf7 Merge pull request #25638 from caseydavenport/cd-network-policy-api
Automatic merge from submit-queue

Add NetworkPolicy API Resource

API implementation of https://github.com/kubernetes/kubernetes/pull/24154

Still to do:
- [x] Get it working (See comments)
- [x] Make sure user-facing comments are correct.
- [x] Update naming in response to #24154
- [x] kubectl / client support
- [x] Release note.

```release-note
Implement NetworkPolicy v1beta1 API object / client support.
```

Next Steps:
- UTs in separate PR.
- e2e test in separate PR.
- make `Ports` + `From` pointers to slices (TODOs in code - to be done when auto-gen is fixed)

CC @thockin 

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-05-21 08:51:28 -07:00
k8s-merge-robot
c05c1d24ae Merge pull request #25540 from krousey/discovery_mapper
Automatic merge from submit-queue

Adding support objects for integrating dynamic client the kubectl builder

Kubectl will try to decode into `runtime.VersionedObjects`, so the `UnstructuredJSONScheme` needs to handle that intelligently.

Kubectl's builder also needs a `meta.RESTMapper` and `runtime.Typer`. The `meta.RESTMapper` requires a `runtime.ObjectConvertor` (spelling?) that works with `runtime.Unstructured`. The mapper and typer required discovery info, so I just put that in the kubectl util package since it didn't really seem to fit anywhere else. 

Subsequent PRs will be using these in kubectl.

cc @kubernetes/sig-api-machinery @smarterclayton @liggitt @lavalamp
2016-05-21 07:13:49 -07:00
Maciej Szulik
6510eb54d8 ScheduledJob client 2016-05-21 15:48:40 +02:00
Filip Grzadkowski
782de9d024 Merge pull request #25732 from 249043822/249043822-patch-1
Update fake.go Unlock optimize
2016-05-20 10:29:26 +02:00
Casey Davenport
47248f3698 v1beta1 NetworkPolicy API definition and client support 2016-05-19 19:02:54 -07:00
Tim Hockin
54a3efb364 Make IsDNS952Label return error strings 2016-05-19 08:57:49 -07:00
Wojciech Tyczynski
9784dff94e Merge pull request #25871 from smarterclayton/retry_on_error
Fix the Retry-After code path to work for clients, and send correct bodies
2016-05-19 16:18:18 +02:00
Clayton Coleman
eeb04e6826
Reset input buffer on retry
Retries were previously sending empty bodies to the server.
2016-05-19 09:08:57 -04:00
Clayton Coleman
e5fbf86157
Allow StatusErrors to be modified after creation 2016-05-19 09:08:53 -04:00
Robert Rati
e388c137bb Separate sync and list functionality in the reflector. #23394 2016-05-19 07:41:24 -04:00
k8s-merge-robot
4f09f51486 Merge pull request #24800 from thockin/validation_pt8-3
Automatic merge from submit-queue

Make name validators return string slices

Part of the larger validation PR, broken out for easier review and merge.  Builds on previous PRs in the series.
2016-05-19 02:15:27 -07:00
Daniel Smith
98c91b9787 Merge pull request #25733 from wojtek-t/metric_by_content_type
Split request_count metric by contentType
2016-05-18 17:29:57 -07:00
Daniel Smith
6dc1437015 Merge pull request #25671 from deads2k/fix-add-indexer
make addIndexers safe for sharedInformer
2016-05-18 14:48:43 -07:00
Michal Fojtik
b7cd94d5e7 Add BatchClient into clientset adaption 2016-05-18 14:43:22 +02:00
k8s-merge-robot
48c90f15c5 Merge pull request #24509 from caesarxuchao/primitive-gc
Automatic merge from submit-queue

Adding garbage collector controller

Adding the propagator and garbage processor of the gc.

Design doc is at https://github.com/kubernetes/kubernetes/blob/master/docs/proposals/garbage-collection.md

<!-- 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/24509)
<!-- Reviewable:end -->
2016-05-18 03:14:25 -07:00
Tim Hockin
152c86ab06 Make name validators return string slices 2016-05-18 00:48:01 -07:00
Kris
925003b4bc Add mapper and typer based on discovery info 2016-05-17 21:02:35 -07:00
Wojciech Tyczynski
48a21be72b Fix client name for dynamic clients 2016-05-17 13:34:36 +02:00
zhangke
3eb9aff216 Update fake.go 2016-05-17 19:00:34 +08:00
deads2k
4a39cc9dd3 make addIndexers safe for sharedInformer 2016-05-16 10:15:05 -04:00
Ilya Dmitrichenko
a95ec884c5 Update basic example in client docs 2016-05-16 13:12:32 +01:00
k8s-merge-robot
c5d85c7822 Merge pull request #25221 from krousey/dynamic_client
Automatic merge from submit-queue

Adding patch and cleaning up namespace code

cc @kubernetes/sig-api-machinery
2016-05-16 01:45:45 -07:00
Chao Xu
c73406bcfe the garbage collector controller 2016-05-15 16:04:19 -07:00
Matt Liggett
f5e8d41431 Finish implementing policy API.
Registry implementation and addition to the master.
2016-05-13 17:27:58 -07:00
Saad Ali
5a99fcd21b Merge pull request #25431 from janetkuo/deployment-client-check
Add interface check in Deployment's client
2016-05-12 15:55:43 -07:00
Clayton Coleman
a84e62d9e6
Change ObjectKind signature to avoid allocations
We don't need to pass a pointer into SetGroupKindVersion() - a
struct works just as well.
2016-05-12 10:10:35 -04:00
Wojciech Tyczynski
2706df102b Merge pull request #25465 from wojtek-t/client_renegotiation
Support renegotiation in client based on response ContentType
2016-05-12 10:21:10 +02:00
Wojciech Tyczynski
5d046fed41 Fix tests for renegotiation 2016-05-12 08:21:11 +02:00
Wojciech Tyczynski
e48116bb75 Client renegotiation 2016-05-12 08:21:11 +02:00
k8s-merge-robot
0ef4c6407b Merge pull request #24902 from cjcullen/webhookAuthn
Automatic merge from submit-queue

Webhook Token Authenticator

Add a webhook token authenticator plugin to allow a remote service to make authentication decisions.
2016-05-11 22:08:58 -07:00
k8s-merge-robot
4e57c80052 Merge pull request #24600 from pweil-/psp
Automatic merge from submit-queue

PSP admission

```release-note
Update PodSecurityPolicy types and add admission controller that could enforce them
```

Still working on removing the non-relevant parts of the tests but I wanted to get this open to start soliciting feedback.

- [x] bring PSP up to date with any new features we've added to SCC for discussion
- [x] create admission controller that is a pared down version of SCC (no ns based strategies, no user/groups/service account permissioning)
- [x] fix tests

@liggitt @pmorie - this is the simple implementation requested that assumes all PSPs should be checked for each requests.  It is a slimmed down version of our SCC admission controller

@erictune @smarterclayton
2016-05-11 21:26:45 -07:00
k8s-merge-robot
ac50a70992 Merge pull request #25459 from errm/misspell
Automatic merge from submit-queue

Corrects some misspellings in comments

This should help to make
https://goreportcard.com/report/k8s.io/kubernetes#misspell
look a little nicer.
2016-05-11 19:18:30 -07:00
Kris
b99fc2818d Adding patch and cleaning up namespace code 2016-05-11 15:14:35 -07:00
Paul Weil
f11a4ab9a7 generated code 2016-05-11 18:07:36 -04:00
Paul Weil
53b1a9da90 PSP manual generator changes 2016-05-11 18:07:36 -04:00
Paul Weil
56193b7140 PSP types 2016-05-11 18:07:35 -04:00
k8s-merge-robot
e0f7de94f5 Merge pull request #25279 from piosz/hpa-ga
Automatic merge from submit-queue

Move internal types of hpa from pkg/apis/extensions to pkg/apis/autoscaling

ref #21577

@lavalamp could you please review or delegate to someone from CSI team?
@janetkuo could you please take a look into the kubelet changes?

cc @fgrzadkowski @jszczepkowski @mwielgus @kubernetes/autoscaling
2016-05-11 13:19:42 -07:00
k8s-merge-robot
7e7465e2d4 Merge pull request #25423 from caesarxuchao/dynamic-listoptions
Automatic merge from submit-queue

Let the dynamic client take runtime.Object instead of v1.ListOptions

so that I can pass whatever version of ListOptions to the List/Watch/DeleteCollection methods.

cc @krousey
2016-05-11 10:59:21 -07:00
Ed Robinson
afdbad078a
Corrects some misspellings in comments
This should help to make
https://goreportcard.com/report/k8s.io/kubernetes#misspell
look a little nicer.
2016-05-11 08:16:13 +01:00
Janet Kuo
feeb575112 Add interface check in Deployment's client 2016-05-10 16:11:17 -07:00
Chao Xu
c7d111280f let dynamic client take runtime.Object instead of v1.ListOptions 2016-05-10 16:05:31 -07:00
CJ Cullen
eb3b0e78b4 Add a webhook token authenticator plugin. 2016-05-10 14:54:35 -07:00
Maciej Szulik
5ef870d4c7 Added JobTemplate, a preliminary step for ScheduledJob and Workflow 2016-05-10 21:48:39 +02:00
Wojciech Tyczynski
3c089bff41 Merge pull request #25344 from wojtek-t/fix_dynamic_client_with_protobufs
Fix dynamic client in protobuf configuration
2016-05-09 15:06:43 +02:00
Wojciech Tyczynski
ca5f18370a Fix dynamic client in protobuf configuration 2016-05-09 13:52:10 +02:00
Wojciech Tyczynski
1ea0d46bb3 Set headers in Watch() and Stream() requests 2016-05-09 09:33:13 +02:00
Piotr Szczesniak
d8af147765 Helped generators by removing hpa clients 2016-05-09 09:32:50 +02:00
Piotr Szczesniak
800c1a4d36 Auto-generated changes 2016-05-09 09:32:50 +02:00
Wojciech Tyczynski
ac5d2cec44 Test if headers are set 2016-05-09 09:31:49 +02:00
Piotr Szczesniak
212b459817 Move internal types of hpa from pkg/apis/extensions to pkg/apis/autoscaling 2016-05-09 09:18:13 +02:00
k8s-merge-robot
f40fe7173b Merge pull request #24304 from cjcullen/cacheauth
Automatic merge from submit-queue

Support persisting config from kubecfg AuthProvider plugins

Plumbs through an interface to the plugin that can persist a `map[string]string` config for just that plugin. Also adds `config` to the AuthProvider serialization type, and `Login()` to the AuthProvider plugin interface.
Modified the gcp AuthProvider to cache short-term access tokens in the kubecfg file.

Builds on #23066 
@bobbyrullo @deads2k @jlowdermilk @erictune
2016-05-08 13:27:57 -07:00
k8s-merge-robot
5988080396 Merge pull request #23795 from mqliang/rc-ns-index
Automatic merge from submit-queue

add namespace index for cache

@wojtek-t 

Implement in this approach make the change of lister.go small, but we should replace all `NewInformer()` to `NewIndexInformer()`, even when someone not want to filter by namespace(eg. gc_controller and scheduler). Any suggestion?
2016-05-08 12:09:01 -07:00
CJ Cullen
13a7d92d0f Add a ConfigPersister for AuthProvider plugins in kubectl/clients. 2016-05-07 18:15:18 -07:00
CJ Cullen
86293810af Move ModifyConfig (and some related functions) into the clientcmd pkg. 2016-05-07 18:15:18 -07:00
k8s-merge-robot
3ee833ca3b Merge pull request #25006 from liggitt/third-party-root-scope
Automatic merge from submit-queue

Make ThirdPartyResource a root scoped object

ThirdPartyResource (the registration of a third party type) belongs at the cluster scope. It results in resource handlers installed in every namespace, and the same name in two namespaces collides (namespace is ignored when determining group/kind).

ThirdPartyResourceData (an actual instance of that type) is still namespace-scoped.

This PR moves ThirdPartyResource to be a root scope object. Someone previously using ThirdPartyResource definitions in alpha should be able to move them from namespace to root scope like this:

setup (run on 1.2):
```
kubectl create ns ns1

echo '{"kind":"ThirdPartyResource","apiVersion":"extensions/v1beta1","metadata":{"name":"foo.example.com"},"versions":[{"name":"v8"}]}' | kubectl create -f - --namespace=ns1

echo '{"kind":"Foo","apiVersion":"example.com/v8","metadata":{"name":"MyFoo"},"testkey":"testvalue"}' | kubectl create -f - --namespace=ns1
```

export:
```
kubectl get thirdpartyresource --all-namespaces -o yaml > tprs.yaml
```

remove namespaced kind registrations (this shouldn't remove the data of that type, which is another possible issue):
```
kubectl delete -f tprs.yaml
```

... upgrade ...

re-register the custom types at the root scope:
```
kubectl create -f tprs.yaml
```

Additionally, pre-1.3 clients that expect to read/write ThirdPartyResource at a namespace scope will not be compatible with 1.3+ servers, and 1.3+ clients that expect to read/write ThirdPartyResource at a root scope will not be compatible with pre-1.3 servers.
2016-05-06 20:50:35 -07:00
Matt Liggett
c00fa39eee Define PodDisruption API types. 2016-05-06 17:24:53 -07:00
Robert Bailey
1df0dfdaa8 Merge pull request #25122 from nowprovision/reflector-loop-missing-errorhandler-fix
Handle possible error in client reflector run loops
2016-05-06 14:06:35 -07:00
Robert Bailey
71ab966f99 Merge pull request #25188 from jsafrane/devel/fake-event-recorder-thread-safe
Make fake event recorder thread safe.
2016-05-06 14:05:13 -07:00
Robert Bailey
64e1240180 Merge pull request #25141 from jsafrane/devel/fix-store-race
Make threadSafeMap.ListIndexFuncValues thread safe.
2016-05-06 13:50:36 -07:00
mqliang
c10f43a2e5 implement AddIndexers for SharedIndexInformer 2016-05-06 21:23:18 +08:00
mqliang
9011207f18 add namespace index to rc and pod 2016-05-06 17:12:36 +08:00
Clayton Coleman
e0ebcf4216
Split the storage and negotiation parts of Codecs
The codec factory should support two distinct interfaces - negotiating
for a serializer with a client, vs reading or writing data to a storage
form (etcd, disk, etc). Make the EncodeForVersion and DecodeToVersion
methods only take Encoder and Decoder, and slight refactoring elsewhere.

In the storage factory, use a content type to control what serializer to
pick, and use the universal deserializer. This ensures that storage can
read JSON (which might be from older objects) while only writing
protobuf. Add exceptions for those resources that may not be able to
write to protobuf (specifically third party resources, but potentially
others in the future).
2016-05-05 12:08:23 -04:00
Prashanth Balasubramanian
6bc3052551 PetSet alpha controller 2016-05-04 18:39:17 -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
Jan Safranek
42d940735b Make threadSafeMap.ListIndexFuncValues thread safe.
Surprisingly, this method does not lock and I get data race reports
in my persistent volume unit tests (which use this map).
2016-05-04 18:18:00 +02:00
Jan Safranek
f4abfb2a0c Make fake event recorder thread safe.
The test recorder should be thread safe in case it's used in multiple
goroutines. This does not serve to ensure any order of recorded events,
only to prevent golang race detector to crash when two events are emitted by
concurrent goroutines.
2016-05-04 14:20:13 +02:00
Wojciech Tyczynski
3aadafd411 Use NegotiatedSerializer in client 2016-05-04 10:57:36 +02:00
Wojciech Tyczynski
b4c83022e3 Add NegotiatedSerializer to config 2016-05-04 10:02:58 +02:00
Matt Freeman
89e5e81bea Handle possible error in client reflector run loops 2016-05-04 05:01:54 +00:00
Kris
28132be07e Redo Unstructured to have accessor methods
Add accessor methods that implement pkg/api/unversioned.ObjectKind,
pkg/api/meta.Object, pkg/api/meta.Type and pkg/api/meta.List.

Removed the convenience fields since writing to them was not reflected
in serialized JSON.
2016-05-03 14:07:28 -07:00
Jordan Liggitt
e41d504739 Move ThirdPartyResource to root scoped object 2016-04-30 01:06:07 -04:00
Clayton Coleman
fdb110c859
Fix the rest of the code 2016-04-29 17:12:10 -04:00
k8s-merge-robot
2b7021add0 Merge pull request #17030 from csrwng/pf_cmd_streams
Automatic merge from submit-queue

Port-forward: use out and error streams instead of glog

Switches use of glog with command out and error streams
2016-04-29 09:27:47 -07: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
gmarek
3171aac57c Generated clients can return their RESTClients, RESTClient can return its RateLimiter 2016-04-27 22:15:10 +02:00
Cesar Wong
55114efcb7 Port-forward: use out and error streams instead of glog 2016-04-27 13:26:54 -04:00
zhouhaibing089
bf1a3f99c0 Uncomment the code that cause by #19254 2016-04-25 23:21:31 +08:00
Maciej Szulik
c470afc206 Generated changes for moving job internals from pkg/apis/extensions to pkg/apis/batch 2016-04-25 11:03:57 +02:00
Maciej Szulik
a3b4447305 Move internal types of job from pkg/apis/extensions to pkg/apis/batch 2016-04-25 11:03:54 +02:00
k8s-merge-robot
495251b983 Merge pull request #24166 from gmarek/client
Automatic merge from submit-queue

All clients under ClientSet share one RateLimiter.

Currently we create a rate limiter for each client in client set. It makes the reasoning about rate limiting behavior much harder. This PR changes this behavior and now all clients in the set share single rate limiter. Ref. #24157

cc @lavalamp @wojtek-t
2016-04-21 22:31:23 -07:00
k8s-merge-robot
f4beccf000 Merge pull request #23066 from cjcullen/clientplugin
Automatic merge from submit-queue

Client auth provider plugin framework

Allows client plugins to modify the underlying transport to, for example, add custom authorization headers.
2016-04-21 17:30:28 -07:00
gmarek
b76bed0cc9 All clients under ClientSet share one RateLimiter. 2016-04-21 18:48:22 +02:00
Chao Xu
8537095415 use fully qualified resource in fake clients actions 2016-04-20 19:44:40 -07:00
Prashanth Balasubramanian
0ac10c6cc2 PetSet type, apps apigroup 2016-04-20 18:49:31 -07:00
k8s-merge-robot
8a76a1bd36 Merge pull request #24234 from goltermann/vetclean
Automatic merge from submit-queue

Enable go vet.
2016-04-20 14:50:37 -07:00
k8s-merge-robot
6402b04cf3 Merge pull request #24395 from caesarxuchao/use-serializer
Automatic merge from submit-queue

client-gen: use serializer instead of codec for versioned client

For a versioned client, because the output of every client method is a versioned object, so it should use a serializer instead of a codec that does conversion.

@lavalamp @krousey
2016-04-20 10:48:41 -07:00
goltermann
3fa6c6f6d9 Enable vet 2016-04-20 09:48:24 -07:00
Chao Xu
4b5ef393c8 client-gen: use serializer instead of codec for versioned client 2016-04-19 13:42:07 -07:00
k8s-merge-robot
db28f73c3b Merge pull request #24282 from goltermann/spelling
Automatic merge from submit-queue

Fix misspellings in comments
2016-04-19 03:47:07 -07:00
k8s-merge-robot
822618afb5 Merge pull request #23912 from smarterclayton/watch_until
Automatic merge from submit-queue

Add watch.Until, a conditional watch mechanism

A more powerful tool than wait.Poll, allows a watch interface to drive conditionals to react to changes on a resource or resources. Provide a set of standard conditions that are in common use in the code, and updates e2e to use a few of these.

Extracted from #23567
2016-04-16 21:05:40 -07:00
k8s-merge-robot
167e4d03cc Merge pull request #23734 from sky-uk/fix-update-for-expired-events
Automatic merge from submit-queue

Fix expired event logic to use 404 instead of 500

It seems this logic was never updated once apiserver started returning 404s for expired (missing) events.

This change corrects it to use a 404 so events will get resent correctly if they were expired in etcd.

Fixes #23637.
2016-04-16 12:46:07 -07:00
Clayton Coleman
845e496572 Convert poll in e2e with watch.Until 2016-04-15 22:21:42 -04:00
Clayton Coleman
f89bde1415 Add watch.Until, a conditional watch mechanism
Also add helpers for collecting the events that happen during a watch
and a helper that makes it easy to start a watch from any object with
ObjectMeta.
2016-04-15 11:49:07 -04:00
CJ Cullen
03f9b5adc0 Add client auth plugin framework for kubectl with GCP auth plugin. 2016-04-14 17:49:16 -07:00
Daniel Smith
f0fad8ec3d Merge pull request #23985 from caesarxuchao/fix-23799
Handle empty perferredVersion
2016-04-14 16:56:07 -07:00
goltermann
c226c9435b Fix misspellings in comments.
https://goreportcard.com/report/k8s.io/kubernetes#misspell
2016-04-14 13:57:45 -07:00
deads2k
ac4c545b91 add act-as powers 2016-04-14 12:49:10 -04:00
k8s-merge-robot
1ccb4cf497 Merge pull request #23542 from caesarxuchao/clientset-release-1-3
Automatic merge from submit-queue

Clientset release 1.3

This PR creates the release 1.3 client set. We'll keep updating this client set until we cut release 1.3. In the meantime, the release 1.2 client set will be locked.

@lavalamp
2016-04-13 18:27:59 -07:00
Chao Xu
64e414fe39 e2e test for 1.3 2016-04-13 16:49:24 -07:00
goltermann
a3104ba96c Final vet fixes; enabling vet checks in verify scripts. 2016-04-13 13:51:51 -07:00
Chao Xu
31cd4c124d handle empty perferredVersion 2016-04-13 13:18:31 -07:00
Chao Xu
27ad11a503 created release 1.3 2016-04-13 13:02:40 -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
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
Jeff Lowdermilk
ade0e30313 Merge pull request #23814 from vbehar/fix_typo
fix typo (in godoc)
2016-04-08 12:57:15 -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
Vincent Behar
efe7775578 fix typo 2016-04-04 14:40:01 +02: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
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
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
James Ravn
5f9ee58de0 Fix expired event logic to use 404 instead of 500
It seems this logic was never updated once apiserver started returning
404s for expired (missing) events.

This change corrects it to use a 404 so events will get resent correctly
if they were expired in etcd.
2016-04-01 16:52:43 +01:00
k8s-merge-robot
07929972a3 Merge pull request #18835 from brendandburns/3rdparty
Automatic merge from submit-queue

Add support for 3rd party objects to kubectl

@deads2k @jlowdermilk

Instructions for playing around with this:

Run an apiserver with third party resources turned on (`--runtime-config=extensions/v1beta1=true,extensions/v1beta1/thirdpartyresources=true`)

Then you should be able to:

```
kubectl create -f rsrc.json
```

```json
{
  "metadata": {
    "name": "foo.company.com"
  },
  "apiVersion": "extensions/v1beta1",
  "kind": "ThirdPartyResource",
  "versions": [
    {
      "apiGroup": "group",
      "name": "v1"
    },
    {
      "apiGroup": "group",
      "name": "v2"
    }
  ]
}
```

Once that is done, you should be able to:

```
curl http://<server>/apis/company.com/v1/foos
```

```
curl -X POST -d @${HOME}/foo.json http://localhost:8080/apis/company.com/v1/namespaces/default/foos
```

```json
{
  "kind": "Foo",
  "apiVersion": "company.com/v1",
  "metadata": {
    "name": "baz"
  },
  "someField": "hello world",
  "otherField": 1
}
```

After this PR, you can do:

```
kubectl create -f foo.json
```

```
kubectl get foos
```

etc.
2016-03-31 18:09:56 -07:00
Chao Xu
49559a3332 Generate the typed clients under the clientset folder 2016-03-31 15:28:45 -07:00
Chao Xu
674d083092 temporarily disable goroutine calls to testing.T.Logf to avoid race 2016-03-31 11:43:38 -07:00
Brendan Burns
be6c5b332b Add third party support to kubectl 2016-03-31 10:53:32 -07:00
Wojciech Tyczynski
2699be2e7e Switch api.ObjetaMetaFor to meta.Accessor 2016-03-31 17:52:31 +02:00
k8s-merge-robot
baf7d8e9ff Merge pull request #23393 from smarterclayton/reflect_watch
Auto commit by PR queue bot
2016-03-26 13:33:37 -07:00
k8s-merge-robot
1ad3049ed6 Merge pull request #23288 from smarterclayton/refactor_codec
Auto commit by PR queue bot
2016-03-26 10:47:58 -07: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
k8s-merge-robot
f6fac0e4de Merge pull request #23443 from goltermann/vet2
Auto commit by PR queue bot
2016-03-25 23:43:44 -07:00
Chao Xu
3aa26565fc move fake discovery client to pkg/client/typed/discovery/fake 2016-03-25 16:02:08 -07:00
goltermann
32d569d6c7 Fixing all the "composite literal uses unkeyed fields" Vet errors. 2016-03-25 15:25:09 -07:00
Marcin Wielgus
c640256917 Shorten execution time of HPA tests 2016-03-25 13:02:55 +01:00
harry
8472cfa214 Refactor throttle into util pkg
Fix missing throttle.go
2016-03-25 08:32:23 +08:00
Clayton Coleman
206308ea14 Provide better log output and name for reflectors
Reflectors started from goroutines are broken because Go doesn't allow
runtime.Callers to see the spawning goroutine. Do a best effort parse of
the call stack for now.

Add logging so that we can easily see which reflectors processes launch,
and measure in logs the frequency of sync intervals.
2016-03-24 17:37:31 -04:00
Clayton Coleman
54eaa56b92 Add a streaming and "raw" abstraction to codec factory 2016-03-23 17:25:20 -04: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
k8s-merge-robot
a1cd7311f7 Merge pull request #23123 from rata/master
Auto commit by PR queue bot
2016-03-22 05:03:02 -07:00
Rodrigo Campos
c0af96ccc2 Make "--insecure-skip-tls-verify" work on all cases
In the getting started example of AWS, the master uses an IP that is changed on
stop/start. If you are playing with a cluster and stop and start the master,
the IP is changed and you can't connect again, even using the
"--insecure-skip-tls-verify" option.

This patch fixes it and makes the option work on those cases too by making
sure no CA/CAData is added when it shouldn't.
2016-03-21 16:31:31 -03:00
harry
b0900bf0d4 Refactor diff into sub pkg 2016-03-21 20:21:39 +08:00
Harry Zhang
a4d04095d0 Refactor crlf & crypto 2016-03-21 20:20:05 +08:00
k8s-merge-robot
b9b3b5eb4c Merge pull request #23175 from AdoHe/request_slow_log
Auto commit by PR queue bot
2016-03-19 22:08:11 -07:00
AdoHe
6c84fe5a69 change throttling debug output log level 2016-03-18 00:19:53 -04:00
deads2k
ab03317d96 support CIDRs in NO_PROXY 2016-03-16 16:22:54 -04:00
k8s-merge-robot
460ece34d5 Merge pull request #22928 from caesarxuchao/print-client-gen-command
Auto commit by PR queue bot
2016-03-16 00:38:39 -07:00
k8s-merge-robot
204d426dd3 Merge pull request #22310 from krousey/adapterbreak
Auto commit by PR queue bot
2016-03-15 14:28:38 -07:00
k8s-merge-robot
7d0de5c7d6 Merge pull request #19905 from ixdy/export-go-version
Auto commit by PR queue bot
2016-03-14 15:51:30 -07:00
k8s-merge-robot
2458871b52 Merge pull request #22746 from deads2k/fix-discover-config
Auto commit by PR queue bot
2016-03-14 15:15:16 -07:00
Kris
4d404ded1a Moving adapters to their own packages 2016-03-14 14:22:34 -07:00
Jeff Grafton
fb663f2cd5 Include Go version, platform, and other build info in version string
Additionally update MatchesServerVersion to only check GitVersion,
GitCommit, and GitTreeState.
2016-03-14 13:55:28 -07:00
Chao Xu
ec02dfc9f0 generated changes 2016-03-14 10:28:20 -07:00
Jordan Liggitt
d008283942 Tolerate multiple registered versions in a single group 2016-03-12 12:49:41 -05:00
Chao Xu
a6240c1ab8 add FullyLabeledReplicas in Replicaset Status and ReplicationController Status 2016-03-11 23:55:04 -08:00
nikhiljindal
593b78f925 Deprecating --api-version flag 2016-03-11 10:12:44 -08:00
deads2k
7fdbea8a53 add user-agent defaulting for discovery 2016-03-10 13:32:31 -05: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
k8s-merge-robot
95ab1936ea Merge pull request #22559 from krousey/discbreak
Auto commit by PR queue bot
2016-03-06 12:47:07 -08:00
Joshua Piccari
f5f83b076a Improve go report card by fixing typos in comments 2016-03-04 18:30:59 -08:00
Kris
dbde4fd798 Move the discovery client to its own package 2016-03-04 13:44:52 -08:00
Abhi Shah
b25a48d605 Revert "Move discovery client to its own package" 2016-03-04 09:24:54 -08:00
Abhi Shah
627edd2588 Merge pull request #22016 from krousey/discbreak
Move discovery client to its own package
2016-03-04 09:17:46 -08:00
k8s-merge-robot
0ff7186138 Merge pull request #22321 from WeixuZhuang/unit
Auto commit by PR queue bot
2016-03-04 02:29:31 -08:00
derekwaynecarr
3bda581957 Add ability to manage a pool of dynamic clients 2016-03-02 23:23:06 -05:00
k8s-merge-robot
d81d823ca5 Merge pull request #22393 from eparis/blunderbuss
Auto commit by PR queue bot
2016-03-02 18:51:56 -08:00
Eric Paris
5e5a823294 Move blunderbuss assignees into tree 2016-03-02 20:46:32 -05:00
weixu
fb13a0d4b0 Remove unused import package from pkg/client/unversioned/daemon_sets_test.go
To make it pass the unit test, following is previous failing log for unit test

_output/dockerized/go/src/k8s.io/kubernetes/pkg/client/unversioned/daemon_sets_test.go:20: imported and not used: "k8s.io/kubernetes/pkg/client/unversioned"
ok  	k8s.io/kubernetes/pkg/client/restclient	0.056s
ok  	k8s.io/kubernetes/pkg/client/transport	0.368s
ok  	k8s.io/kubernetes/pkg/client/typed/dynamic	0.039s
FAIL	k8s.io/kubernetes/pkg/client/unversioned [build failed]
2016-03-01 16:15:16 -08:00
nikhiljindal
b65180c314 Update updatePodWithRetries to get and then update 2016-03-01 14:40:21 -08:00
Kris
f22664159e Move the discovery client to its own package 2016-02-29 15:37:21 -08:00
Kris
e664ef922f Move restclient to its own package 2016-02-29 12:05:13 -08:00
k8s-merge-robot
1d4a9e88e0 Merge pull request #20628 from sttts/sttts-old-mergo-lib
Auto commit by PR queue bot
2016-02-28 04:24:09 -08:00
deads2k
cf6234d219 add prioritized RESTMapper to registered 2016-02-25 07:35:23 -05:00
Alex Robinson
2b13bc471b Merge pull request #21892 from jayunit100/backoff-flake-fix
fake backoff implementation for speeding up flakey test
2016-02-24 16:26:56 -08:00
Brian Grant
bea349a80d Merge pull request #21856 from bprashanth/ttl_race
Lock across item expiration in the ttl store.
2016-02-24 15:06:25 -08:00
Prashanth Balasubramanian
45eb835833 Lock across item expiration in the ttl store. 2016-02-24 14:06:18 -08:00
jay vyas
4097cfe022 fake backoff implementation for speeding up flakey test, fake Clock Test for sleep 2016-02-24 13:50:29 -05:00
k8s-merge-robot
9b9b4fee11 Merge pull request #21278 from pweil-/include-discovery
Auto commit by PR queue bot
2016-02-22 09:31:53 -08:00
k8s-merge-robot
aee2eb3977 Merge pull request #21434 from erictune/job-ga
Auto commit by PR queue bot
2016-02-22 00:12:54 -08:00
k8s-merge-robot
99c1df19b1 Merge pull request #21377 from wojtek-t/log_if_throttled
Auto commit by PR queue bot
2016-02-21 08:09:25 -08:00
k8s-merge-robot
3efdc1e08b Merge pull request #21266 from deads2k/only-load-kubeconfig-once
Auto commit by PR queue bot
2016-02-20 14:00:38 -08:00
Janet Kuo
cf2bbc0d6d Fix a bug when getting deployments for RS 2016-02-19 11:42:17 -08:00
k8s-merge-robot
c3a962bff5 Merge pull request #20351 from krousey/dynamic_client
Auto commit by PR queue bot
2016-02-19 10:00:54 -08:00
Eric Tune
175addf2a3 Implemented Batch client 2016-02-19 09:20:56 -08:00
Eric Tune
d5f303d3d7 Fixed and added tests 2016-02-19 09:20:56 -08:00
Eric Tune
98a801a37b Created batch API group and copied Job there
Modeled after on first commit (2fbc5bb) of piosz:hpa-ga (#20501).
2016-02-19 09:20:56 -08:00
k8s-merge-robot
eb45154996 Merge pull request #21348 from caesarxuchao/generate-fake-for-1-2
Auto commit by PR queue bot
2016-02-18 23:02:05 -08:00
Fabiano Franz
97d106e5ab Use correct home directory on Windows 2016-02-19 01:41:42 -02:00
k8s-merge-robot
f1cbaed60f Merge pull request #17493 from feihujiang/supportSubresourceOfServiceProxy
Auto commit by PR queue bot
2016-02-18 18:22:59 -08:00
Wojciech Tyczynski
ba28dd9561 Long requests throttled for long time 2016-02-18 21:48:29 +01:00
k8s-merge-robot
5acdb92126 Merge pull request #21177 from laushinka/spelling-fixes
Auto commit by PR queue bot
2016-02-18 10:29:49 -08:00
k8s-merge-robot
17325ef6ef Merge pull request #20501 from piosz/hpa-ga
Auto commit by PR queue bot
2016-02-18 06:52:39 -08:00
feihujiang
ac9f890238 Support the subresource of service proxy 2016-02-18 15:16:05 +08:00
Chao Xu
ad46715f51 generate fake client for release_1_2 2016-02-17 16:10:02 -08:00
laushinka
7ef585be22 Spelling fixes inspired by github.com/client9/misspell 2016-02-18 06:58:05 +07:00
deads2k
8c326993d5 only load kubeconfig files one time 2016-02-17 12:55:28 -05:00
Paul Weil
6cf26a41c0 include discovery client in adaptor 2016-02-16 15:21:19 -05:00
Chao Xu
97aecd002a remove underscore in imported pkg names 2016-02-16 10:54:51 -08:00
Piotr Szczesniak
d9705940d6 Fixed and added tests 2016-02-15 21:39:00 +01:00
Piotr Szczesniak
d2f11521cb Implemented Autoscaling client 2016-02-15 21:39:00 +01:00
Piotr Szczesniak
2fbc5bb767 Created autoscaling API group and copied HPA there 2016-02-15 21:39:00 +01:00
k8s-merge-robot
e62cf38fa9 Merge pull request #21104 from krousey/throttle_client
Auto commit by PR queue bot
2016-02-15 00:44:14 -08:00
k8s-merge-robot
39a9043b8e Merge pull request #21095 from liggitt/sa-namespace
Auto commit by PR queue bot
2016-02-14 22:13:10 -08:00
k8s-merge-robot
ee33ed2cf5 Merge pull request #20981 from madhusudancs/labelselector-error-string-fix
Auto commit by PR queue bot
2016-02-14 03:14:46 -08:00
Kris
4c58302b5b Adding dynamic client 2016-02-12 11:49:00 -08:00
Kris
8396df57e6 Never rate limit watches 2016-02-11 13:50:05 -08:00
Jordan Liggitt
20216fa607 Provide current namespace to InClusterConfig 2016-02-11 15:51:31 -05:00
Chao Xu
1c84552757 generate the versioned clientset 2016-02-10 17:22:46 -08:00
Madhusudan.C.S
525d7a7732 Fix the label selector to selector conversion error string.
The message as it is framed right now does not make any sense for the
end users of our system. It might even lead to confusion. So this is
attempt to make the error message less confusing.
2016-02-10 09:43:30 -08:00
k8s-merge-robot
41a98b43e4 Merge pull request #19840 from madhusudancs/replicaset-deployment
Auto commit by PR queue bot
2016-02-09 18:57:42 -08:00
k8s-merge-robot
b98d9a21a1 Merge pull request #20818 from deads2k/remove-mixed-case
Auto commit by PR queue bot
2016-02-09 05:06:45 -08:00
k8s-merge-robot
7b5136ee73 Merge pull request #20623 from magicwang-cn/20136
Auto commit by PR queue bot
2016-02-09 01:11:28 -08:00
Madhusudan.C.S
ed7ad6dcf3 Make deployments work. 2016-02-08 21:27:49 -08:00
Madhusudan.C.S
518f08aa7c Move Deployments to ReplicaSets and switch the Deployment selector to the new LabelSelector.
Update the Deployments' API types, defaulting code, conversions, helpers
and validation to use ReplicaSets instead of ReplicationControllers and
LabelSelector instead of map[string]string for selectors.

Also update the Deployment controller, registry, kubectl subcommands,
client listers package and e2e tests to use ReplicaSets and
LabelSelector for Deployments.
2016-02-08 21:27:38 -08:00
k8s-merge-robot
8fcc105d6d Merge pull request #20444 from ncdc/flake/19466
Auto commit by PR queue bot
2016-02-08 20:46:03 -08:00
Andy Goldstein
a45247ad2a Fix exec/attach test flakes
Ensure that stream reply frames are enqueued prior to any goaway frames.
2016-02-08 21:33:23 -05:00
deads2k
6d71421ae1 eliminate mixed case from RESTMapper 2016-02-08 15:33:31 -05:00
Jan Chaloupka
4389b3f0d6 Rewritte util.* -> wait.* wherever reasonable 2016-02-07 12:02:20 +01:00
k8s-merge-robot
9de1b9b8c2 Merge pull request #20388 from mqliang/event-version
Auto commit by PR queue bot
2016-02-06 03:37:34 -08:00
Daniel Smith
da10ef387f Merge pull request #20761 from mikedanese/revert-20702
this is a manual reversion of #20702
2016-02-05 17:07:47 -08:00
Mike Danese
b1743a6887 this is a manual reversion of #20702
I can't revert with github which says "Sorry, this pull request couldn’t be
reverted automatically. It may have already been reverted, or the content may
have changed since it was merged."

Reverts commit: 0c191e787b
2016-02-05 16:34:02 -08:00
Daniel Smith
8f3eb93626 Merge pull request #20072 from smarterclayton/higher_debug
Move the loader file log level to v(6)
2016-02-05 16:03:07 -08:00
Daniel Smith
9b68e8ec2b Merge pull request #20269 from mqliang/sync-delta-fifo
add a HasSynced() for DeltaFIFO and FIFO, method, which is very helpful for Informer
2016-02-05 15:51:50 -08:00
Chao Xu
184440f8ef rename release_1_2 to internalclientset 2016-02-05 14:02:28 -08:00
Paul Weil
03261146b0 api 2016-02-05 08:45:50 -05:00
gmarek
0c191e787b Split controller flags between controllers 2016-02-05 12:17:51 +01:00
Daniel Smith
2e7993e057 Merge pull request #20674 from caesarxuchao/decode-status
To be compatible with release 1.1, decode Status even if the APIVersion is not set in the response
2016-02-04 23:27:47 -08:00
Daniel Smith
d84ac764a9 Merge pull request #20492 from erictune/labselunver
Move extensions.LabelSelector to unversioned
2016-02-04 23:17:40 -08:00
Chao Xu
0d772a7a52 To be compatible with release 1.1, decode Status even if the APIVersion is not set. 2016-02-04 16:12:17 -08:00
Chao Xu
1b047f8e67 rename legacy to core 2016-02-04 14:26:56 -08:00
Eric Tune
6133cb1f21 Move extensions.LabelSelector to unversioned.
Move type LabelSelector and type LabelSelectorRequirement from pkg/apis/extensions
This avoids an import loop when Job (and later DaemonSet, Deployment, ReplicaSet)
are moved out of extensions to new api groups.

Also Move LabelSelectorAsSelector utility from pkg/apis/extensions/ to pkg/api/unversioned/
Also its test.
Also LabelSelectorOp* constants.
Also the pkg/apis/extensions/validation functions ValidateLabelSelectorRequirement and
ValidateLabelSelector move to pkg/api/unversioned

The related type in pkg/apis/extensions/v1beta1/ is staying there.  I might move
it in another PR if neccessary.
2016-02-04 13:46:34 -08:00
Dr. Stefan Schimanski
98b11e82d5 Add explicit test case for old mergo.Merge behavior 2016-02-04 08:16:32 +01:00
k8s-merge-robot
65ebe19164 Merge pull request #20584 from caesarxuchao/release_1_2
Auto commit by PR queue bot
2016-02-03 19:46:27 -08:00
magicwang-cn
2d701e8ac8 bug fix in unversion request 2016-02-04 11:07:00 +08:00
Chao Xu
f9f5736b01 grep sed 2016-02-03 13:06:07 -08:00
derekwaynecarr
070dce1bec Fix DeleteCollection in FakeClient 2016-02-03 14:39:24 -05:00
k8s-merge-robot
5914deeac8 Merge pull request #19380 from brendandburns/apiresource
Auto commit by PR queue bot
2016-02-03 00:49:47 -08:00
k8s-merge-robot
843c11e06a Merge pull request #20452 from caesarxuchao/replace-client-kubelet
Auto commit by PR queue bot
2016-02-02 23:46:58 -08:00
Chao Xu
cddd7b56a4 replace client with clientset in kubelet and other places 2016-02-02 20:28:45 -08:00
Chao Xu
fe7887f1ec replace the client with clientset in controllers 2016-02-02 20:28:45 -08:00
mqliang
8e615df000 fix the HasSynced() bug for Informer 2016-02-03 11:40:11 +08:00
k8s-merge-robot
8d540506ae Merge pull request #20523 from caesarxuchao/generate-fake-clientset
Auto commit by PR queue bot
2016-02-02 17:28:24 -08:00
Jeff Lowdermilk
caa9433234 Merge pull request #20433 from lavalamp/fix-bad-rv
Add timeout, fix potential startup hang
2016-02-02 17:27:23 -08:00
Chao Xu
66f5cd259d automatically generate the clientset 2016-02-02 16:06:43 -08:00
k8s-merge-robot
32ab64ce5b Merge pull request #19778 from resouer/runtime
Auto commit by PR queue bot
2016-02-01 21:05:05 -08:00
k8s-merge-robot
ba13454430 Merge pull request #19855 from mitake/remove-v
Auto commit by PR queue bot
2016-02-01 17:18:42 -08:00
Daniel Smith
4a7d70aef1 extend fake clock 2016-02-01 15:36:15 -08:00
k8s-merge-robot
2746b5e43d Merge pull request #20320 from caesarxuchao/add-discovery
Auto commit by PR queue bot
2016-02-01 14:35:27 -08:00
harry
1032067ff9 Replace runtime reference by pkg 2016-02-01 21:06:44 +08:00
k8s-merge-robot
dff7490c57 Merge pull request #20312 from caesarxuchao/replace-many-controllers
Auto commit by PR queue bot
2016-01-31 18:42:26 -08:00
k8s-merge-robot
9d9864486b Merge pull request #19342 from caesarxuchao/remove-resourceversion-check
Auto commit by PR queue bot
2016-01-31 18:11:47 -08:00
Chao Xu
7722a50647 generate client for replicaset 2016-01-31 15:42:03 -08:00
Chao Xu
c72d234bbf replacing handwritten client in several controllers 2016-01-31 15:42:02 -08:00
Chao Xu
90b4662d8d Add services/status path, and let the service controller uses Services.UpdateStatus() 2016-01-31 12:39:45 -08:00
Chao Xu
55f039fd53 add an adapter for EventSink 2016-01-31 11:36:36 -08:00
Chao Xu
e2d02abb83 fix fixture for #17922 2016-01-31 11:36:36 -08:00
Chao Xu
c1b4d28a03 add an adaption function to adapt old client 2016-01-31 11:36:36 -08:00
mqliang
1c9b12fe72 make eventType versioned correctly 2016-01-31 21:14:08 +08:00
k8s-merge-robot
f915ca55d0 Merge pull request #20095 from liggitt/load_tls_files
Auto commit by PR queue bot
2016-01-30 20:25:33 -08:00
Janet Kuo
3396db9510 Add rollback subresource; add rollback logic to deployment controller 2016-01-30 16:00:34 -08:00
k8s-merge-robot
4ed43968e0 Merge pull request #19581 from janetkuo/deployment-version
Auto commit by PR queue bot
2016-01-30 13:34:59 -08:00
Janet Kuo
42f712467e Use ListOptions when listing RCs in deployment 2016-01-30 12:04:35 -08:00
Clayton Coleman
8692d260f8 Use Parameter codec in request.VersionedParams() 2016-01-30 14:14:20 -05:00
Alex Robinson
9c099bf529 Merge pull request #20271 from liggitt/event_panic
Handle panic in async event reporting
2016-01-30 10:49:38 -08:00
k8s-merge-robot
783d1d00d7 Merge pull request #20139 from janetkuo/rcList-namespace
Auto commit by PR queue bot
2016-01-30 09:42:35 -08:00
k8s-merge-robot
0069c901d9 Merge pull request #20341 from caesarxuchao/ingress-plural
Auto commit by PR queue bot
2016-01-29 15:11:16 -08:00
Chao Xu
8531ef4979 change ingress and componentstatus plural form 2016-01-29 11:21:04 -08:00
Chao Xu
dd357ed86a include DiscoveryClient in the generated clientset 2016-01-29 11:03:03 -08:00
Fabio Yeon
e827c1cba3 Merge pull request #19746 from madhusudancs/replicaset-client
Implement ReplicaSet client.
2016-01-29 07:26:23 -08:00
Madhusudan.C.S
73fb6dca62 DaemonSetSpec.Template should not be a pointer.
Pod template for DaemonSets isn't optional, like Deployments and Jobs,
so the DaemonSetSpec.Template field should not be a pointer.
2016-01-28 22:51:58 -08:00
Madhusudan.C.S
c25a0ce00d Implement ReplicaSets client. 2016-01-28 22:36:22 -08:00
Paul Morie
9030f16071 Move ConfigMap to main API 2016-01-28 17:07:05 -05:00
Jordan Liggitt
4ba6a2541b Handle panic in async event reporting 2016-01-28 11:47:16 -05:00
k8s-merge-robot
458eb5284a Merge pull request #19105 from smarterclayton/prepare_negotiate
Auto commit by PR queue bot
2016-01-27 13:35:30 -08:00
Chao Xu
c7ca0821da Add service_expansion.go 2016-01-26 17:09:11 -08:00
k8s-merge-robot
67939eb933 Merge pull request #19958 from caesarxuchao/fix-resource-case
Auto commit by PR queue bot
2016-01-26 16:46:41 -08:00
Clayton Coleman
38c7eded99 Prepare for content-type negotiation
Combine the fields that will be used for content transformation
(content-type, codec, and group version) into a single struct in client,
and then pass that struct into the rest client and request. Set the
content-type when sending requests to the server, and accept the content
type as primary.

Will form the foundation for content-negotiation via the client.
2016-01-26 17:44:30 -05:00
Janet Kuo
14f4f1b065 Make listing deployment rcStore namespaced 2016-01-25 19:13:17 -08:00
Jordan Liggitt
669be92ca5 Restore LoadTLSFiles to client.Config 2016-01-25 12:48:35 -05:00
k8s-merge-robot
d7d601b2fc Merge pull request #18876 from erictune/dynamic-job
Auto commit by PR queue bot
2016-01-25 08:06:22 -08:00
k8s-merge-robot
d3b869ae14 Merge pull request #17922 from smarterclayton/split_codec
Auto commit by PR queue bot
2016-01-25 06:30:39 -08:00
Clayton Coleman
a2f68e2591 Move the loader file log level to v(6)
It's extremely rare that a user *must* have this, and we typically test
and verify at V(5) to get debugging info, which clogs up e2e output.
2016-01-24 19:08:20 -05:00
Eric Tune
53ee76fe1a Support Work Queue jobs with variable parallelism
When job.spec.completions is nil, only
one task needs to succeed for the job to succeed,
and parallelism can be scaled freely during runtime.

Added tests.

Release Note:

This causes two minor changes to the API.

First, unset parallelism previously was defaulted to be
equal to completions.  Now it always defaults to 1 if unset.

Second, having parallelism=N and completions unset would previously
be defaulted to 1 completion and N parallelism.
(this is not something we expect people to do, though)
Now, no defaulting occurs in that case, and the job's
behavior is different (any completion causes success).
2016-01-22 14:57:51 -08:00
Zach Loafman
62726c4ab8 Revert "kubectl: Make scaling smarter" 2016-01-22 14:52:38 -08:00
Clayton Coleman
3262d8efd8 GENERATED: all 2016-01-22 13:27:28 -05:00
Clayton Coleman
33085c0cf2 Update tests to handle codec changes 2016-01-22 13:27:26 -05:00
Clayton Coleman
efe88e0818 Update client library to react to changes in Decoding 2016-01-22 13:27:24 -05:00
Zach Loafman
68771fe26a Merge pull request #18169 from kargakis/smarter-scaling
kubectl: Make scaling smarter
2016-01-22 10:24:51 -08:00
Zach Loafman
f3a638de31 Merge pull request #16067 from smarterclayton/backoff_conflict
Provide a RetryOnConflict helper for client libraries
2016-01-22 10:23:19 -08:00
Chao Xu
a248d1117b remove ResourceVersion validation in client 2016-01-22 10:14:39 -08:00
Clayton Coleman
24a7919002 Update clientcmd.Config to use new Decode methods 2016-01-22 01:10:23 -05:00
Nikhil Jindal
cd2e0c490e Merge pull request #19674 from nikhiljindal/latestAndRegistered
Merge registered and latest and move to apimachinery
2016-01-21 17:19:49 -08:00
Alex Mohr
69b28ce7e5 Merge pull request #19892 from krousey/rtwrap
Add WrappedRoundTripper methods to round trippers
2016-01-21 16:04:51 -08:00
Chao Xu
0734248e42 Use lowercase names in individual typed clients 2016-01-21 15:01:47 -08:00
Chao Xu
030043b5be Ingress's plural 2016-01-21 15:01:47 -08:00
Alex Mohr
ba6c939b3e Merge pull request #19887 from liggitt/export_transports
Export transport constructors
2016-01-21 14:54:40 -08:00
nikhiljindal
2ad642d370 Merge registered and latest and move to apimachinery 2016-01-21 14:42:21 -08:00
Alex Mohr
d2d349bc84 Merge pull request #19334 from resouer/network
Networking should be used to hold network related pkgs
2016-01-21 10:26:13 -08:00
k8s-merge-robot
dda29bedd8 Merge pull request #18722 from deads2k/add-sar
Auto commit by PR queue bot
2016-01-21 07:06:05 -08:00
k8s-merge-robot
03ecde1277 Merge pull request #17535 from mesosphere/jdef_abspath_breaks_proxies
Auto commit by PR queue bot
2016-01-20 21:46:47 -08:00
Chao Xu
ee6f03f55a Fix UpdateStatus 2016-01-20 21:15:07 -08:00
Clayton Coleman
4342fccc0d Provide a RetryOnConflict helper for client libraries
Used like:

    var pod *api.Pod
    err := client.RetryOnConflict(client.DefaultBackoff, func() (err error) {
      pod, err = c.Pods("mynamespace").UpdateStatus(update)
      return
    })
    // err may be conflict
2016-01-20 22:58:16 -05:00
Kris
8cc483dc74 Add WrappedRoundTripper methods to round trippers
Proxy dialing code relies on this to get to the underlying
http.Transport for custom dialers and TLSConfigs.
2016-01-20 15:39:57 -08:00
liggitt
605979673b Export transport constructors 2016-01-20 17:30:40 -05:00
deads2k
14396fc464 add subject access review types 2016-01-20 08:24:15 -05:00
Hitoshi Mitake
a33f459c39 clientcmd: remove needless format specifier in a log
Current BuildConfigFromFlags() seems to print a log like below when
config path isn't specified:
```
W0120 15:30:06.196820   13323 client_config.go:359] error creating
inClusterConfig, falling back to default config: %vunable to load
in-cluster configuration, KUBERNETES_SERVICE_HOST and
KUBERNETES_SERVICE_PORT must be defined
```

This commit removes the needless "%v"
2016-01-20 15:36:52 +09:00
k8s-merge-robot
ecf6038720 Merge pull request #19734 from caesarxuchao/generate-fake-client
Auto commit by PR queue bot
2016-01-19 20:42:59 -08:00
Chao Xu
fb81b2278e client-gen now generates the fake client. 2016-01-19 17:27:17 -08:00
James DeFelice
75f487f7bf AbsPath should be compatible with proxy-prefixes:
- replace Config.Prefix with .Host and .APIPath
- Request .path promoted to .pathPrefix, .baseURL holds required prefix
2016-01-20 00:31:58 +00:00
Mike Danese
a885d84cc9 leaderelection: retrofit controller-manager with leaderelection client
Signed-off-by: Mike Danese <mikedanese@google.com>
2016-01-18 14:05:55 -08:00
k8s-merge-robot
a5e79a9f47 Merge pull request #19536 from bprashanth/daemon_replace
Auto commit by PR queue bot
2016-01-17 04:22:56 -08:00
k8s-merge-robot
4010c214e4 Merge pull request #19752 from hongchaodeng/listandwatch
Auto commit by PR queue bot
2016-01-15 23:01:37 -08:00
Hongchao Deng
9a10e95f6e docs: Reflector ListAndWatch 2016-01-15 18:19:19 -08:00
Mike Danese
936c8cd597 Merge pull request #19685 from resouer/testing
Replace fake handler using testing pkg
2016-01-15 17:47:53 -08:00
Chao Xu
9d23d75071 Merge pull request #19499 from caesarxuchao/scale-client-gen
client-gen: typed client with only the expansion interface
2016-01-15 15:49:25 -08:00
harry
98222b4d8b Replace to tag
Use a testing pkg to replace testing util codes
2016-01-15 15:07:21 +08:00
k8s-merge-robot
ec002e52ab Merge pull request #19661 from mikedanese/le-config
Auto commit by PR queue bot
2016-01-14 22:27:14 -08:00
Harry Zhang
936a11e775 Use networking to hold network related pkgs
Change names of unclear methods

Use net as pkg name for short
2016-01-15 13:46:16 +08:00
Chao Xu
b8be5e1340 generate client for scale, which has only the expansion interface 2016-01-14 12:14:00 -08:00
Mike Danese
daa7040195 move leader election configuration into component configuration
Signed-off-by: Mike Danese <mikedanese@google.com>
2016-01-14 11:20:09 -08:00
Chao Xu
ec9771ccb6 add nonNamespaced comment tag; change the interface name 2016-01-14 10:46:08 -08:00
k8s-merge-robot
36dc6eab34 Merge pull request #19300 from caesarxuchao/move-SwaggerSchema-to-disocovery
Auto commit by PR queue bot
2016-01-13 23:20:08 -08:00
k8s-merge-robot
5007d7c4a9 Merge pull request #19492 from caesarxuchao/add-manual-methods
Auto commit by PR queue bot
2016-01-13 16:53:42 -08:00
k8s-merge-robot
ec78f3d5a9 Merge pull request #19349 from caesarxuchao/generate-updatestatus
Auto commit by PR queue bot
2016-01-13 16:51:33 -08:00
Chao Xu
5addb86f6a conditionally generate UpdateStatus method 2016-01-13 15:45:21 -08:00
k8s-merge-robot
e7f29514ab Merge pull request #19307 from caesarxuchao/remove-namespaceifscoped
Auto commit by PR queue bot
2016-01-13 11:01:54 -08:00
Chao Xu
6a104ee46c move SwaggerSchema to DiscoveryClient 2016-01-13 10:11:53 -08:00
Chao Xu
144b5acd08 move ServerVersion to DiscoveryClient 2016-01-13 10:11:52 -08:00
He Simei
7dacd3fe61 use param indices 2016-01-13 19:23:58 +08:00
Mike Danese
f71657d9a6 retrofit the scheduler with the leader election client.
Signed-off-by: Mike Danese <mikedanese@google.com>
2016-01-12 21:37:03 -08:00
k8s-merge-robot
a47c170377 Merge pull request #19356 from mikedanese/le-2
Auto commit by PR queue bot
2016-01-12 21:33:34 -08:00
k8s-merge-robot
6d367480f9 Merge pull request #19267 from caesarxuchao/options-client-gen
Auto commit by PR queue bot
2016-01-12 14:23:21 -08:00
k8s-merge-robot
0df7e695d4 Merge pull request #19458 from davidopp/notsclose
Auto commit by PR queue bot
2016-01-12 13:53:13 -08:00
Chao Xu
64083a0576 Generate the clientset 2016-01-12 11:30:04 -08:00
Chao Xu
78b2a823a9 add expansion methods 2016-01-12 11:13:17 -08:00
Chao Xu
2e5da8b881 Merge pull request #19379 from caesarxuchao/manual-methods
client-gen: generate an interface which allows user to expand typed client's methods
2016-01-12 11:09:38 -08:00
Mike Danese
441baf07d6 add OnNewLeader callback to leaderelection client 2016-01-12 10:43:59 -08:00
Prashanth Balasubramanian
4f8b744b19 Rename daemon->resource in thirdparty client 2016-01-12 08:18:25 -08:00
David Oppenheimer
8ac484793d Comment out calls to httptest.Server.Close() to work around
https://github.com/golang/go/issues/12262 . See #19254 for
more details. This change should be reverted when we upgrade
to Go 1.6.
2016-01-11 23:02:11 -08:00
Chao Xu
a0489e8685 add expansion interface 2016-01-11 10:46:24 -08:00
David Oppenheimer
9856ed8f2a Merge pull request #19368 from krousey/record_race
Fix data race by eliminating concurrency in test
2016-01-09 22:42:24 -08:00
k8s-merge-robot
07d86af385 Merge pull request #18250 from mvdan/unversioned-test-close
Auto commit by PR queue bot
2016-01-08 06:06:49 -08:00
Brendan Burns
79533385cf Add kind to APIResource 2016-01-07 22:27:34 -08:00
Daniel Martí
91fbff99dc Properly close test http servers in unversioned
If not, using `go test -count=n` would make them pile up and ultimately
get to the limit of open files:

	client_test.go:522: expected an error, got Get http://127.0.0.1:46070/api: dial tcp 127.0.0.1:46070: socket: too many open files

Steps to reproduce (no longer fails):

	godep go test -short -run '^$' -o test .
	./test -test.run '^TestGetSwaggerSchema' -test.count 100

Note that this might not fail if your `ulimit -n` is not low enough.
2016-01-08 00:10:54 +01:00
Kris
dd9301ede9 Fix data race by eliminating concurrency in test
I broke out the error retry logic into a named function that could be
tested independently of the rest of the event processing framework. This
allows the test to know when the retry logic is done.

The problem with the original test was there was no reliable way to know
when it was done trying record an event. A sentinal event was being
used, but there is no ordering guarantee. I could have added
synchronization around attempts tracking to fix the data race, but the
test case was still fundamentally flawed and would error occasionally.
2016-01-07 13:00:42 -08:00
k8s-merge-robot
13260188d5 Merge pull request #19355 from mikedanese/le-1
Auto commit by PR queue bot
2016-01-07 12:24:05 -08:00
Chao Xu
ea0086468c remove the use of NamespaceIfScoped from generated clients 2016-01-06 16:20:44 -08:00
Mike Danese
592ca23a93 add GetLeader and IsLeader to the leaderelection client 2016-01-06 16:20:41 -08:00
Chao Xu
f0ddc2d969 Stop using NamespaceIfScoped in events.go 2016-01-06 15:13:07 -08:00
Daniel Martí
5505706891 Properly close tmp files in unversioned
If not, using `go test -count=n` would make them pile up and ultimately
get to the limit of open files:

	2015/12/05 12:43:56 http: Accept error: accept tcp 127.0.0.1:39768: accept4: too many open files; retrying in 5ms
	2015/12/05 12:43:56 http: Accept error: accept tcp 127.0.0.1:46606: accept4: too many open files; retrying in 5ms
	2015/12/05 12:43:56 http: Accept error: accept tcp 127.0.0.1:46606: accept4: too many open files; retrying in 10ms
	2015/12/05 12:43:56 http: Accept error: accept tcp 127.0.0.1:46606: accept4: too many open files; retrying in 20ms

Steps to reproduce (no longer fails):

	godep go test -short -run '^$' -o test .
	./test -test.run '^TestDoRequestNewWayFile$' -test.count 100

Note that this might not fail if your `ulimit -n` is not low enough.
2016-01-06 12:55:42 +01:00
Chao Xu
f51da22bcf regenerate the typed clients 2016-01-05 16:20:46 -08:00
k8s-merge-robot
267687932f Merge pull request #17916 from justinsb/multizone_volumes_aws
Auto commit by PR queue bot
2016-01-01 18:59:30 -08:00
Wojciech Tyczynski
5abdc2e944 Updage auto-generated files 2016-01-01 11:47:29 +01:00
Justin Santa Barbara
f9a6ac077e Ubernetes Lite: Volumes can dictate zone scheduling
For AWS EBS, a volume can only be attached to a node in the same AZ.
The scheduler must therefore detect if a volume is being attached to a
pod, and ensure that the pod is scheduled on a node in the same AZ as
the volume.

So that the scheduler need not query the cloud provider every time, and
to support decoupled operation (e.g. bare metal) we tag the volume with
our placement labels.  This is done automatically by means of an
admission controller on AWS when a PersistentVolume is created backed by
an EBS volume.

Support for tagging GCE PVs will follow.

Pods that specify a volume directly (i.e. without using a
PersistentVolumeClaim) will not currently be scheduled correctly (i.e.
they will be scheduled without zone-awareness).
2015-12-31 12:27:01 -05:00
k8s-merge-robot
500493a3ac Merge pull request #18925 from caesarxuchao/refactor-registration
Auto commit by PR queue bot
2015-12-24 15:19:36 -08:00
k8s-merge-robot
21c01c05e3 Merge pull request #18902 from deads2k/gv-partial
Auto commit by PR queue bot
2015-12-24 01:42:59 -08:00
Chao Xu
2b5b708b70 Refactor the API registration and installation 2015-12-23 22:44:25 -08:00
k8s-merge-robot
be235e8754 Merge pull request #18940 from smarterclayton/nil_body
Auto commit by PR queue bot
2015-12-23 18:02:03 -08:00
Mike Danese
da8b85e5c7 Merge pull request #18858 from jayunit100/overlogging-rclient
Minimize log level for request backoffs
2015-12-22 14:08:06 -08:00
Clayton Coleman
6d4612c8d2 Remove redundant / complex client code 2015-12-22 14:29:15 -05:00
jay vyas
4891d827ac Delete extra logs, especially to prevent kubelet which makes many clients, from overlogging. 2015-12-22 10:38:24 -05:00
deads2k
20f9c2c545 find partial resource matches 2015-12-21 09:26:06 -05:00
Wojciech Tyczynski
ebc14e1a2e Regenerate clients 2015-12-21 11:12:25 +01:00
Michail Kargakis
e894dcc8ff kubectl: Make scaling smarter
Skip updating resources that already meet the desired replica count.
This change has an impact in both kubectl scale and kubectl delete in
that reapable resources that already have the desired replicas (number
provided via --replicas for scale, or zero for delete) won't be updated
again and a "already scaled" message will be printed (in case of scale).
2015-12-21 10:07:21 +01:00
k8s-merge-robot
9e8233fc3c Merge pull request #17398 from janetkuo/deployment-controller-informer
Auto commit by PR queue bot
2015-12-18 19:13:32 -08:00
k8s-merge-robot
730a6a1d55 Merge pull request #18685 from caesarxuchao/client-gen-output
Auto commit by PR queue bot
2015-12-18 10:55:05 -08:00
Chao Xu
b61c9a4cf3 output of client-gen 2015-12-17 23:42:16 -08:00
Janet Kuo
32d153093e Fix deployment tests failures; change ResyncPeriod 2015-12-17 19:29:54 -08:00
Sam Ghods
b838d8ce18 Add informers to deployment controller 2015-12-17 19:29:54 -08:00
Abhishek Shah
6f63875165 Reverting 18442 2015-12-17 16:57:29 -08:00
deads2k
9fda7f1812 update StatusDetails to handle Groups 2015-12-17 09:14:12 -05:00
k8s-merge-robot
5c4479f542 Merge pull request #18442 from deads2k/gv-restmapper-10
Auto commit by PR queue bot
2015-12-17 06:06:43 -08:00
k8s-merge-robot
c02598aea2 Merge pull request #18551 from caesarxuchao/remove-serverapiversions
Auto commit by PR queue bot
2015-12-17 05:28:03 -08:00
k8s-merge-robot
0f144fd351 Merge pull request #18529 from timstclair/server
Auto commit by PR queue bot
2015-12-17 04:27:11 -08:00
k8s-merge-robot
5d16372104 Merge pull request #18653 from smarterclayton/cancel_wrapper
Auto commit by PR queue bot
2015-12-16 23:23:21 -08:00
Chao Xu
f2edba3bec remove ServerAPIVersions from client
hard-code the groupVersion in SetKubernetesDefaults
2015-12-16 16:24:55 -08:00
Tamer Tas
c798a6ef01 ConfigMap resource and its REST implementation 2015-12-16 11:19:26 -05:00
deads2k
41b78ad2b6 find partial resource matches 2015-12-16 10:19:31 -05:00
k8s-merge-robot
e309583ff1 Merge pull request #18473 from smarterclayton/change_runtime_object
Auto commit by PR queue bot
2015-12-16 04:24:22 -08:00
Clayton Coleman
8f203a28f1 Change runtime.Object signature 2015-12-15 13:36:25 -05:00
Tim St. Clair
89bc7992f9 Refactor kubelet server into its own package
Refactor Kubelet's server functionality into a server package. Most
notably, move pkg/kubelet/server.go into
pkg/kubelet/server/server.go. This will lead to better separation of
concerns and a more readable code hierarchy.
2015-12-15 10:20:38 -08:00
deads2k
6e33403abf update CodecFor for GroupVersion 2015-12-15 10:56:00 -05:00
k8s-merge-robot
c2af9cac58 Merge pull request #18590 from mikedanese/transit
Auto commit by PR queue bot
2015-12-15 04:09:02 -08:00
k8s-merge-robot
3680268c52 Merge pull request #18353 from deads2k/gv-use-constants
Auto commit by PR queue bot
2015-12-15 03:25:09 -08:00
k8s-merge-robot
abeda72863 Merge pull request #18231 from caesarxuchao/client-gen-test
Auto commit by PR queue bot
2015-12-15 02:19:16 -08:00
k8s-merge-robot
b3ccad2341 Merge pull request #18680 from caesarxuchao/clean-client
Auto commit by PR queue bot
2015-12-15 01:21:32 -08:00
k8s-merge-robot
06df5c97e7 Merge pull request #18499 from wojtek-t/fix_reflector_race
Auto commit by PR queue bot
2015-12-15 01:19:06 -08:00
k8s-merge-robot
414ebd2ddb Merge pull request #17991 from krousey/errorstatus
Auto commit by PR queue bot
2015-12-14 20:18:19 -08:00
k8s-merge-robot
29e8b6123f Merge pull request #17529 from jayunit100/hammer-backoff-expo-part2
Auto commit by PR queue bot
2015-12-14 19:48:40 -08:00
Chao Xu
f565646ea5 remove dead code in client 2015-12-14 13:34:07 -08:00
Chao Xu
05e3cb8bfb adding a mock.testType to test the generated client code 2015-12-14 11:24:44 -08:00
deads2k
d0aaf13920 use constants for group names 2015-12-14 10:04:10 -05:00
Clayton Coleman
6824530ae1 Debugging round tripper should wrap CancelRequest 2015-12-14 09:39:06 -05:00
Wojciech Tyczynski
960808bf08 Switch to versioned ListOptions in client. 2015-12-14 14:26:09 +01:00
Filip Grzadkowski
4ef062c22f Merge pull request #18476 from caesarxuchao/fix-query-convert
Fix queryparams convert
2015-12-14 13:22:27 +01:00
Wojciech Tyczynski
6a7e8861c2 Fix data-race in reflector test in Go 1.5.1 2015-12-14 09:47:45 +01:00
k8s-merge-robot
266ab4a796 Merge pull request #18487 from smarterclayton/guard_encode_decode
Auto commit by PR queue bot
2015-12-13 23:08:18 -08:00
Chao Xu
367872a63a add label test to deployment client 2015-12-13 13:56:01 -08:00
k8s-merge-robot
c458cd7bb7 Merge pull request #18379 from deads2k/gv-newobject
Auto commit by PR queue bot
2015-12-13 13:33:16 -08:00
k8s-merge-robot
47d2f41680 Merge pull request #18370 from deads2k/gv-interfacesfor
Auto commit by PR queue bot
2015-12-13 10:27:17 -08:00
k8s-merge-robot
583b733a1e Merge pull request #18309 from brendandburns/3rdparty2
Auto commit by PR queue bot
2015-12-12 01:23:06 -08:00
Mike Danese
5c1ead8869 add leader transitions to leader election record 2015-12-11 13:51:01 -08:00
Jeff Lowdermilk
f6686ba3a4 Merge pull request #18290 from wojtek-t/fast_namespace_deletion
Support collection deletion in apiserver.
2015-12-11 13:34:56 -08:00
Mike Danese
5e03250577 fix testcase in pkg/client/leaderelection that wasn't testing what it said it was testing 2015-12-11 10:58:46 -08:00
deads2k
ec87d74ecb update InterfacesFor to use GroupVersion 2015-12-11 13:45:41 -05:00
Brendan Burns
cee738871e Add a client implementation for third party resources 2015-12-10 15:43:05 -08:00
Kris
ca7c765f0a Remove APIStatus from the client
Everything that used it also depended on pkg/api/errors. It was a
needless abstraction since it was always an *errors.StatusError.
2015-12-10 13:12:21 -08:00
k8s-merge-robot
dd0d1fb780 Merge pull request #18229 from caesarxuchao/move-testclient
Auto commit by PR queue bot
2015-12-10 06:22:22 -08:00
Marcin Wielgus
f6f7725f90 Merge pull request #18340 from wojtek-t/pod_intra_communication_test
Set timeout for clients created in e2e tests
2015-12-10 14:54:36 +01:00
Wojciech Tyczynski
f28bb68d8c Support collection deletion in apiserver. 2015-12-10 09:46:25 +01:00
Clayton Coleman
1e21054134 Hide common codec methods under helpers
The pending codec -> conversion split changes the signature of
Encode and Decode to be more complicated. Create a stub helper
with the exact semantics of today and do the simple mechanical
refactor here to reduce the cost of that change.
2015-12-09 21:15:02 -05:00
Wojciech Tyczynski
f1de51567d Set timeout for e2e clients 2015-12-09 20:44:25 +01:00
Chao Xu
6f0eb521a6 Move pkg/client/unvrsioned#testClient to pkg/client/unversioned/testclient#simple 2015-12-09 10:39:28 -08:00
Wojciech Tyczynski
0cefb43707 Enable listing from memory 2015-12-09 16:24:14 +01:00
Wojciech Tyczynski
a915b8b29a Merge pull request #18080 from wojtek-t/list_options_in_listwatch
Pass ListOptions to List in ListWatch.
2015-12-09 14:27:51 +01:00
deads2k
519b4e80d1 update NewObject for groupversionkind 2015-12-09 08:13:15 -05:00
k8s-merge-robot
2adcd77dbd Merge pull request #18407 from mikedanese/doc-fix
Auto commit by PR queue bot
2015-12-09 01:32:34 -08:00
k8s-merge-robot
85789f319f Merge pull request #18103 from deads2k/gv-remove-groupmetaVersion
Auto commit by PR queue bot
2015-12-08 23:31:52 -08:00
k8s-merge-robot
a486977e19 Merge pull request #17982 from deads2k/gv-testapi-01
Auto commit by PR queue bot
2015-12-08 22:16:59 -08:00
Mike Danese
0b6167c0c4 fix package doc so it shows up on godoc.org 2015-12-08 17:19:44 -08:00
Mike Danese
68cf14695c implement client leaderelection library 2015-12-08 13:39:56 -08:00