Commit Graph

4707 Commits (d609f4ebca3882da1cc96846495828b936f47f7c)

Author SHA1 Message Date
Kubernetes Submit Queue faf556ecbf Merge pull request #45885 from zhangxiaoyu-zidif/kubelet_test-delete-redundant-para
Automatic merge from submit-queue (batch tested with PRs 40234, 45885, 42975)

delete unused para.

**What this PR does / why we need it**:
delete unused para.

**Release note**:

```release-note
NONE
```
2017-05-17 20:27:50 -07:00
Kubernetes Submit Queue 6dbe853e29 Merge pull request #45544 from ianchakeres/reconciler-err-cleanup
Automatic merge from submit-queue (batch tested with PRs 45990, 45544, 45745, 45742, 45678)

Refactor reconciler volume log and error messages

**What this PR does / why we need it**:
Utilizes volume-specific error and log messages introduced in #44969, inside files that also log volume information. 

Specifically: 

- pkg/kubelet/volumemanager/reconciler/reconciler.go, 
- pkg/controller/volume/attachdetach/reconciler/reconciler.go, and
- pkg/kubelet/volumemanager/populator/desired_state_of_world_populator.go


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

**Special notes for your reviewer**:

**Release note**:

```release-note
```
NONE
2017-05-17 18:40:51 -07:00
Kubernetes Submit Queue 7f183142de Merge pull request #45990 from dashpole/fix_gc
Automatic merge from submit-queue

[Bug Fix] Return quantity freed even when an error exists

bug was added by #44986.  If we get an error from deleteImages, we try and use the bytes freed in a calculation.
That PR changed the behavior from evicting a pod upon error, to panicking because of the nil pointer.

This should fix inode eviction tests

/assign @dchen1107
2017-05-17 18:03:59 -07:00
Kubernetes Submit Queue ed8ce901f8 Merge pull request #45977 from yujuhong/started_time
Automatic merge from submit-queue (batch tested with PRs 45977, 45890)

kuberuntime: report StartedAt regardless of container states

This fixes #45943

**Release note**:
```release-note
Fix the bug where StartedAt time is not reported for exited containers.
```
2017-05-17 15:39:01 -07:00
Yu-Ju Hong de0438a5c8 kuberuntime: add unit tests for container status population
Also refactor a little bit to make the function more testable.
2017-05-17 13:14:00 -07:00
David Ashpole c9f58c0cd5 dont return nil quantities when calling deleteImages, as this quantity is used regardless of err 2017-05-17 12:58:41 -07:00
Yu-Ju Hong 7c75f5c551 kuberuntime: report StartedAt for exited containers 2017-05-17 11:14:09 -07:00
Kubernetes Submit Queue 4a9a702ee1 Merge pull request #45926 from MrHohn/api-annotations-move
Automatic merge from submit-queue

Move all API related annotations into annotation_key_constants.go

Separate from #45869. See https://github.com/kubernetes/kubernetes/pull/45869#discussion_r116839411 for details.

This PR does nothing but move constants around :)

/assign @caesarxuchao 

**Release note**:

```release-note
NONE
```
2017-05-17 10:34:53 -07:00
Kubernetes Submit Queue b10fd19232 Merge pull request #45625 from Random-Liu/fix-log-line
Automatic merge from submit-queue (batch tested with PRs 45860, 45119, 44525, 45625, 44403)

Make a log line more clear in kuberuntime_manager.go.

Make a log in `podSandboxChanged` more clear.

@yujuhong @feiskyer
2017-05-16 16:14:56 -07:00
Zihong Zheng a82676a126 Keep annotation_key_constants consistent 2017-05-16 14:25:30 -07:00
Kubernetes Submit Queue 88a3b5babd Merge pull request #45111 from dwradcliffe/fix_kubelet_config_ignore
Automatic merge from submit-queue

kubelet: use the base filename to check if the filename starts with a dot

**What this PR does / why we need it**:
Fixes a bug in https://github.com/kubernetes/kubernetes/pull/39196. The goal was to ignore files that start with a dot but the value used is the full absolute filename including path.

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

@yujuhong

**Release note**:
```release-note
kubelet config should actually ignore files starting with dots
```
2017-05-16 11:39:02 -07:00
Kubernetes Submit Queue f82bdca459 Merge pull request #44326 from xlgao-zju/forcibly-remove
Automatic merge from submit-queue (batch tested with PRs 44326, 45768)

[CRI] Forcibly remove container

Forcibly remove the running containers in `RemoveContainer`. Since we should forcibly remove the running containers in `RemovePodSandbox`. See [here](https://github.com/kubernetes/kubernetes/blob/master/pkg/kubelet/api/v1alpha1/runtime/api.proto#L35).

cc @feiskyer @Random-Liu 

Signed-off-by: Xianglin Gao <xlgao@zju.edu.cn>
2017-05-16 10:39:05 -07:00
David Radcliffe aa4fdf5907 use the base filename to check if the filename starts with a dot 2017-05-16 12:17:58 -04:00
Kubernetes Submit Queue 576d1d243e Merge pull request #45408 from Carlory/fix-typo
Automatic merge from submit-queue

fix typo in docker_container.go

Signed-off-by: Carlory <fanbaofa@gmail.com>



**What this PR does / why we need it**:
fix typo in docker_container.go

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

**Special notes for your reviewer**:
NONE

**Release note**:

```release-note
NONE
```
2017-05-16 09:06:38 -07:00
zhangxiaoyu-zidif 471f97526b delete unused para. 2017-05-16 18:46:29 +08:00
Kubernetes Submit Queue 7cd32aba17 Merge pull request #45775 from liggitt/mirror-pod-validation
Automatic merge from submit-queue (batch tested with PRs 44337, 45775, 45832, 45574, 45758)

Tighten validation of mirror pod annotations

Tightens validation for pods with a mirror pod annotation:
1. spec.nodeName must be set
2. makes the mirror pod annotation immutable
3. starts validating pod-specific annotations during pod status update

None of these changes affect usage of the mirror pod annotation by kubelets, which only set it on pod creation (verified this is true back to 1.5.x)

the second commit updates the pod validation tests to look for specific error messages (best reviewed ignoring whitespace changes)

This is the validation portion of https://github.com/kubernetes/community/blob/master/contributors/design-proposals/kubelet-authorizer.md and https://github.com/kubernetes/features/issues/279

```release-note
Mirror pods must now indicate the nodeName they are bound to on creation. The mirror pod annotation is now treated as immutable and cannot be added to an existing pod, removed from a pod, or modified.
```
2017-05-15 18:39:13 -07:00
Kubernetes Submit Queue e11963194e Merge pull request #45808 from Crazykev/quick-fix
Automatic merge from submit-queue (batch tested with PRs 45171, 43947, 45788, 45822, 45808)

[CRI] Continue remove image when can't find image id with ImageRef

Signed-off-by: Crazykev <crazykev@zju.edu.cn>



**What this PR does / why we need it**: 
Should try to remove imageRef as repo:tag when can't find it as imageID.
/cc @feiskyer @Random-Liu  PTAL
also /cc @xlgao-zju @heartlock

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

**Special notes for your reviewer**:

**Release note**:

```release-note
None
```
2017-05-15 14:24:51 -07:00
Kubernetes Submit Queue 51d6429a62 Merge pull request #45658 from zhangxiaoyu-zidif/add-strong-to-parsepodfulname
Automatic merge from submit-queue (batch tested with PRs 41331, 45591, 45600, 45176, 45658)

ParsePodFullName():code robustness

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

ParsePodFullName():code robustness

if pod name or namespace name is null, the function can handle it.
Meanwhile update unit test 

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2017-05-15 13:25:52 -07:00
Kubernetes Submit Queue f6bcd28cd7 Merge pull request #41331 from dshulyak/import_remotecommand
Automatic merge from submit-queue (batch tested with PRs 41331, 45591, 45600, 45176, 45658)

Move client/unversioned/remotecommand to client-go

Module remotecommand originally part of kubernetes/pkg/client/unversioned was moved
to client-go/tools, and will be used as authoritative in kubectl, e2e and other places.

Module remotecommand relies on util/exec module which was copied to client-go/pkg/util
2017-05-15 13:25:42 -07:00
Kubernetes Submit Queue 1b7dacde4b Merge pull request #41766 from feiskyer/sysctls
Automatic merge from submit-queue (batch tested with PRs 45826, 45747, 45548, 45606, 41766)

CRI: using typed filed for sysctls

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

CRI supports sysctls via annotations [today](https://github.com/kubernetes/kubernetes/blob/master/pkg/kubelet/api/v1alpha1/runtime/api.proto#L237), we should move them to typed and structured fields instead. (refer [here](https://github.com/kubernetes/kubernetes/issues/30819#issuecomment-253369441))

**Which issue this PR fixes** 

Part of #39130.

**Release note**:

```release-note
NONE
```
2017-05-15 11:39:29 -07:00
Dmitry Shulyak a713604b24 Use streaming constants from pkg/api/v1 instead of pkg/api 2017-05-15 17:00:14 +03:00
Dmitry Shulyak 2612e0c78a Move client/unversioned/remotecommand to client-go
Module remotecommand originally part of kubernetes/pkg/client/unversioned was moved
to client-go/tools, and will be used as authoritative in kubectl, e2e and other places.

Module remotecommand relies on util/exec module which will be copied to client-go/pkg/util
2017-05-15 16:28:56 +03:00
Crazykev 1369a263f5 continue remove image when can't find image id with ref
Signed-off-by: Crazykev <crazykev@zju.edu.cn>
2017-05-15 19:12:29 +08:00
Xing Zhou a2e68e96cb Fix typo.
Fixed typo.
2017-05-15 14:01:30 +08:00
Pengfei Ni 2b4956c208 dockershim: get sysctls from sandbox config instead of annotations 2017-05-15 12:53:32 +08:00
Pengfei Ni 8bc6e59278 kuberuntime: set sysctls for sandbox config 2017-05-15 12:52:38 +08:00
Pengfei Ni a7c9638e56 CRI: move sysctls annotations to typed fields 2017-05-15 12:52:01 +08:00
Jordan Liggitt cd3a1187a1
Require nodeName for mirror pods, make mirror pod annotation immutable 2017-05-13 22:34:41 -04:00
heartlock 8e702347ad set LogPath in dockershim
Signed-off-by: heartlock <21521209@zju.edu.cn>
2017-05-13 03:24:44 +00:00
heartlock c3b52267ca add LogPath for container status in CRI Interface
Signed-off-by: heartlock <21521209@zju.edu.cn>
2017-05-13 03:20:17 +00:00
Kubernetes Submit Queue ce4f010b01 Merge pull request #45553 from jcbsmpsn/init-certificate-manager-no-client
Automatic merge from submit-queue (batch tested with PRs 42759, 45553)

Allow certificate manager to be initialized with client.

Add test coverage to the certificate manager covering the initialization
scenario where it is initialized with no Certificate Request Signing
client, then the client is added later. This matches how it will be used
when the Certificate Request Signing client is also the consumer of the
certificate manager.
2017-05-12 17:48:39 -07:00
Kubernetes Submit Queue 3619c33350 Merge pull request #42759 from mtaufen/kubelet-apis-reorg
Automatic merge from submit-queue

Reorganize kubelet tree so apis can be independently versioned

@yujuhong @lavalamp @thockin @bgrant0607 
This is an example of how we might reorganize `pkg/kubelet` so the apis it exposes can be independently versioned. This would also provide a logical place to put the `KubeletConfiguration` type, which currently lives in `pkg/apis/componentconfig`; it could live in e.g. `pkg/kubelet/apis/config` instead.

Take a look when you have a chance and let me know what you think. The most significant change in this PR is reorganizing `pkg/kubelet/api` to `pkg/kubelet/apis`, the rest is pretty much updating import paths and `BUILD` files.
2017-05-12 17:43:22 -07:00
Kubernetes Submit Queue 816f8e29d8 Merge pull request #45623 from wongma7/subpath-file
Automatic merge from submit-queue

Don't attempt to make and chmod subPath if it already exists

fixes https://github.com/kubernetes/kubernetes/issues/45613

https://github.com/kubernetes/kubernetes/pull/43775 fixed one bug and introduced another... I overlooked that subPaths can be files, in which case MkDirAll will simply fail and the pod will not able to start.

Regardless of whether it is a directory or a file, there is no need to introduce the MkdirAll->Chmod  procedure if it exists, because if it exists, it should already have the correct permissions.

This needs to be cherry-picked into 1.6.

```release-note
Fix pods failing to start if they specify a file as a volume subPath to mount
```
2017-05-12 14:55:45 -07:00
Kubernetes Submit Queue 9c8287d629 Merge pull request #45624 from dashpole/kubelet_cleanup
Automatic merge from submit-queue (batch tested with PRs 45685, 45572, 45624, 45723, 45733)

Remove unused fields from Kubelet struct

Just a small attempt to clean up some unused fields in the kubelet struct.  This doesn't make any actual code changes.

/assign @mtaufen
2017-05-12 14:00:57 -07:00
Jacob Simpson de23d3fd00 Allow certificate manager to be initialized with client.
Add test coverage to the certificate manager covering the initialization
scenario where it is initialized with no Certificate Request Signing
client, then the client is added later. This matches how it will be used
when the Certificate Request Signing client is also the consumer of the
certificate manager.
2017-05-12 13:53:37 -07:00
Michael Taufen cbad320205 Reorganize kubelet tree so apis can be independently versioned 2017-05-12 10:02:33 -07:00
Kubernetes Submit Queue e1bb9a5177 Merge pull request #45667 from yujuhong/mv-pull-tests
Automatic merge from submit-queue (batch tested with PRs 45691, 45667, 45698, 45715)

dockertools: migrate the unit tests and delete the package
2017-05-12 04:09:41 -07:00
Kubernetes Submit Queue 1d4f0b4ac9 Merge pull request #45266 from Crazykev/remove-image
Automatic merge from submit-queue (batch tested with PRs 45684, 45266, 45669, 44787, 44984)

[CRI] Return success if ImageNotFound in RemoveImage() 

Signed-off-by: Crazykev <crazykev@zju.edu.cn>



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

**Sorry for close the [old one](https://github.com/kubernetes/kubernetes/pull/44381) mistakenly,  rebase and move to here.**
RemoveImage() operation should be idempotent, [ref](https://github.com/kubernetes/kubernetes/blob/master/pkg/kubelet/api/v1alpha1/runtime/api.proto#L89-L92)
 @feiskyer @Random-Liu PTAL


**Which issue this PR fixes**

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2017-05-12 03:20:38 -07:00
Kubernetes Submit Queue 990cbb3127 Merge pull request #45663 from JulienBalestra/rkt-improve-gc
Automatic merge from submit-queue (batch tested with PRs 45571, 45657, 45638, 45663, 45622)

rkt: Improve the Garbage Collection

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

This PR improve the garbage collection of files written inside the `/var/lib/kubelet/pods/<pod: id>`

It removes the` finished-<pod: id>` file touched during the `ExecStopPost` of the systemd unit.
It also removes the `/dev/termination-log` file mounted into containers .

The termination-log is used to produce a message from the container and collected by the kubelet when the Pod stops.
Especially for the termination-log, removing theses files will free the associated space used on the filesystem.


**Release note**:

`NONE`
2017-05-12 02:28:40 -07:00
Kubernetes Submit Queue 1f22204119 Merge pull request #45571 from verb/fix-fakeruntime-assertcalls
Automatic merge from submit-queue

Fix AssertCalls usage for kubelet fake runtimes unit tests

Despite its name, AssertCalls() does not assert anything. It returns an error that should be checked. This was causing false negatives for a handful of unit tests, which are also fixed here.

Tests for the image manager needed to be rearranged in order to accommodate a potentially different sequence of calls each tick because the image puller changes behavior based on prior errors.

**What this PR does / why we need it**: Fixes broken unit tests

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

**Special notes for your reviewer**: 

**Release note**:

```release-note
NONE
```
2017-05-12 01:45:22 -07:00
Kubernetes Submit Queue 6c50ffcf7b Merge pull request #45291 from yaxinlx/feature-request/fix-kubelet-channel-close
Automatic merge from submit-queue

There is a rule in using go channel: never close a channel in the

receiver side.

fix https://github.com/kubernetes/kubernetes/issues/45215
2017-05-12 00:16:59 -07:00
Ian Chakeres b1315f4491 Refactor reconciler volume log and error messages 2017-05-11 22:33:17 -07:00
Hemant Kumar 951a36aac7 Add Keepterminatedpodvolumes as a annotation on node
and lets make sure that controller respects it
and doesn't detaches mounted volumes.
2017-05-11 22:31:14 -04:00
Kubernetes Submit Queue 3dfffac7f9 Merge pull request #41684 from gyliu513/kubelet-types-labels
Automatic merge from submit-queue

Improved code coverage for pkg/kubelet/types/labels

The test coverage improved from 0% to 100%.
This fixed part of #40780



**What this PR does / why we need it**:
Increase test coverage.

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

**Special notes for your reviewer**:
release-note-none

**Release note**:

```NONE
```
2017-05-11 12:20:17 -07:00
Yu-Ju Hong fccf34ccb6 Remove various references of dockertools
Also update the bazel files.
2017-05-11 10:01:41 -07:00
Yu-Ju Hong 4b72d229f7 Migrate unit tests for image pulling credentials and error handling
Also remove the dockertools package completely.
2017-05-11 10:01:41 -07:00
Crazykev ebb5c3d13d return success if ImageNotFound in RemoveImage()
Signed-off-by: Crazykev <crazykev@zju.edu.cn>
2017-05-11 23:00:34 +08:00
Julien Balestra 00d87a7209 Remove the termination-log files, the finished- marker file during the GC 2017-05-11 16:36:44 +02:00
zhangxiaoyu-zidif 65080ea1c1 ParsePodFullName():code robustness 2017-05-11 19:14:16 +08:00
Xianglin Gao 0144803c07 Forcibly remove container
Signed-off-by: Xianglin Gao <xlgao@zju.edu.cn>
2017-05-11 18:39:37 +08:00