Commit Graph

12371 Commits

Author SHA1 Message Date
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
Zach Loafman
9b5cdfb705 GCE provider: Rate limit all API calls
Instead of just rate limits to operation polling, send all API calls
through a rate limited RoundTripper.

This isn't a perfect solution, since the QPS is obviously getting
split between different controllers, etc., but it's also spread across
different APIs, which, in practice, rate limit differently.

Fixes #26119 (hopefully)
2016-05-23 23:23:53 -07:00
k8s-merge-robot
e958c0c602 Merge pull request #25727 from madhusudancs/fed-dns
Automatic merge from submit-queue

Handle federated service name lookups in kube-dns.

For the domain name queries that fail to match any records in the local
kube-dns cache, we check if the queried name matches the federation
pattern. If it does, we send a CNAME response to the federated name.

For more details look at the comments in the code.

Tests are coming ...

Also, this PR is based on @ArtfulCoder's PR #23930. So please review only the last commit here.

PTAL @ArtfulCoder @thockin @quinton-hoole @nikhiljindal 

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-05-23 05:56:36 -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
k8s-merge-robot
ce2d7ab5f7 Merge pull request #26052 from gmarek/master
Automatic merge from submit-queue

Add few log lines to NodeController
2016-05-23 00:55:26 -07: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
gmarek
1d89d2f2d2 Add few log lines to NodeController 2016-05-23 08:49:11 +02:00
k8s-merge-robot
a8ba289003 Merge pull request #25617 from smarterclayton/manage_deploy_logs
Automatic merge from submit-queue

Rolling updater should allow progress to be logged / detected
2016-05-22 23:45:24 -07:00
Madhusudan.C.S
006580abb9 Implement tests for federation queries. 2016-05-23 11:35:50 +05:30
Madhusudan.C.S
13fef23102 To get the zone information, select a node which actually has that annotation.
Also, use the cluster zone information while generating the CNAME
response for federation queries.
2016-05-23 11:35:50 +05:30
Madhusudan.C.S
3ee2b76554 Switch kube-dns to use external versioned API instead of the internal version. 2016-05-23 11:35:50 +05:30
Madhusudan.C.S
26028bce52 Handle federated service name lookups in kube-dns.
For the domain name queries that fail to match any records in the local
kube-dns cache, we check if the queried name matches the federation
pattern. If it does, we send a CNAME response to the federated name.

For more details look at the comments in the code.
2016-05-23 11:35:50 +05:30
k8s-merge-robot
88766e8a68 Merge pull request #25600 from janetkuo/sort-by-timestamp
Automatic merge from submit-queue

Support sort-by timestamp in kubectl get

## Pull Request Guidelines

1. Please read our [contributor guidelines](https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md).
1. See our [developer guide](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md).
1. 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
```

**Before:**
```console
$ kubectl get svc --sort-by='{.metadata.creationTimestamp}'
proto: no encoder for TypeMeta unversioned.TypeMeta [GetProperties]
proto: tag has too few fields: "-"
proto: no coders for struct *reflect.rtype
proto: no encoder for sec int64 [GetProperties]
proto: no encoder for nsec int32 [GetProperties]
proto: no encoder for loc *time.Location [GetProperties]
proto: no encoder for Time time.Time [GetProperties]
proto: no coders for intstr.Type
proto: no encoder for Type intstr.Type [GetProperties]
F0513 16:46:49.499894   29562 sorting_printer.go:182] Field {.metadata.creationTimestamp} in TypeMeta:<kind:"Service" apiVersion:"v1" > metadata:<name:"kubernetes" generateName:"" namespace:"default" selfLink:"/api/v1/namespaces/default/services/kubernetes" uid:"b88b4739-1964-11e6-9ac3-64510658e388" resourceVersion:"8" generation:0 creationTimestamp:<2016-05-13T16:45:06-07:00> labels:<key:"component" value:"apiserver" > labels:<key:"provider" value:"kubernetes" > > spec:<ports:<name:"https" protocol:"TCP" port:443 targetPort:<type:0 intVal:443 strVal:"" > nodePort:0 > clusterIP:"10.0.0.1" type:"ClusterIP" sessionAffinity:"ClientIP" loadBalancerIP:"" > status:<loadBalancer:<> >  is an unsortable type: struct, err: unsortable type: struct
```

**After:**
```console
$ kubectl get svc --sort-by='{.metadata.creationTimestamp}'
NAME         CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   10.0.0.1     <none>        443/TCP   48s
frontend     10.0.0.108   <none>        80/TCP    10s
```
@kubernetes/kubectl 

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-05-22 22:51:34 -07:00
k8s-merge-robot
6528a4a6a3 Merge pull request #25945 from xiang90/fix_reflector
Automatic merge from submit-queue

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.

/cc @hongchaodeng @wojtek-t @timothysc @rrati @smarterclayton
2016-05-22 21:32:02 -07:00
k8s-merge-robot
8b0e9c5739 Merge pull request #24947 from hpcloud/hpe/vsphere-volume
Automatic merge from submit-queue

vSphere Volume Plugin Implementation

This PR implements vSphere Volume plugin support in Kubernetes (ref. issue #23932).
2016-05-22 20:40:14 -07: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
k8s-merge-robot
94c7e94b85 Merge pull request #25501 from soltysh/net_remoteaddr
Automatic merge from submit-queue

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

@smarterclayton ptal
[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-05-22 16:53:41 -07:00
k8s-merge-robot
b84730ba16 Merge pull request #25748 from derekwaynecarr/hotloop_quota
Automatic merge from submit-queue

ResourceQuota controller uses rate limiter to prevent hot-loops in error situations

Have resource quota controller use a rate limited queue to prevent hot-looping in error situations.
2016-05-22 15:45:03 -07:00
k8s-merge-robot
1b78799b3b Merge pull request #25768 from piosz/metrics-api-hpa
Automatic merge from submit-queue

Use Metrics API in HPA
2016-05-22 13:58:07 -07:00
Xiang Li
f31ec95f05 cache: fix flaky resync test 2016-05-22 10:57:00 -07:00
k8s-merge-robot
39f0c6ba25 Merge pull request #24719 from bprashanth/kubectl_tls
Automatic merge from submit-queue

Add a kubectl create secret tls command

A somewhat hasty implementation that enables progress along: https://github.com/kubernetes/kubernetes/issues/20176#issuecomment-177409516, https://github.com/kubernetes/kubernetes/issues/24669, https://github.com/kubernetes/kubernetes/issues/20176#issuecomment-198142836 if associated parties have spare cycles. @kubernetes/kubectl

<!-- 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/24719)
<!-- Reviewable:end -->
2016-05-22 09:40:42 -07:00
k8s-merge-robot
4c87df0af4 Merge pull request #21709 from swagiaal/detangle-attach-detach-gce
Automatic merge from submit-queue

Detangle attach detach from  gce

This detangles attach and detach operations from the GCE PD plugin and implements the new Attacher/Detacher interface.

@markturansky @saad-ali What do you guys think ?

<!-- 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/21709)
<!-- Reviewable:end -->
2016-05-22 08:02:07 -07:00
k8s-merge-robot
6936b9ff21 Merge pull request #20918 from deads2k/fix-list-edit
Automatic merge from submit-queue

fix edit on list

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

This reverts the implementation that removed list editing capability, but leaves its tests intact.  This allows edits of lists to work, while still allowing mutation of the annotations.  It does this by walking each item and building per item patches.

The current implementation will do funny things if you delete entire list entries.  A followup could be written to locate the correct list item by name.  Right now, it just rejects the patch because its trying to change an immutable field.

@janetkuo @kubernetes/kubectl @kargakis
2016-05-22 07:12:18 -07:00
Sami Wagiaalla
4858d0ab6f Detangle Attach/Detach from GCE PD 2016-05-22 08:28:29 -04:00
k8s-merge-robot
f1e528eab6 Merge pull request #25933 from timstclair/subcontainers
Automatic merge from submit-queue

Handle cAdvisor partial failures

Kubernetes side of https://github.com/google/cadvisor/issues/1286

Partially fixes https://github.com/kubernetes/kubernetes/issues/25131

(Depends on cAdvisor Godeps bump https://github.com/kubernetes/kubernetes/pull/25914)

/cc @kubernetes/sig-node
2016-05-22 04:50:01 -07:00
k8s-merge-robot
dc73d1e67d Merge pull request #25912 from cjcullen/userMetric
Automatic merge from submit-queue

Add an 'authenticated user' metric to the RequestAuthenticator.

Allows metric gathering of cluster access by internal/auto-generated identities vs. users (without actually exposing individual real users' usernames).
2016-05-22 04:01:15 -07:00
k8s-merge-robot
6224f44717 Merge pull request #25771 from sjpotter/fs-info
Automatic merge from submit-queue

kubelet/cadvisor: Refactor cadvisor disk stat/usage interfaces.

basically

1) cadvisor struct will know what runtime the kubelet is, passed in via additional argument to New()

2) rename cadvisor wrapper function to DockerImagesFsInfo() to ImagesFsInfo() and have linux implementation choose a label based on the runtime inside the cadvisor struct

2a) mock/fake/unsupported modified to take the same additional argument in New()

3) kubelet's wrapper for the cadvisor wrapper is renamed in parallel

4) make all tests use new interface
2016-05-22 03:08:59 -07:00
k8s-merge-robot
3b74a6b0ef Merge pull request #25569 from soltysh/scheduledjob_storage
Automatic merge from submit-queue

Scheduledjob storage

This builds on top of #25475 so only last commit is significant. There's still one small problem with conversions, I'm currently working, but the biggest is still multi-version client tests. Read on...

@erictune unfortunately the multi-version tests are biting again, this time in `pkg/registry/scheduledjob/etcd`. If I run the tests with just `batch/v2alpha1` then these are working correctly, but we can't have only `batch/v2alpha1` enabled since `batch/v1` is the preferred version for the entire `batch/` group. We either going to skip the tests here like we did with the scheduledjob client (I'm talking about `pkg/registry/scheduledjob/etcd/etcd_test.go`) or fix it. 

I've talked with @deads2k about how we can plumb the tests so it just passes, but there's no simple solution we can come up with 😞 (other than the one from #25566), unless @caesarxuchao can chime in and propose something.

```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-22 01:45:22 -07:00
k8s-merge-robot
82cb4c1758 Merge pull request #23930 from ArtfulCoder/vendor-skydns
Automatic merge from submit-queue

Use SkyDNS as a library for a more integrated kube DNS
2016-05-21 23:33:35 -07:00
k8s-merge-robot
9e8282c586 Merge pull request #25838 from cjcullen/authzcache
Automatic merge from submit-queue

Cache webhook authorization responses

Similar to #25694, but for authorization.
2016-05-21 20:34:34 -07:00
k8s-merge-robot
5d8e797a14 Merge pull request #25907 from ncdc/check-docker-pidfile
Automatic merge from submit-queue

Fix detection of docker cgroup on RHEL

Check docker's pid file, then fallback to pidof when trying to determine the pid for docker. The
latest docker RPM for RHEL changes /usr/bin/docker from an executable to a shell script (to support
/usr/bin/docker-current and /usr/bin/docker-latest). The pidof check for docker fails in this case,
so we check /var/run/docker.pid first (the default location), and fallback to pidof if that fails.

@kubernetes/sig-node @kubernetes/rh-cluster-infra
2016-05-21 16:50:00 -07:00
CJ Cullen
d03dbbcc14 Add LRU Expire cache to webhook authorizer. 2016-05-21 14:50:50 -07:00
Maciej Szulik
db08dedf5e ScheduledJob storage 2016-05-21 23:23:29 +02: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
Abitha Palaniappan
11397654b6 Adding volume plugin to api/v1 and updating auto-generated files 2016-05-21 12:53:03 -07:00
k8s-merge-robot
4bb085c927 Merge pull request #25772 from derekwaynecarr/eviction-max-grace
Automatic merge from submit-queue

Add support for limiting grace period during soft eviction

Adds eviction manager support in kubelet for max pod graceful termination period when a soft eviction is met.

```release-note
Kubelet evicts pods when available memory falls below configured eviction thresholds
```

/cc @vishh
2016-05-21 12:43:45 -07:00
k8s-merge-robot
682c188fc8 Merge pull request #25738 from wojtek-t/default_protobuf
Automatic merge from submit-queue

Use protobufs by default to communicate with apiserver (still store JSONs in etcd)

@lavalamp @kubernetes/sig-api-machinery
2016-05-21 11:48:25 -07:00
Abitha Palaniappan
95c009dbdb Adding vSphere Volume support for vSphere Cloud Provider 2016-05-21 11:00:14 -07:00
k8s-merge-robot
346f965871 Merge pull request #25694 from cjcullen/authncache
Automatic merge from submit-queue

Cache Webhook Authentication responses

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

Kubectl is a little spammy, w/ >= 4 API requests per command. This also prevents a single unauthenticated user from being able to DOS the remote authenticator.
2016-05-21 10:48:38 -07:00
k8s-merge-robot
d6d0a6eb83 Merge pull request #25656 from tmrts/godep-update/rkt-1.6.0
Automatic merge from submit-queue

Update rkt API version to 1.6.0

Updates coreos/rkt container runtime dependency to `1.6.0`

Fixes #25430
2016-05-21 09:56:52 -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
Maciej Szulik
adc890a57e ScheduledJob validation & defaults 2016-05-21 15:48:40 +02:00
Maciej Szulik
5c9b4bfee5 ScheduledJob api leftovers - generated 2016-05-21 15:48:40 +02:00
Maciej Szulik
70e5456118 ScheduledJob api leftovers 2016-05-21 15:48:39 +02:00
k8s-merge-robot
9c9bdb2494 Merge pull request #25502 from swagiaal/attach-interface-pvc
Automatic merge from submit-queue

Add support for PersistentVolumeClaim in Attacher/Detacher interface

The attach detach interface does not support volumes which are referenced through PVCs. This PR adds that support
2016-05-21 06:25:34 -07:00
k8s-merge-robot
68ab865e75 Merge pull request #25328 from resouer/sort-images
Automatic merge from submit-queue

Only expose top N images in `NodeStatus`

Fix #25209

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

cc @vishh
2016-05-21 04:43:30 -07:00
k8s-merge-robot
eb733cbf45 Merge pull request #25285 from ingvagabund/extend-secrets-volumes-with-path-control
Automatic merge from submit-queue

Extend secrets volumes with path control

As per [1] this PR extends secrets mapped into volume with:

* key-to-path mapping the same way as is for configmap. E.g.

```
{
 "apiVersion": "v1",
 "kind": "Pod",
  "metadata": {
    "name": "mypod",
    "namespace": "default"
  },
  "spec": {
    "containers": [{
      "name": "mypod",
      "image": "redis",
      "volumeMounts": [{
        "name": "foo",
        "mountPath": "/etc/foo",
        "readOnly": true
      }]
    }],
    "volumes": [{
      "name": "foo",
      "secret": {
        "secretName": "mysecret",
        "items": [{
          "key": "username",
          "path": "my-username"
        }]
      }
    }]
  }
}
```

Here the ``spec.volumes[0].secret.items`` added changing original target ``/etc/foo/username`` to ``/etc/foo/my-username``.

* secondly, refactoring ``pkg/volumes/secrets/secrets.go`` volume plugin to use ``AtomicWritter`` to project a secret into file.

[1] https://github.com/kubernetes/kubernetes/blob/master/docs/design/configmap.md#changes-to-secret
2016-05-21 03:55:13 -07:00