Commit Graph

4535 Commits

Author SHA1 Message Date
Kubernetes Submit Queue
4653a9b280 Merge pull request #41543 from dshulyak/decouple_remotecommand
Automatic merge from submit-queue (batch tested with PRs 44406, 41543, 44071, 44374, 44299)

Decouple remotecommand

Refactored unversioned/remotecommand to decouple it from undesirable dependencies:

- term package now is not required, and functionality required to resize terminal size can be plugged in directly in kubectl
- in order to remove dependency on kubelet package - constants from kubelet/server/remotecommand were moved to separate util package (pkg/util/remotecommand)
- remotecommand_test.go moved to pkg/client/tests module
2017-04-13 19:52:05 -07:00
Kubernetes Submit Queue
1cf6ef08df Merge pull request #44406 from Random-Liu/stop-following-when-exited
Automatic merge from submit-queue

CRI: Stop following container log when container exited.

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

This PR changed kubelet to periodically check whether container is running when following container logs, and stop following when container exited.

I've tried this PR in my local cluster:
```
Wed Apr 12 20:23:54 UTC 2017
Wed Apr 12 20:23:58 UTC 2017
Wed Apr 12 20:24:02 UTC 2017
Wed Apr 12 20:24:06 UTC 2017
Wed Apr 12 20:24:10 UTC 2017
Wed Apr 12 20:24:14 UTC 2017
Wed Apr 12 20:24:18 UTC 2017
Wed Apr 12 20:24:22 UTC 2017
Wed Apr 12 20:24:26 UTC 2017
Wed Apr 12 20:24:30 UTC 2017
Wed Apr 12 20:24:34 UTC 2017
Wed Apr 12 20:24:38 UTC 2017
Wed Apr 12 20:24:42 UTC 2017
Wed Apr 12 20:24:46 UTC 2017
failed to wait logs for log file "/var/log/pods/1d54634c7b31346fc3219f5e0b7507cc/nginx_0.log": container "b9a17a2c53550c3703ab350d85911743af8bf164a41813544fd08fb9585f7501" is not running (state="CONTAINER_EXITED")
```

The only difference is that `ReadLogs` will return error when container exits during following. I'm not sure whether we should get rid of it or not.

@yujuhong @feiskyer @JorritSalverda
/cc @kubernetes/sig-node-bugs 

**Release note**:
```release-note
`kubectl logs -f` now stops following when container stops.
```
2017-04-13 19:10:28 -07:00
Random-Liu
2fbf34f7c1 Stop following container log when container exited. 2017-04-13 11:25:08 -07:00
Dmitry Shulyak
f50480c714 Decouple remotecommand client from term/kubelet dependencies
In order to move client/unversioned/remotecommand to client-go as a followup
for this change we have to decouple it from tons of dependencies
2017-04-13 15:56:40 +03:00
Kubernetes Submit Queue
42c0994c34 Merge pull request #43031 from dashpole/eviction_metrics
Automatic merge from submit-queue

Add prometheus metrics for age of stats used for evictions.

Completes #42923 

This PR adds metrics for evictions, and records how stale data used for evictions is.

cc @vishh @derekwaynecarr @kubernetes/sig-node-pr-reviews
2017-04-12 12:38:58 -07:00
Andy Goldstein
00e11566f2 Make the dockershim root directory configurable
Make the dockershim root directory configurable so things like
integration tests (e.g. in OpenShift) can run as non-root.
2017-04-12 09:06:21 -04:00
Chao Xu
08aa712a6c move helpers.go to helper 2017-04-11 15:49:11 -07:00
David Ashpole
9f7e09ddfe eviction age metrics 2017-04-11 09:07:16 -07:00
Timothy St. Clair
818dd4443d Update generated due to proto-shift 2017-04-11 08:48:59 -05:00
Klaus Ma
c2b629ee2a Removed hostname/subdomain annotation. 2017-04-10 13:55:40 +08:00
Kubernetes Submit Queue
97f9b717d3 Merge pull request #44199 from supereagle/update-docker-version-parser
Automatic merge from submit-queue

update docker version parser for its new versioning scheme

**What this PR does / why we need it**:
Docker has change its release strategy and versioning scheme from [v17.03.0-ce-rc1](https://github.com/docker/docker/releases/tag/v17.03.0-ce-rc1). We need to update the version verify condition to satisfy the new docker versions.

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

**Special notes for your reviewer**:

**Release note**:

```
NONE
```
2017-04-08 06:02:19 -07:00
Kubernetes Submit Queue
d043e20feb Merge pull request #44121 from mbohlool/patch
Automatic merge from submit-queue (batch tested with PRs 43777, 44121)

Add patchMergeKey and patchStrategy  support to OpenAPI

Support generating Open API extensions for strategic merge patch tags in go struct tags
Support `patchStrategy` and `patchMergeKey`.
Also support checking if the Open API extension and struct tags match.

```release-note
Support generating Open API extensions for strategic merge patch tags in go struct tags
```

cc: @pwittrock @ymqytw 

(Description mostly copied from #43833)
2017-04-07 20:01:10 -07:00
Kubernetes Submit Queue
c8f90171e4 Merge pull request #39678 from resouer/extract-resource
Automatic merge from submit-queue (batch tested with PRs 41775, 39678, 42629, 42524, 43028)

Extract resources functions belongs to api/util

Address: extract kubelet resources functions belongs to `pkg/api/v1/resource_helpers.go`
2017-04-07 17:44:14 -07:00
ymqytw
1804e5e548 add patch comment tags in open api 2017-04-07 15:44:32 -07:00
Kubernetes Submit Queue
8b2782a311 Merge pull request #43386 from ncdc/export-construct-pod-port-mapping
Automatic merge from submit-queue (batch tested with PRs 43951, 43386)

Move & export ConstructPodPortMapping

ConstructPodPortMapping: move & export

Move ConstructPodPortMapping to pkg/kubelet/network/hostport and export
it so downstream projects (such as OpenShift) can use it.

cc @sttts @kubernetes/sig-node-pr-reviews @kubernetes/sig-network-pr-reviews
2017-04-07 10:56:36 -07:00
Kubernetes Submit Queue
19991ca53f Merge pull request #43914 from ncdc/configurable-dockershim-socket
Automatic merge from submit-queue (batch tested with PRs 43373, 41780, 44141, 43914, 44180)

kubelet: make dockershim.sock configurable

**What this PR does / why we need it**: allow the path to dockershim.sock to be configurable, so downstream projects such as OpenShift can run integration tests without needing to run them as root

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

cc @derekwaynecarr @sttts @kubernetes/rh-cluster-infra @kubernetes/sig-node-pr-reviews
2017-04-07 09:57:41 -07:00
supereagle
b98c36394d update docker version parser for its new versioning scheme 2017-04-07 14:53:44 +08:00
Kubernetes Submit Queue
27cf62ac29 Merge pull request #43940 from xlgao-zju/rm-all-containers
Automatic merge from submit-queue (batch tested with PRs 42025, 44169, 43940)

[CRI] Remove all containers in the sandbox

Remove all containers in the sandbox, when we remove the sandbox.

/cc @feiskyer @Random-Liu 

Signed-off-by: Xianglin Gao <xlgao@zju.edu.cn>
2017-04-06 17:00:23 -07:00
Kubernetes Submit Queue
063a5ca6fd Merge pull request #41189 from NickrenREN/kubelet-dswp-test
Automatic merge from submit-queue (batch tested with PRs 41189, 43818)

add dswp unit test case
2017-04-06 15:12:18 -07:00
Andy Goldstein
2c30dc1a60 ConstructPodPortMapping: move & export
Move ConstructPodPortMapping to pkg/kubelet/network/hostport and export
it so downstream projects (such as OpenShift) can use it.
2017-04-06 13:47:33 -04:00
Andy Goldstein
010b71a5f7 kubelet: make dockershim.sock configurable
Make the location of dockershim.sock configurable, so downstream
projects (such as OpenShift) can place it in a location that does not
require root access (e.g. for integration tests).

Make the kubelet respect and use the values of
--container-runtime-endpoint and --image-service-endpoint, if set. If
unset, the default value of /var/run/dockershim.sock is used.
2017-04-06 12:01:21 -04:00
Kubernetes Submit Queue
422497b4cf Merge pull request #43447 from NickrenREN/vm-updateStates
Automatic merge from submit-queue (batch tested with PRs 42141, 43447)

Fix AddPodToVolume: Change arg to volumeGidValue instead of devicePath

**Release note**:
```release-note
NONE
```
2017-04-05 22:31:23 -07:00
Kubernetes Submit Queue
d661ea971b Merge pull request #43432 from NickrenREN/vmmanager-cleanup
Automatic merge from submit-queue

cleanup: remove TODO(resolved) and var(unused)

**Release note**:

```release-note
NONE
```
2017-04-05 21:31:11 -07:00
NickrenREN
4b7b0e2bc2 add dswp unit test case
add test case for dswp
2017-04-06 11:47:23 +08:00
Kubernetes Submit Queue
62c7c66ff4 Merge pull request #42772 from timchenxiaoyu/sometypo
Automatic merge from submit-queue (batch tested with PRs 44097, 42772, 43880, 44031, 44066)

fix some typo

fix some typo

**Release note**:

```NONE
```
2017-04-05 16:41:20 -07:00
Kubernetes Submit Queue
7b7257ac79 Merge pull request #44097 from feiskyer/hostpid
Automatic merge from submit-queue

Fix container hostPid settings

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

HostPid is not set correctly for containers.

**Which issue this PR fixes**

Fixes #44041.

**Special notes for your reviewer**:

Should be cherry-picked into v1.6 branch.

**Release note**:

```release-note
Fix container hostPid settings.
```


cc @yujuhong @derekwaynecarr @unclejack @kubernetes/sig-node-pr-reviews
2017-04-05 16:24:49 -07:00
Kubernetes Submit Queue
08fefc9d9a Merge pull request #42769 from timchenxiaoyu/acrosstypo
Automatic merge from submit-queue

fix across typo

fix across typo


NONE
2017-04-05 14:28:26 -07:00
Pengfei Ni
023fe48c98 Do not clear hostPid for host-networked container 2017-04-05 22:34:30 +08:00
Pengfei Ni
5812c876f7 kuberuntime: set namespsace options regardless of security context 2017-04-05 22:29:46 +08:00
Xianglin Gao
b9c1d6c7c8 Remove all containers in the sandbox
Signed-off-by: Xianglin Gao <xlgao@zju.edu.cn>
2017-04-05 13:36:30 +08:00
Kubernetes Submit Queue
1a43fd0a63 Merge pull request #44047 from yujuhong/dont_panic
Automatic merge from submit-queue (batch tested with PRs 44047, 43514, 44037, 43467)

Check the error before parsing the apiversion

This fixes #44027
2017-04-04 14:33:20 -07:00
Kubernetes Submit Queue
faf2eca226 Merge pull request #42916 from dashpole/misleading_log
Automatic merge from submit-queue

Clearer ImageGC failure errors.  Fewer events.

Addresses #26000.  Kubelet often "fails" image garbage collection if cAdvisor has not completed the first round of stats collection.  Don't create events for a single failure, and make log messages more specific.

@kubernetes/sig-node-bugs
2017-04-04 11:23:32 -07:00
Yu-Ju Hong
19c8b2fb0e Check the error before parsing the apiversion 2017-04-04 09:38:44 -07:00
Kubernetes Submit Queue
e28cb42706 Merge pull request #42717 from andrewsykim/support-host-ip-downward-api
Automatic merge from submit-queue

Support status.hostIP in downward API

**What this PR does / why we need it**:
Exposes pod's hostIP (node IP) via downward API. 

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: 
fixes https://github.com/kubernetes/kubernetes/issues/24657

**Special notes for your reviewer**:
Not sure if there's more documentation that's needed, please point me in the right direction and I will add some :)
2017-04-03 15:48:12 -07:00
Kubernetes Submit Queue
953d8838ea Merge pull request #40117 from mtaufen/flags-struct
Automatic merge from submit-queue

Add separate KubeletFlags struct and remove HostnameOverride and NodeIP from config type

Add a separate flags struct for Kubelet flags

Kubelet flags are not necessarily appropriate for the KubeletConfiguration
object. For example, this PR also removes HostnameOverride and NodeIP
from KubeletConfiguration.This is a preleminary step to enabling Nodes
to share configurations, as part of the dynamic Kubelet configuration
feature (#29459). Fields that must be unique for each node inhibit
sharing, because their values, by definition, cannot be shared.

/cc @ncdc @kubernetes/sig-node-misc @kubernetes/sig-cluster-lifecycle-misc
2017-04-03 15:02:51 -07:00
Kubernetes Submit Queue
e2d011e455 Merge pull request #41582 from dashpole/unit_test_status
Automatic merge from submit-queue (batch tested with PRs 42973, 41582)

Improve status manager unit testing

This is designed to simplify testing logic in the status manager, and decrease reliance on syncBatch.  This is a smaller portion of #37119, and should be easier to review than that change.

It makes the following changes:
- creates convenience functions for get, update, and delete core.Action
- prefers using syncPod on elements in the podStatusChannel to using syncBatch to reduce unintended reliance on syncBatch
- combines consuming, validating, and clearing actions into single verifyActions function.  This replaces calls to testSyncBatch(), verifyActions(), and ClearActions
- changes comments in testing functions into log statements for easier debugging

@Random-Liu
2017-04-03 14:05:17 -07:00
Michael Taufen
f5eed7e91d Add a separate flags struct for Kubelet flags
Kubelet flags are not necessarily appropriate for the KubeletConfiguration
object. For example, this PR also removes HostnameOverride and NodeIP
from KubeletConfiguration. This is a preleminary step to enabling Nodes
to share configurations, as part of the dynamic Kubelet configuration
feature (#29459). Fields that must be unique for each node inhibit
sharing, because their values, by definition, cannot be shared.
2017-04-03 13:28:29 -07:00
Kubernetes Submit Queue
6c6f4f0185 Merge pull request #43925 from Random-Liu/fix-dockershim-dns-options
Automatic merge from submit-queue

[CRI] Use DNSOptions passed by CRI in dockershim.

When @xlgao-zju is working on the CRI validation test, he found that dockershim is not using the DNSOptions passed in CRI. https://github.com/kubernetes-incubator/cri-tools/pull/30#issuecomment-290644357

This PR fixed the issue. I've manually tried, for `ClusterFirst` DNSPolicy, the resolv.conf will be:
```
nameserver 8.8.8.8
search corp.google.com prod.google.com prodz.google.com google.com
options ndots:5
```

For `Default` DNSPolicy, the resolv.conf will be:
```
nameserver 127.0.1.1
search corp.google.com prod.google.com prodz.google.com google.com
```

@xlgao-zju You should be able to test after this PR is merged.

/cc @yujuhong @feiskyer
2017-04-03 11:58:23 -07:00
David Ashpole
58c32c5228 improve testing 2017-04-03 11:32:53 -07:00
Random-Liu
b1ce4b7a1d Use DNSOptions passed by CRI in dockershim. 2017-04-03 10:24:42 -07:00
Harry Zhang
efb10b1821 Move extract resources to its pkg
Move ExtractContainerResourceValue
2017-04-03 13:06:48 +08:00
Kubernetes Submit Queue
25a87fa19c Merge pull request #40804 from runcom/prepull-cri
Automatic merge from submit-queue

test/e2e_node: prepull images with CRI

Part of https://github.com/kubernetes/kubernetes/issues/40739

- This PR builds on top of #40525 (and contains one commit from #40525)
- The second commit contains a tiny change in the `Makefile`.
- Third commit is a patch to be able to prepull images using the CRI (as opposed to run `docker` to pull images which doesn't make sense if you're using CRI most of the times)

Marked WIP till #40525 makes its way into master

@Random-Liu @lucab @yujuhong @mrunalp @rhatdan
2017-04-01 03:08:35 -07:00
Kubernetes Submit Queue
8dde5f2cb0 Merge pull request #43890 from xlgao-zju/more-robust
Automatic merge from submit-queue

Make func modifySandboxNamespaceOptions() more robust

Make func `modifySandboxNamespaceOptions()` more robust, just like what we do in func [`modifyContainerNamespaceOptions`](https://github.com/kubernetes/kubernetes/blob/master/pkg/kubelet/dockershim/security_context.go#L117).

/cc @feiskyer 

Signed-off-by: Xianglin Gao <xlgao@zju.edu.cn>
2017-03-31 12:27:03 -07:00
Kubernetes Submit Queue
d42d630d74 Merge pull request #43762 from sjenning/docker-pid-fail
Automatic merge from submit-queue

refactor getPidsForProcess and change error handling

xref https://github.com/openshift/origin/issues/13262

Right now, failure to read the docker pid from the pid file results in some premature nasty logging.  There is still a chance we can get the docker pid from `procfs.PidOf()`.  If that fails we should just log at `V(4)` rather than `runtime.HanldeError()`.

This PR refactors `getPidsForProcess()` to wait until both methods for determining the pid fail before logging anything.

@smarterclayton @ncdc @derekwaynecarr
2017-03-31 10:02:03 -07:00
Kubernetes Submit Queue
7629bffba2 Merge pull request #42876 from timchenxiaoyu/accuratehint
Automatic merge from submit-queue (batch tested with PRs 42379, 42668, 42876, 41473, 43260)

accurate hint

accurate hint

same err hint (Error adding network) in one method,cann't position problem
2017-03-30 23:36:26 -07:00
Xianglin Gao
e5b3e0879d make func modifySandboxNamespaceOptions() more robust
Signed-off-by: Xianglin Gao <xlgao@zju.edu.cn>
2017-03-31 14:14:10 +08:00
andrewsykim
a62653456b use kl.getHostIPAnyWay() to get host ip even if node is not registered 2017-03-30 21:57:08 -04:00
David Ashpole
2cd65ea863 only create event for multiple imagegc failures 2017-03-30 16:19:18 -07:00
Kubernetes Submit Queue
61f5f842e2 Merge pull request #42662 from wongma7/status
Automatic merge from submit-queue

Print dereferenced pod status fields when logging status update

Before: "Terminated:0xc421932af0"
After:"Terminated:&ContainerStateTerminated{ExitCode:0,Signal:0,Reason:Completed,Message:,StartedAt:0001-01-01 00:00:00 +0000 UTC,FinishedAt:2017-03-07 14:50:48 -0500 EST,ContainerID:docker://bd453bb969264b3ace2b3934a568af7679a0d51fee543a5f8a82429ff654970e,}"

"Ignoring same status for pod" messages already print status fully, these "Status for pod updated" messages should too IMO

```release-note
NONE
```
2017-03-30 10:33:41 -07:00
Kubernetes Submit Queue
a644c8f968 Merge pull request #43775 from wongma7/subpath
Automatic merge from submit-queue

Create subPaths and set their permissions like we do mountPaths

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

If a subPath does not exist at the time MountVolume.Setup happens, SetVolumeOwnership will not have walked to the subPath and set appropriate permissions on it, leading to the above issue

So later, at makeMounts when we are parsing subPaths, let's create all subPaths and set their permissions according to how the parent mountPath looks.

```release-note
NONE
```
2017-03-30 01:15:50 -07:00