Commit Graph

3381 Commits

Author SHA1 Message Date
Kubernetes Submit Queue
768e83657d Merge pull request #31922 from yujuhong/test_asserts
Automatic merge from submit-queue

kubelet_test.go: use assertions

Switch most of the tests in this file to using  the assert library
(`github.com/stretchr/testify/assert`) in the tests for better readability and
less code in general.
2016-09-03 09:51:36 -07:00
Kubernetes Submit Queue
d22f04186c Merge pull request #32002 from mikedanese/spammy
Automatic merge from submit-queue

lower loglevel of spammy warning

this get's hit all the time on non containervm systems (e.g. anything with new udev where default ethernet device got renamed to enp0s01247uo83249 because that's more user friendly.)

I'm seeing my logs filed with this.
```
Sep 02 20:31:40 instance-1 kubelet-wrapper[7152]: W0902 20:31:40.234051    7155 summary.go:352] Missing default interface "eth0" for node:instance-1
Sep 02 20:31:50 instance-1 kubelet-wrapper[7152]: W0902 20:31:50.269382    7155 summary.go:352] Missing default interface "eth0" for node:instance-1
Sep 02 20:32:00 instance-1 kubelet-wrapper[7152]: W0902 20:32:00.304785    7155 summary.go:352] Missing default interface "eth0" for node:instance-1
Sep 02 20:32:10 instance-1 kubelet-wrapper[7152]: W0902 20:32:10.329420    7155 summary.go:352] Missing default interface "eth0" for node:instance-1
Sep 02 20:32:20 instance-1 kubelet-wrapper[7152]: W0902 20:32:20.363680    7155 summary.go:352] Missing default interface "eth0" for node:instance-1
Sep 02 20:32:30 instance-1 kubelet-wrapper[7152]: W0902 20:32:30.402619    7155 summary.go:352] Missing default interface "eth0" for node:instance-1
Sep 02 20:32:40 instance-1 kubelet-wrapper[7152]: W0902 20:32:40.429717    7155 summary.go:352] Missing default interface "eth0" for node:instance-1
Sep 02 20:32:50 instance-1 kubelet-wrapper[7152]: W0902 20:32:50.459636    7155 summary.go:352] Missing default interface "eth0" for node:instance-1
Sep 02 20:33:00 instance-1 kubelet-wrapper[7152]: W0902 20:33:00.484305    7155 summary.go:352] Missing default interface "eth0" for node:instance-1
Sep 02 20:33:10 instance-1 kubelet-wrapper[7152]: W0902 20:33:10.528655    7155 summary.go:352] Missing default interface "eth0" for node:instance-1
Sep 02 20:33:20 instance-1 kubelet-wrapper[7152]: W0902 20:33:20.564380    7155 summary.go:352] Missing default interface "eth0" for node:instance-1
Sep 02 20:33:30 instance-1 kubelet-wrapper[7152]: W0902 20:33:30.589506    7155 summary.go:352] Missing default interface "eth0" for node:instance-1
Sep 02 20:33:40 instance-1 kubelet-wrapper[7152]: W0902 20:33:40.618750    7155 summary.go:352] Missing default interface "eth0" for node:instance-1
Sep 02 20:33:50 instance-1 kubelet-wrapper[7152]: W0902 20:33:50.643367    7155 summary.go:352] Missing default interface "eth0" for node:instance-1
Sep 02 20:34:00 instance-1 kubelet-wrapper[7152]: W0902 20:34:00.678746    7155 summary.go:352] Missing default interface "eth0" for node:instance-1
Sep 02 20:34:10 instance-1 kubelet-wrapper[7152]: W0902 20:34:10.712398    7155 summary.go:352] Missing default interface "eth0" for node:instance-1
Sep 02 20:34:20 instance-1 kubelet-wrapper[7152]: W0902 20:34:20.738242    7155 summary.go:352] Missing default interface "eth0" for node:instance-1
Sep 02 20:34:30 instance-1 kubelet-wrapper[7152]: W0902 20:34:30.764254    7155 summary.go:352] Missing default interface "eth0" for node:instance-1
Sep 02 20:34:40 instance-1 kubelet-wrapper[7152]: W0902 20:34:40.789706    7155 summary.go:352] Missing default interface "eth0" for node:instance-1
Sep 02 20:34:50 instance-1 kubelet-wrapper[7152]: W0902 20:34:50.822828    7155 summary.go:352] Missing default interface "eth0" for node:instance-1
Sep 02 20:35:00 instance-1 kubelet-wrapper[7152]: W0902 20:35:00.857558    7155 summary.go:352] Missing default interface "eth0" for node:instance-1
Sep 02 20:35:10 instance-1 kubelet-wrapper[7152]: W0902 20:35:10.893635    7155 summary.go:352] Missing default interface "eth0" for node:instance-1
Sep 02 20:35:20 instance-1 kubelet-wrapper[7152]: W0902 20:35:20.920920    7155 summary.go:352] Missing default interface "eth0" for node:instance-1
Sep 02 20:35:30 instance-1 kubelet-wrapper[7152]: W0902 20:35:30.955334    7155 summary.go:352] Missing default interface "eth0" for node:instance-1
Sep 02 20:35:40 instance-1 kubelet-wrapper[7152]: W0902 20:35:40.988821    7155 summary.go:352] Missing default interface "eth0" for node:instance-1
Sep 02 20:35:51 instance-1 kubelet-wrapper[7152]: W0902 20:35:51.027433    7155 summary.go:352] Missing default interface "eth0" for node:instance-1
Sep 02 20:36:01 instance-1 kubelet-wrapper[7152]: W0902 20:36:01.065433    7155 summary.go:352] Missing default interface "eth0" for node:instance-1
Sep 02 20:36:11 instance-1 kubelet-wrapper[7152]: W0902 20:36:11.104807    7155 summary.go:352] Missing default interface "eth0" for node:instance-1
Sep 02 20:36:21 instance-1 kubelet-wrapper[7152]: W0902 20:36:21.137300    7155 summary.go:352] Missing default interface "eth0" for node:instance-1
Sep 02 20:36:31 instance-1 kubelet-wrapper[7152]: W0902 20:36:31.170241    7155 summary.go:352] Missing default interface "eth0" for node:instance-1
Sep 02 20:36:41 instance-1 kubelet-wrapper[7152]: W0902 20:36:41.205549    7155 summary.go:352] Missing default interface "eth0" for node:instance-1
Sep 02 20:36:51 instance-1 kubelet-wrapper[7152]: W0902 20:36:51.246228    7155 summary.go:352] Missing default interface "eth0" for node:instance-1
Sep 02 20:37:01 instance-1 kubelet-wrapper[7152]: W0902 20:37:01.283743    7155 summary.go:352] Missing default interface "eth0" for node:instance-1
Sep 02 20:37:11 instance-1 kubelet-wrapper[7152]: W0902 20:37:11.322205    7155 summary.go:352] Missing default interface "eth0" for node:instance-1
Sep 02 20:37:21 instance-1 kubelet-wrapper[7152]: W0902 20:37:21.358846    7155 summary.go:352] Missing default interface "eth0" for node:instance-1
```
2016-09-02 18:51:10 -07:00
Kubernetes Submit Queue
1e21eda604 Merge pull request #31197 from freehan/kubenethairpin
Automatic merge from submit-queue

Deprecate the old cbr0 and flannel networking modes

fixes: #19766
2016-09-02 18:51:05 -07:00
Kubernetes Submit Queue
ffc12b349f Merge pull request #32000 from pmorie/node-update-status
Automatic merge from submit-queue

Update node status instead of node in kubelet

#31730 added code for the Kubelet to reconcile the existing and new nodes in order to annotate existing nodes with the annotation for controller-managed attach-detach.  However, it used `Update` instead of `UpdateStatus`, which changes the operations the node's token needs to be permitted to use.  Using `UpdateStatus` is functionally equivalent and maintains the same set of permissions nodes need to have today.

I'm adding this with the 1.4 milestone because it is a follow-on to a 1.4 PR and fixes a downstream bug (which won't surface to Kube).
2016-09-02 16:56:14 -07:00
Minhan Xia
fd4c947de9 correct typo in kubenet config 2016-09-02 14:33:34 -07:00
Kubernetes Submit Queue
be290b5904 Merge pull request #31931 from freehan/kubenetcheck
Automatic merge from submit-queue

kubenet checks required cni plugins are present

related to #31215
2016-09-02 14:32:08 -07:00
Mike Danese
39d190e983 lower loglevel of spammy warning 2016-09-02 13:34:29 -07:00
Paul Morie
67387632dc Update node status instead of node in kubelet 2016-09-02 16:24:39 -04:00
Kubernetes Submit Queue
88c7e25f72 Merge pull request #31923 from bprashanth/logging
Automatic merge from submit-queue

Adding logging and fix test race

Fixes https://github.com/kubernetes/kubernetes/issues/31552, adds clarity for https://github.com/kubernetes/kubernetes/issues/29449

Janet for the job e2e and girish for services. P1 for flake.
2016-09-01 19:50:58 -07:00
bprashanth
a0c0dcd8bd Log pod ip at V(2) 2016-09-01 17:33:24 -07:00
Yu-Ju Hong
013f7e3c46 kubelet_test.go: use assertions
Switch most of the tests in this file to using  the assert/require library
(in `github.com/stretchr/testify`) in the tests for better readability and
less code in general.
2016-09-01 17:21:48 -07:00
Minhan Xia
20ed879faa kubenet checks required cni plugins are present 2016-09-01 17:16:05 -07:00
Kubernetes Submit Queue
4e1ff53bb2 Merge pull request #31730 from pmorie/kubelet-attach-detach-update
Automatic merge from submit-queue

Make it possible to enable controller-managed attach-detach on existing nodes

Fixes #31673.  Now, if a node already exists with the given name on Kubelet startup, the Kubelet will reconcile the value of the controller-managed-attach-detach annotation so that existing nodes can have this feature turned on and off by changing the Kubelet configuration.

cc @kubernetes/sig-storage @kubernetes/rh-cluster-infra
2016-09-01 07:31:18 -07:00
Paul Morie
1805d30b67 Reconcile value of controller-managed attach-detach annotation on existing nodes in Kubelet startup 2016-08-31 17:04:54 -04:00
Tim St. Clair
3808243b9e Append "AppArmor enabled" to the Node ready condition message 2016-08-31 09:27:47 -07:00
Kubernetes Submit Queue
ec061b81d0 Merge pull request #31660 from mtaufen/un-ref-KubeletConfiguration-on-kubelet
Automatic merge from submit-queue

Make kubeletConfiguration field on Kubelet struct a value type
2016-08-30 10:46:48 -07:00
Kubernetes Submit Queue
17787eb6f2 Merge pull request #31557 from timstclair/aa-event
Automatic merge from submit-queue

Include security options in the container created event

New container creation events look like:
```
Created container with docker id /k8s_bar2.a4; Security:[seccomp=sub/subtest(md5:07c9bcb4db631f7ca191d6e0bca49f76)]

Created container with docker id /k8s_bar2.a4; Security:[seccomp=unconfined apparmor=foo-profile]
```

The goal is to provide enough information to confirm that the requseted security constraints were honored.

For https://github.com/kubernetes/kubernetes/issues/31284

/cc @dchen1107 @thockin @jfrazelle @pweil- @pmorie

---

Justification for v1.4:

- Risk: low. This appends some additional information to a human readable message. A bug here would probably not break any functionality
- Roll-back: I don't anticipate any more changes to this area of the code. No functionality depends on this change.
- Cost of not including: Users don't get any (positive) confirmation that the AppArmor or Seccomp profile they requested were actually enabled.
2016-08-30 01:35:33 -07:00
Kubernetes Submit Queue
64f25e1f46 Merge pull request #31531 from pmorie/kubelet-attach-detach-log
Automatic merge from submit-queue

Add log message in Kubelet when controller attach/detach is enabled

Adds a message to the Kubelet log indicating whether controller attach/detach is enabled for a node.

cc @kubernetes/sig-storage
2016-08-29 23:22:11 -07:00
Michael Taufen
ceb00add97 Make kubeletConfiguration field on Kubelet struct a value type 2016-08-29 18:03:34 -07:00
Kubernetes Submit Queue
cdbc3b56eb Merge pull request #31523 from derekwaynecarr/imagefs-observations
Automatic merge from submit-queue

Set imagefs rank and reclaim functions when nodefs+imagefs share comm…

Fixes #31192 

I decided that the behavior should match the current output of the kubelet summary API.  With no dedicated imagefs, the ranking and reclaim functions will match the nodefs ranking and reclaim functions.

/cc @ronnielai @vishh
2016-08-27 02:58:42 -07:00
Kubernetes Submit Queue
087d431409 Merge pull request #31401 from yujuhong/resource_name
Automatic merge from submit-queue

Print out resource name when evicting pods

This fixes #31397


/cc @derekwaynecarr
2016-08-26 18:55:21 -07:00
Tim St. Clair
785c83cc2d Include security options in the container created event 2016-08-26 15:32:48 -07:00
Paul Morie
3b23b9ba9f Add log message in Kubelet when controller attach/detach is enabled 2016-08-26 12:28:37 -04:00
derekwaynecarr
6a7eb7b420 Set imagefs rank and reclaim functions when nodefs+imagefs share common device 2016-08-26 11:08:43 -04:00
Kubernetes Submit Queue
eeac23282d Merge pull request #31446 from liggitt/log-streaming
Automatic merge from submit-queue

Fix hang/websocket timeout when streaming container log with no content

When streaming and following a container log, no response headers are sent from the kubelet `containerLogs` endpoint until the first byte of content is written to the log. This propagates back to the API server, which also will not send response headers until it gets response headers from the kubelet. That includes upgrade headers, which means a websocket connection upgrade is not performed and can time out.

To recreate, create a busybox pod that runs `/bin/sh -c 'sleep 30 && echo foo && sleep 10'`

As soon as the pod starts, query the kubelet API:
```
curl -N -k -v 'https://<node>:10250/containerLogs/<ns>/<pod>/<container>?follow=true&limitBytes=100'
```

or the master API:
```
curl -N -k -v 'http://<master>:8080/api/v1/<ns>/pods/<pod>/log?follow=true&limitBytes=100'
```

In both cases, notice that the response headers are not sent until the first byte of log content is available.

This PR:
* does a 0-byte write prior to handing off to the container runtime stream copy. That commits the response header, even if the subsequent copy blocks waiting for the first byte of content from the log.
* fixes a bug with the "ping" frame sent to websocket streams, which was not respecting the requested protocol (it was sending a binary frame to a websocket that requested a base64 text protocol)
* fixes a bug in the limitwriter, which was not propagating 0-length writes, even before the writer's limit was reached
2016-08-26 06:09:43 -07:00
Kubernetes Submit Queue
9deb18b989 Merge pull request #31378 from yifan-gu/rkt_fetch_no_store
Automatic merge from submit-queue

rkt: Force `rkt fetch` to fetch from remote to conform the image pull policy.

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

Use `--no-store` option for `rkt fetch` to force it to fetch from remote.
However, `--no-store` will fetch the remote image regardless of whether the content of the image has changed or not. 
This causes performance downgrade when the image tag is ':latest' and the image pull policy is 'always'. 
The issue is tracked in https://github.com/coreos/rkt/issues/2937.
2016-08-26 01:53:20 -07:00
Kubernetes Submit Queue
feb4d2004a Merge pull request #31064 from soundcloud/grobie/filter-internal-labels
Automatic merge from submit-queue

Filter internal Kubernetes labels from Prometheus metrics

**What this PR does / why we need it**:

Kubernetes uses Docker labels as storage for some internal labels. The
majority of these labels are not meaningful metric labels and a few of
them are even harmful as they're not static and cause wrong aggregation
results.

This change provides a custom labels func to only attach meaningful
labels to cAdvisor exported metrics.

**Which issue this PR fixes**

google/cadvisor#1312

**Special notes for your reviewer**:

Depends on google/cadvisor#1429. Once that is merged, I'll update the vendor update commit.

**Release note**:

```release-note
Remove environment variables and internal Kubernetes Docker labels from cAdvisor Prometheus metric labels.

Old behavior:

- environment variables explicitly whitelisted via --docker-env-metadata-whitelist were exported as `container_env_*=*`. Default is zero so by default non were exported
- all docker labels were exported as `container_label_*=*`

New behavior:

- Only `container_name`, `pod_name`, `namespace`, `id`, `image`, and `name` labels are exposed
- no environment variables will be exposed ever via /metrics, even if whitelisted
```

---

Given that we have full control over the exported label set, I shortened the pod_name, pod_namespace and container_name label names. Below an example of the change (reformatted for readability).

```
# BEFORE
container_cpu_cfs_periods_total{
  container_label_io_kubernetes_container_hash="5af8c3b4",
  container_label_io_kubernetes_container_name="sync",
  container_label_io_kubernetes_container_restartCount="1",
  container_label_io_kubernetes_container_terminationMessagePath="/dev/termination-log",
  container_label_io_kubernetes_pod_name="popularsearches-web-3165456836-2bfey",
  container_label_io_kubernetes_pod_namespace="popularsearches",
  container_label_io_kubernetes_pod_terminationGracePeriod="30",
  container_label_io_kubernetes_pod_uid="6a291e48-47c4-11e6-84a4-c81f66bdf8bd",
  id="/docker/68e1f15353921f4d6d4d998fa7293306c4ac828d04d1284e410ddaa75cf8cf25",
  image="redacted.com/popularsearches:42-16-ba6bd88",
  name="k8s_sync.5af8c3b4_popularsearches-web-3165456836-2bfey_popularsearches_6a291e48-47c4-11e6-84a4-c81f66bdf8bd_c02d3775"
} 72819

# AFTER
container_cpu_cfs_periods_total{
  container_name="sync",
  pod_name="popularsearches-web-3165456836-2bfey",
  namespace="popularsearches",
  id="/docker/68e1f15353921f4d6d4d998fa7293306c4ac828d04d1284e410ddaa75cf8cf25",
  image="redacted.com/popularsearches:42-16-ba6bd88",
  name="k8s_sync.5af8c3b4_popularsearches-web-3165456836-2bfey_popularsearches_6a291e48-47c4-11e6-84a4-c81f66bdf8bd_c02d3775"
} 72819
```

Feedback requested on:
* Label names. Other suggestions? Should we keep these very long ones?
* Do we need to export io.kubernetes.pod.uid? It makes working with the metrics a bit more complicated and the pod name is already unique at any time (but not over time). The UID is aslo part of `name`.

As discussed with @timstclair, this should be added to v1.4 as the current labels are harmful.

PTAL @jimmidyson @fabxc @vishh
2016-08-25 21:11:10 -07:00
Kubernetes Submit Queue
d3ecad111e Merge pull request #28717 from freehan/ebtable
Automatic merge from submit-queue

Filter duplicate network packets in promiscuous bridge mode (with ebtables)

also fixes: #30783
2016-08-25 19:12:09 -07:00
Yifan Gu
de402ac2c5 rkt: Force rkt fetch to fetch from remote to conform the fetch policy. 2016-08-25 14:44:44 -07:00
Yu-Ju Hong
a072bda6fd Print out resource name when evicting pods 2016-08-25 14:11:21 -07:00
Jordan Liggitt
0deddb1a62 Do initial 0-byte write to stdout when streaming container logs 2016-08-25 14:29:22 -04: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
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
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
Dr. Stefan Schimanski
e356e52247 Add sysctl whitelist on the node 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
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
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
Kubernetes Submit Queue
de65e4c1e1 Merge pull request #31372 from freehan/mtufix
Automatic merge from submit-queue

fix #30376 that broken cross-build

ref: #30376
2016-08-24 19:25:45 -07:00
Kubernetes Submit Queue
f488d118ad Merge pull request #31091 from feiskyer/kuberuntime-getnetns
Automatic merge from submit-queue

Kubelet: implement GetNetNS for new runtime api

Kubelet: implement GetNetNS for new runtime api. 

CC @yujuhong @thockin @kubernetes/sig-node @kubernetes/sig-rktnetes
2016-08-24 13:40:40 -07:00
Minhan Xia
c1d3c89cfa fix #30376 that broken cross-build 2016-08-24 13:18:18 -07:00
Minhan Xia
42a554ec0d add ebtables rules to filter duplicate packets 2016-08-24 10:19:29 -07:00
Minhan Xia
950e689637 kubenet set cbr0 mac address 2016-08-24 10:18:48 -07:00
Kubernetes Submit Queue
189a870ec8 Merge pull request #30376 from justinsb/kubenet_mtu
Automatic merge from submit-queue

Add kubelet --network-plugin-mtu flag for MTU selection

* Add network-plugin-mtu option which lets us pass down a MTU to a network provider (currently processed by kubenet)
* Add a test, and thus make sysctl testable
2016-08-23 21:54:50 -07:00
Kubernetes Submit Queue
64210f43ff Merge pull request #30429 from ZTE-PaaS/zhangke-patch-023
Automatic merge from submit-queue

two nits for kubelet syncPod

a useless ‘(’ and a log level should be info
2016-08-23 15:04:59 -07:00
Yifan Gu
173dbd700b rkt: Append all-run to insecure-options when the pod's all containers are privileged. 2016-08-23 14:07:18 -07:00
Yifan Gu
d65a96a600 rkt: Override the config using the response from rkt api service. 2016-08-23 11:42:20 -07:00
Davanum Srinivas
87a370f67c 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-23 13:44:11 -04:00
Kubernetes Submit Queue
f977752243 Merge pull request #30953 from m1093782566/m109-node_status_test
Automatic merge from submit-queue

[kubelet test] Improve node status test debug info

I find the output format `%v` of glog couldn't output useful information of an `api.Node` object. The output of this line https://github.com/kubernetes/kubernetes/blob/master/pkg/kubelet/kubelet_node_status_test.go#L492
is

```
kubelet_node_status_test.go:491: expected
                &TypeMeta{Kind:,APIVersion:,}
                , got
                &TypeMeta{Kind:,APIVersion:,}
```

- It's difficult for me to tell the difference between expected and got.

- I prefer to use `diff.ObjectDiff(expectedNode, updatedNode)` to output the debug information as it will point out the starting character of the different objects.

I think this line https://github.com/kubernetes/kubernetes/blob/master/pkg/kubelet/kubelet_node_status_test.go#L647 can use `diff.ObjectDiff()` as well.

The related issus is #30952
2016-08-23 00:19:20 -07:00
Justin Santa Barbara
902ba4e249 Add network-plugin-mtu option for MTU selection
MTU selection is difficult, and if there is a transport such as IPSEC in
use may be impossible.  So we allow specification of the MTU with the
network-plugin-mtu flag, and we pass this down into the network
provider.

Currently implemented by kubenet.
2016-08-23 01:50:58 -04:00