Commit Graph

34608 Commits

Author SHA1 Message Date
Michael Taufen
0afaeab9b1 Only try to connect to docker if we're actually using the docker runtime 2016-08-25 10:57:31 -07:00
Michael Taufen
f277205f4f Kubelet Refactoring
This refactor removes the legacy KubeletConfig object and adds a new
KubeletDeps object, which contains injected runtime objects and
separates them from static config. It also reduces NewMainKubelet to two
arguments: a KubeletConfiguration and a KubeletDeps.

Some mesos and kubemark code was affected by this change, and has been
modified accordingly.

And a few final notes:

KubeletDeps:
KubeletDeps will be a temporary bin for things we might consider
"injected dependencies", until we have a better dependency injection
story for the Kubelet. We will have to discuss this eventually.

RunOnce:
We will likely not pull new KubeletConfiguration from the API server
when in runonce mode, so it doesn't make sense to make this something
that can be configured centrally. We will leave it as a flag-only option
for now. Additionally, it is increasingly looking like nobody actually uses the
Kubelet's runonce mode anymore, so it may be a candidate for deprecation
and removal.
2016-08-25 10:57:31 -07:00
Chao Xu
655e358418 enable gc by default in tests 2016-08-25 10:25:17 -07:00
Marcin Wielgus
e67c6a750f Handle deleteTimestamp in federated ns e2e tests 2016-08-25 18:36:48 +02:00
Kubernetes Submit Queue
b44b716965 Merge pull request #31248 from wojtek-t/better_selectable_fields
Automatic merge from submit-queue

Avoid unnecessary copies & allocations in field selectors
2016-08-25 09:01:44 -07:00
Hongchao Deng
9fc0e1e98d return destroy func to clean up internal resources of storage 2016-08-25 08:32:21 -07:00
Kubernetes Submit Queue
fff95275df Merge pull request #31430 from mwielgus/ca-0.3.0-b3
Automatic merge from submit-queue

Bump cluster autoscaler to 0.3.0-beta3

cc: @piosz @fgrzadkowski @jszczepkowski
2016-08-25 08:21:54 -07:00
Kubernetes Submit Queue
785e9f24c5 Merge pull request #31122 from deads2k/add-quota-test
Automatic merge from submit-queue

add quota test for creating update requests

Adding a kube test for https://github.com/kubernetes/kubernetes/pull/30907 as requested in https://github.com/kubernetes/kubernetes/pull/30907#issuecomment-241139913 .
2016-08-25 08:21:50 -07:00
Kubernetes Submit Queue
8f431e4af8 Merge pull request #31167 from caesarxuchao/gc-absent-owner-cache
Automatic merge from submit-queue

[GarbageCollector] add absent owner cache

<!--  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**:
Reducing the Request sent to the API server by the garbage collector to check if an owner exists.

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

#26120

**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
```

Currently when processing an item in the dirtyQueue, the garbage collector issues GET to check if any of its owners exist. If the owner is a replication controller with 1000 pods, the garbage collector sends a GET for the RC 1000 times. This PR caches the owner's UID if it does not exist according to the API server. This cuts 1/3 of the garbage collection time of the density test in the gce-500 and gce-scale, where the QPS is the bottleneck.
2016-08-25 07:39:31 -07:00
Kubernetes Submit Queue
6901a00078 Merge pull request #31286 from yifan-gu/rkt_privileged
Automatic merge from submit-queue

rkt: Improve support for privileged pod (pod whose all containers are privileged) 

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

This takes advantage of https://github.com/coreos/rkt/pull/2983 . By appending the new `--all-run` insecure-options to `rkt run-prepared` command when all the containers are privileged. The pod now gets more privileged power.
2016-08-25 06:58:43 -07:00
Marcin Wielgus
5d806e1ebe Bump cluster autoscaler to 0.3.0-beta3 2016-08-25 15:37:38 +02:00
Rudi Chiarito
1e7120f02c Implement ExternalName in kube-dns e2e tests 2016-08-25 09:29:24 -04:00
Kubernetes Submit Queue
4ddfc4849a Merge pull request #27180 from sttts/sysctl-implementation
Automatic merge from submit-queue

Add sysctl support

Implementation of proposal https://github.com/kubernetes/kubernetes/pull/26057, feature  https://github.com/kubernetes/features/issues/34

TODO:
- [x] change types.go
- [x] implement docker and rkt support
- [x] add e2e tests
- [x] decide whether we want apiserver validation
- ~~[ ] add documentation~~: api docs exist. Existing PodSecurityContext docs is very light and links back to the api docs anyway: 6684555ed9/docs/user-guide/security-context.md
- [x] change PodSecurityPolicy in types.go
- [x] write admission controller support for PodSecurityPolicy
- [x] write e2e test for PodSecurityPolicy
- [x] make sure we are compatible in the sense of https://github.com/kubernetes/kubernetes/blob/master/docs/devel/api_changes.md
- [x] test e2e with rkt: it only works with kubenet, not with no-op network plugin. The later has no sysctl support.
- ~~[ ] add RunC implementation~~ (~~if that is already in kube,~~ it isn't)
- [x] update whitelist
- [x] switch PSC fields to annotations
- [x] switch PSP fields to annotations
- [x] decide about `--experimental-whitelist-sysctl` flag to be additive or absolute
- [x] decide whether to add a sysctl node whitelist annotation

### Release notes:

```release-note
The pod annotation `security.alpha.kubernetes.io/sysctls` now allows customization of namespaced and well isolated kernel parameters (sysctls), starting with `kernel.shm_rmid_forced`, `net.ipv4.ip_local_port_range`, `net.ipv4.tcp_max_syn_backlog` and `net.ipv4.tcp_syncookies` for Kubernetes 1.4.

The pod annotation  `security.alpha.kubernetes.io/unsafeSysctls` allows customization of namespaced sysctls where isolation is unclear. Unsafe sysctls must be enabled at-your-own-risk on the kubelet with the `--experimental-allowed-unsafe-sysctls` flag. Future versions will improve on resource isolation and more sysctls will be considered safe.
```
2016-08-25 06:21:24 -07:00
Kubernetes Submit Queue
ab8d4525bb Merge pull request #31421 from wojtek-t/fix_kubectl_scale
Automatic merge from submit-queue

Fix scale x->x in kubectl for ReplicationController

Fix #31374

This fixes problem introduced in #31051 (which in turn was fixing a different problem).

@lavalamp - FYI
2016-08-25 05:40:06 -07:00
Dr. Stefan Schimanski
03d7e33034 Run hack/update-all.sh 2016-08-25 13:22:01 +02:00
Dr. Stefan Schimanski
dd7826359c Add sysctl e2e tests 2016-08-25 13:22:01 +02:00
Dr. Stefan Schimanski
e356e52247 Add sysctl whitelist on the node 2016-08-25 13:22:01 +02:00
Dr. Stefan Schimanski
ed36baed20 Add sysctl PodSecurityPolicy support 2016-08-25 13:22:01 +02:00
Dominika Hodovska
bea189e9c9 Add sysctl api, validation & Docker support 2016-08-25 13:22:01 +02:00
Kubernetes Submit Queue
99f77f42e2 Merge pull request #31413 from madhusudancs/fed-bash-basic-auth-secret-name-fix
Automatic merge from submit-queue

Underscore is not a valid secret data key, so use hyphen instead.

cc @kubernetes/sig-cluster-federation
2016-08-25 04:05:30 -07:00
Kubernetes Submit Queue
d12b3429fe Merge pull request #30676 from m1093782566/improve-pod-log-output-format
Automatic merge from submit-queue

[Scheduler] Improve pod log output debuggability

Address issue is #30675

The result of my expirments shows that both `glog.Infof("%v", pod)` and `glog.Infof("%+v", pod)` can't output useful information of a pod, it can only output `kind:"" apiVersion:""`. 

`%#v` can output the whole content of pod, but it seems too much!

So, my opinion is output pod info use the format of `%v` to print`pod.Namespace/pod.Name` instead of the pod **object** in both [here](https://github.com/kubernetes/kubernetes/blob/master/plugin/pkg/scheduler/scheduler.go#L96) and [here](https://github.com/kubernetes/kubernetes/blob/master/plugin/pkg/scheduler/scheduler.go#L100).

@wojtek-t
2016-08-25 04:05:24 -07:00
Kubernetes Submit Queue
a9a81219ef Merge pull request #31185 from coufon/log_throughput_benchmark
Automatic merge from submit-queue

add throughput in perf data and disable --cgroups-per-qos

This PR adds throughput data to printed perf data for benchmark. It also disables --cgrous-per-qos in jenkinds-benchmark.properties.
2016-08-25 04:05:20 -07:00
Kubernetes Submit Queue
e4178c82f3 Merge pull request #31275 from dims/fix-issue-31219
Automatic merge from submit-queue

Increase request timeout based on termination grace period

When terminationGracePeriodSeconds is set to > 2 minutes (which is
the default request timeout), ContainerStop() times out at 2 minutes.
We should check the timeout being passed in and bump up the
request timeout if needed.

Fixes #31219
2016-08-25 03:20:32 -07:00
Jedrzej Nowak
13b33e04cc added auto generated stuff 2016-08-25 12:15:35 +02:00
Jedrzej Nowak
1cc36a7c42 Fix various typos in pkg/apis 2016-08-25 11:44:59 +02:00
Wojciech Tyczynski
79d8c9754d Fix scale x->x in kubectl for ReplicationController 2016-08-25 11:44:11 +02:00
Kubernetes Submit Queue
8fb05d18eb Merge pull request #31418 from mwielgus/ns-e2e-fix2
Automatic merge from submit-queue

Use non-fed client for subclusters in federated namespace e2e test

Currently we use fed 1.4 clients constructed using federation/utils. The utils have troubles building valid clients in e2e environment.
2016-08-25 02:36:15 -07:00
Kubernetes Submit Queue
098c999a8c Merge pull request #31246 from Clarifai/ext-svc-ref
Automatic merge from submit-queue

kubectl: display ExternalName for services

User-visible part of https://github.com/kubernetes/features/issues/33

Also add ExternalIPs in `describe`

cc @thockin @smarterclayton
2016-08-25 02:36:09 -07:00
Michail Kargakis
4c56b8cfc5 kubectl: cast notFound error to struct 2016-08-25 10:40:44 +02:00
Kubernetes Submit Queue
c2f8c265b4 Merge pull request #30958 from lojies/addvalidresourceforexplain
Automatic merge from submit-queue

add valid resources when args is nil

add valid resources message is more friendly to user when running `kubectl explain`
and this also can be same with other cmd like get\describe.
2016-08-25 01:38:52 -07:00
Marcin Wielgus
99cb1d7702 Use non-fed client for subclusters in federated namespace e2e test 2016-08-25 10:26:08 +02: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
better0332
524f0da769 fix deleteVolume
`ok` is not in same variable socpe
2016-08-25 15:26:18 +08:00
Kubernetes Submit Queue
ff42c1f2b8 Merge pull request #31349 from wojtek-t/enable_gc_in_kubemark
Automatic merge from submit-queue

Enable GC by default in Kubemark

Since GC is enabled by default, we should also enable it by default in kubemark
2016-08-25 00:20:45 -07:00
Kubernetes Submit Queue
bb9523bd0f Merge pull request #31157 from pmorie/kubelet-move
Automatic merge from submit-queue

Kubelet code move: volume / util

Addresses some odds and ends that I apparently missed earlier.  Preparation for kubelet code-move ENDGAME.

cc @kubernetes/sig-node
2016-08-25 00:20:39 -07:00
Madhusudan.C.S
8868459d92 Underscore is not a valid secret data key, so use underscore instead. 2016-08-25 00:12:12 -07:00
mksalawa
f4016bef7a Use heapster handler for pods from all namespaces. 2016-08-25 09:08:31 +02:00
Kubernetes Submit Queue
bdeeb9db90 Merge pull request #31135 from xingzhou/bash_completion_bug
Automatic merge from submit-queue

Fixed two issues of kubectl bash completion.

This patch includes the fix of the following issue:
• Correct the method invocation from "__kubectl_namespace_flag"
  to "__kubectl_override_flags"
• Support bash completion if "--namespace=xxx" style flags are
  specified in the kubectl command

Fixes #31134
2016-08-24 23:43:20 -07:00
Amey Deshpande
2939ebdba5 gci: decouple from the built-in kubelet version
Prior to this change, configure.sh would:
(1) compare versions of built-in kubelet and downloaded kubelet, and
(2) bind-mount downloaded kubelet at /usr/bin/kubelet in case of
version mismatch

With this change, configure.sh:
(1) compares the two versions only on test clusters, and
(2) uses the actual file paths to start kubelet w/o any bind-mounting

To allow (2), this change also provides its own version of kubelet
systemd service file.

Effectively with this change we will always use the downloaded kubelet
binary along with its own systemd service file on non-test clusters.  The
main advantage is this change does not rely on the kubelet being built in to
the OS image.
2016-08-24 23:36:08 -07:00
Kubernetes Submit Queue
74b01041cc Merge pull request #31239 from aledbf/update-fluent-images
Automatic merge from submit-queue

Update fluent images

continues #29883 
fix #29782

```release-note
Reduced size of fluentd images.
```
2016-08-24 23:05:04 -07:00
Kubernetes Submit Queue
38d3decdfb Merge pull request #31318 from adityakali/gci53
Automatic merge from submit-queue

Add validation for KUBE_USER

Malformed KUBE_USER causes error in cluster setup.

cc/ @kubernetes/goog-image 
@Q-Lee @Amey-D  Can you please review?
2016-08-24 22:18:39 -07:00
bindata-mockuser
d0577e7c74 Avoid disk eviction node e2e test using up all the disk space 2016-08-24 22:07:58 -07:00
Kubernetes Submit Queue
c63f43b329 Merge pull request #31387 from hongchaodeng/docs
Automatic merge from submit-queue

etcd3 compactor: update docs

Minor fix/improvement on compactor docs.
2016-08-24 21:37:21 -07:00
Kubernetes Submit Queue
1f4020f8d8 Merge pull request #31171 from jlowdermilk/dynamic-volume-gate
Automatic merge from submit-queue

Dynamic volume gate

Rebased on #31140, only review last commit.  Adds a feature-gate flag for dynamic volume provisioning alpha, defaulting to enabled to avoid breaking people. Key should be removed when support for the alpha version of this is removed.
2016-08-24 21:37:16 -07:00
MrHohn
f1ff86f189 Build and push kube-dns for 1.4 release 2016-08-24 21:21:52 -07:00
Chao Xu
82d01fc408 add the readme for the published client-go repository 2016-08-24 21:06:23 -07:00
Random-Liu
5d11de1c2e Fix sort hint in hack/verify-golint.sh. 2016-08-24 20:55:14 -07:00
Kubernetes Submit Queue
b70a758980 Merge pull request #31371 from kubernetes/revert-30890-etcd3_v3client
Automatic merge from submit-queue

Revert "Enable v3 Client as the default on UTs"

Reverts kubernetes/kubernetes#30890

Fix flake problems (#31262)
2016-08-24 20:51:57 -07:00
Random-Liu
afb780d4ee Move utilities into different packages. Add local and remove runner. 2016-08-24 20:18:45 -07:00
Kubernetes Submit Queue
f0462c4043 Merge pull request #31200 from ronnielai/test1
Automatic merge from submit-queue

Skip disk eviction test on non-supported images.
2016-08-24 20:06:07 -07:00