Commit Graph

3678 Commits

Author SHA1 Message Date
Kubernetes Submit Queue
8923087b52 Merge pull request #31558 from MHBauer/match-raw-term-setting
Automatic merge from submit-queue

Use the rawTerminal setting from the container itself

**What this PR does / why we need it**:
Checks whether the container is set for rawTerminal connection and uses the appropriate connection.
Prevents the output `Error from server: Unrecognized input header` when doing `kubectl run`.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, #<issue_number>, ...)` format, will close that issue when PR gets merged)*: 
helps with case 1 in #28695, resolves #30159

**Special notes for your reviewer**:

**Release note**:
```
release-note-none
```
2016-10-24 18:55:14 -07:00
Mike Danese
763c4987f2 autogenerated 2016-10-24 14:47:27 -07:00
Kubernetes Submit Queue
bedb4f368f Merge pull request #35018 from Random-Liu/add-kuberuntime-unit-test
Automatic merge from submit-queue

CRI: Refactor kuberuntime unit test

Based on https://github.com/kubernetes/kubernetes/pull/34858

This PR:
1) Refactor the fake runtime service and some kuberuntime unit test.
2) Add better garbage collection unit test.
3) Fix init container unit test which isn't testing correctly. Some other unit tests may also need to be fixed.
4) Add pod log directory garbage collection unit test.

@feiskyer @yujuhong 
/cc @kubernetes/sig-node
2016-10-24 13:38:29 -07:00
Kubernetes Submit Queue
3c84164bdf Merge pull request #33347 from justinsb/fix_32900
Automatic merge from submit-queue

bootstrap: Start hostNetwork pods even if network plugin not ready
2016-10-24 01:14:06 -07:00
Random-Liu
0655ae56bb Add pod log garbage collection unit test. 2016-10-24 00:03:34 -07:00
Random Liu
e87fa5e0ff * Refactor kuberuntime unit test
* Add gc unit test
* Fix init container unit test
2016-10-24 00:03:34 -07:00
Random Liu
fad4672e72 Add legacy container log location support. 2016-10-23 19:08:47 -07:00
Random-Liu
121a91eb12 Symlink docker logs to CRI defined log path. 2016-10-23 19:08:47 -07:00
Kubernetes Submit Queue
eeae8b5975 Merge pull request #35294 from wojtek-t/kubelet_get_from_cache
Automatic merge from submit-queue

Kubelet getting node from apiserver cache before update.

This is blocked on #35218 (however it's ready for review).

It seems to visibly reduce the apiserver metrics (and I didn't observe higher number of conflicts even in 2000-node kubemark).
2016-10-22 01:59:57 -07:00
Wojciech Tyczynski
ee73fcdadb Update kubelet_node_status.go 2016-10-22 08:44:25 +02:00
Mike Danese
df713b478c fix tests by declaring testdata 2016-10-21 17:32:32 -07:00
Mike Danese
3b6a067afc autogenerated 2016-10-21 17:32:32 -07:00
Kubernetes Submit Queue
a7807eb5a4 Merge pull request #34138 from ingvagabund/create-restclient-interface
Automatic merge from submit-queue

Create restclient interface

Refactoring of code to allow replace *restclient.RESTClient with any RESTClient implementation that implements restclient.RESTClientInterface interface.
2016-10-21 16:02:04 -07:00
Kubernetes Submit Queue
d20dda0c06 Merge pull request #35309 from yujuhong/fix_restarts
Automatic merge from submit-queue

CRI: Handle container/sandbox restarts for pod with RestartPolicy == …

If all sandbox and containers are dead in a pod, and the restart policy is
"Never", kubelet should not try to recreate all of them.
2016-10-21 14:35:06 -07:00
Yu-Ju Hong
32f05cda4a CRI: Handle container/sandbox restarts for pod with RestartPolicy == Never
If all sandbox and containers are dead in a pod, and the restart policy is
"Never", kubelet should not try to recreate all of them.
2016-10-21 10:10:09 -07:00
Morgan Bauer
a53990fd59 Use the rawTerminal setting from the container itself 2016-10-21 08:15:39 -07:00
Kubernetes Submit Queue
f74fbfc044 Merge pull request #35240 from yujuhong/ns_fix
Automatic merge from submit-queue

Return an empty network namespace path for exited infra containers

If the infra container has already terminated, `docker inspect` will report
pid 0. The path constructed using the pid to check the network namespace of
the process will be invalid. This commit changes docker to report an empty
path to stop kubenet from erroring out whenever TearDown is called on an
exited infra container.
    
This is not a fix for all the plugins, as some plugins may require the actual
network namespace to tear down properly.
2016-10-21 03:12:57 -07:00
Jan Chaloupka
6079053407 Update clientset generator to use RESTClient interface instead of the RESTClient data type 2016-10-21 10:13:51 +02:00
Wojciech Tyczynski
ad87989378 Kubelet getting node from apiserver cache before update. 2016-10-21 09:21:39 +02:00
Kubernetes Submit Queue
3148bc7996 Merge pull request #35008 from timstclair/cri
Automatic merge from submit-queue

Add streaming methods to CRI API

Copied verbatim from the proposal in the [design doc](https://docs.google.com/document/d/1OE_QoInPlVCK9rMAx9aybRmgFiVjHpJCHI9LrfdNM_s/edit#heading=h.akcz9mrsrc0x).

Note: this will conflict with https://github.com/kubernetes/kubernetes/pull/33988, but the fix ("not implemented") is simple so we can see which gets approved first.

For https://github.com/kubernetes/kubernetes/pull/33988/files

/cc @Random-Liu @kubernetes/sig-node
2016-10-20 19:21:34 -07:00
Yu-Ju Hong
fee4c9a7d9 Return empty network namespace if the infra container has exited
If the infra container has already terminated, `docker inspect` will report
pid 0. The path constructed using the pid to check the network namespace of
the process will be invalid. This commit changes docker to report an empty
path to stop kubenet from erroring out whenever TearDown is called on an
exited infra container.

This is not a fix for all the plugins, as some plugins may require the actual
network namespace to tear down properly.
2016-10-20 17:12:08 -07:00
Tim St. Clair
c29ec1d02a Fix stdin type on attach 2016-10-20 14:54:16 -07:00
Kubernetes Submit Queue
c04aec3462 Merge pull request #34375 from euank/rkt-image-with-port
Automatic merge from submit-queue

rkt: Convert image name to be a valid acidentifier

**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
Fix a bug under the rkt runtime whereby image-registries with ports would not be fetched from
```

This fixes a bug whereby an image reference that included a port was not
recognized after being downloaded, and so could not be run

This is the quick-and-simple fix. In the longer term, we'll want to refactor image logic a bit more to handle the many special cases that the current code does not, mostly related to library images on dockerhub.

/cc @yifan-gu @kubernetes/sig-rktnetes
2016-10-20 13:08:01 -07:00
Tim St. Clair
80d7fcad86 Fix typo 2016-10-20 13:02:16 -07:00
Kubernetes Submit Queue
333c045429 Merge pull request #34998 from timstclair/sysdisk
Automatic merge from submit-queue

Don't report FS stats for system containers in the Kubelet Summary API

Fixes https://github.com/kubernetes/kubernetes/issues/31999
2016-10-20 00:07:56 -07:00
Kubernetes Submit Queue
61e0113019 Merge pull request #34906 from luxas/remove_old_networking
Automatic merge from submit-queue

WIP: Remove the legacy networking mode

<!--  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**:
Removes the deprecated configure-cbr0 flag and networking mode to avoid having untested and maybe unstable code in kubelet, see: #33789

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

**Special notes for your reviewer**: There are a lot of deployments who rely on this networking mode. Not sure how we deal with that: force switch to kubenet or just delete the old deployment?

But please review the code changes first (the first commit)

**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
Removed the deprecated kubelet --configure-cbr0 flag, and with that the "classic" networking mode as well
```

PTAL @kubernetes/sig-network @kubernetes/sig-node @mikedanese
2016-10-19 01:03:39 -07:00
Kubernetes Submit Queue
db2d8e0cc4 Merge pull request #34819 from feiskyer/AppArmor
Automatic merge from submit-queue

CRI: add docs for AppArmor and Seccomp

This PR adds docs for AppArmor and Seccomp in CRI.

cc/ @yujuhong @Random-Liu
2016-10-18 21:52:04 -07:00
Tim St. Clair
05669255d1 Add ExecSync method 2016-10-18 19:03:10 -07:00
Tim St. Clair
21564aafed stdin should be a bool, not a byte stream 2016-10-18 17:17:05 -07:00
Kubernetes Submit Queue
f39e86c0a5 Merge pull request #34474 from liggitt/connection-info-refactor
Automatic merge from submit-queue

Remove static kubelet client, refactor ConnectionInfoGetter

Follow up to https://github.com/kubernetes/kubernetes/pull/33718

* Collapses the multi-valued return to a `ConnectionInfo` struct
* Removes the "raw" connection info method and interface, since it was only used in a single non-test location (by the "real" connection info method)
* Disentangles the node REST object from being a ConnectionInfoProvider itself by extracting an implementation of ConnectionInfoProvider that takes a node (using a provided NodeGetter) and determines ConnectionInfo
* Plumbs the KubeletClientConfig to the point where we construct the helper object that combines the config and the node lookup. I anticipate adding a preference order for choosing an address type in https://github.com/kubernetes/kubernetes/pull/34259
2016-10-18 13:20:25 -07:00
Kubernetes Submit Queue
84aa5f695f Merge pull request #35038 from sjenning/nfs-nonblock-reader2
Automatic merge from submit-queue

kubelet: storage: don't hang kubelet on unresponsive nfs

Fixes #31272 

Currently, due to the nature of nfs, an unresponsive nfs volume in a pod can wedge the kubelet such that additional pods can not be run.

The discussion thus far surrounding this issue was to wrap the `lstat`, the syscall that ends up hanging in uninterruptible sleep, in a goroutine and limiting the number of goroutines that hang to one per-pod per-volume.

However, in my investigation, I found that the callsites that request a listing of the volumes from a particular volume plugin directory don't care anything about the properties provided by the `lstat` call.  They only care about whether or not a directory exists.

Given that constraint, this PR just avoids the `lstat` call by using `Readdirnames()` instead of `ReadDir()` or `ReadDirNoExit()`

### More detail for reviewers
Consider the pod mounted nfs volume at `/var/lib/kubelet/pods/881341b5-9551-11e6-af4c-fa163e815edd/volumes/kubernetes.io~nfs/myvol`.  The kubelet wedges because when we do a `ReadDir()` or `ReadDirNoExit()` it calls `syscall.Lstat` on `myvol` which requires communication with the nfs server.  If the nfs server is unreachable, this call hangs forever.

However, for our code, we only care what about the names of files/directory contained in `kubernetes.io~nfs` directory, not any of the more detailed information the `Lstat` call provides.  Getting the names can be done with `Readdirnames()`, which doesn't need to involve the nfs server.

@pmorie @eparis @ncdc @derekwaynecarr @saad-ali @thockin @vishh @kubernetes/rh-cluster-infra
2016-10-18 12:37:31 -07:00
Seth Jennings
da3683e2b7 kubelet: storage: don't hang kubelet on unresponsive nfs 2016-10-18 08:45:40 -05:00
Kubernetes Submit Queue
6e2f5f8f6d Merge pull request #28742 from jessfraz/test-go1.7rc1
Automatic merge from submit-queue

Update to go 1.7

<!--
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.
-->

Closes #33070
Closes #32999

```release-note
Updated Go to 1.7
```


[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()

This is to test go version 1.7
2016-10-18 05:59:04 -07:00
Tim St. Clair
be7834dc4a Add streaming methods to CRI API 2016-10-17 18:28:03 -07:00
Tim St. Clair
bd80da5822 Don't report FS stats for system containers 2016-10-17 16:57:17 -07:00
mbohlool
25afcc5522 Add +optional tag to all fields with omitempty json tag 2016-10-17 08:52:13 -07:00
Justin Santa Barbara
ad6d842a65 Create hostNetwork pods even if network plugin not ready 2016-10-17 10:12:14 -04:00
Lucas Käldström
565c5e6268 Remove unused net 2016-10-17 16:47:35 +03:00
Lucas Käldström
0800df74ab Remove the legacy networking mode --configure-cbr0 2016-10-16 21:26:41 +03:00
Jordan Liggitt
a082a2e749 Remove static kubelet client, refactor ConnectionInfoGetter 2016-10-15 22:15:04 -04:00
Kubernetes Submit Queue
5ff8829b32 Merge pull request #34503 from derekwaynecarr/fix-qos
Automatic merge from submit-queue

Fix edge case in qos evaluation

If a pod has a container C1 and C2, where sum(C1.requests, C2.requests) equals (C1.Limits), the code was reporting that the pod had "Guaranteed" qos, when it should have been Burstable.

/cc @vishh @dchen1107
2016-10-15 12:17:11 -07:00
Kubernetes Submit Queue
3f8b03aafd Merge pull request #32349 from lojies/execerrnil
Automatic merge from submit-queue

when err is nil,remove it from glog

err can be nil here.
2016-10-15 09:31:45 -07:00
Kubernetes Submit Queue
e5cdc95b85 Merge pull request #34767 from ivan4th/fix-more-typos-1
Automatic merge from submit-queue

Fix typos
2016-10-14 23:30:23 -07:00
Pengfei Ni
2ecdc2a81b CRI: add docs for AppArmor and Seccomp 2016-10-15 09:04:42 +08:00
Ivan Shvedunov
f1258dca4e Fix typos 2016-10-15 00:21:00 +03:00
Kubernetes Submit Queue
f73afdc5c2 Merge pull request #34779 from yujuhong/status_logging
Automatic merge from submit-queue

Log more information on pod status updates

Also bump the logging level to V2 so that we can see them in a non-test
cluster.
2016-10-14 04:22:32 -07:00
Kubernetes Submit Queue
d7c0eb322c Merge pull request #34276 from freehan/cri-runtime-config
Automatic merge from submit-queue

add UpdateRuntimeConfig interface

Expose UpdateRuntimeConfig interface in RuntimeService for kubelet to pass a set of configurations to runtime. Currently it only takes PodCIDR.

The use case is for kubelet to pass configs to runtime. Kubelet holds some config/information which runtime does not have, such as PodCIDR. I expect some of kubelet configurations will gradually move to runtime, but I believe cases like PodCIDR, which dynamically assigned by k8s master, need to stay for a while.
2016-10-13 23:10:42 -07:00
Jess Frazelle
d51962e1bb vet fixes
Signed-off-by: Jess Frazelle <me@jessfraz.com>
2016-10-13 21:12:15 -07:00
Yu-Ju Hong
47c49fc77c Log more information on pod status updates
Also bump the logging level to V2 so that we can see them in a non-test
cluster.
2016-10-13 14:07:09 -07:00
Kubernetes Submit Queue
afa709b8dc Merge pull request #34662 from yujuhong/sandbox_logs
Automatic merge from submit-queue

Add more log messages for sandbox restarts
2016-10-13 07:05:08 -07:00