Commit Graph

562 Commits

Author SHA1 Message Date
Kubernetes Submit Queue
f650ddf800 Merge pull request #35132 from dashpole/per_volume_inode
Automatic merge from submit-queue

Per Volume Inode Accounting

Collects volume inode stats using the same find command as cadvisor.  The command is "find _path_ -xdev -printf '.' | wc -c".  The output is passed to the summary api, and will be consumed by the eviction manager.

This cannot be merged yet, as it depends on changes adding the InodesUsed field to the summary api, and the eviction manager consuming this.  Expect tests to fail until this happens.
DEPENDS ON #35137
2016-11-05 23:45:44 -07:00
Kubernetes Submit Queue
649c0ddd0e Merge pull request #35342 from timstclair/rejected
Automatic merge from submit-queue

[AppArmor] Hold bad AppArmor pods in pending rather than rejecting

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

Overview of the fix:

If the Kubelet needs to reject a Pod for a reason that the control plane doesn't understand (e.g. which AppArmor profiles are installed on the node), then it might contiinuously try to run the pod on the same rejecting node. This change adds a concept of "soft rejection", in which the Pod is admitted, but not allowed to run (and therefore held in a pending state). This prevents the pod from being retried on other nodes, but also prevents the high churn. This is consistent with how other missing local resources (e.g. volumes) is handled.

A side effect of the change is that Pods which are not initially runnable will be retried. This is desired behavior since it avoids a race condition when a new node is brought up but the AppArmor profiles have not yet been loaded on it.

``` release-note
Pods with invalid AppArmor configurations will be held in a Pending state, rather than rejected (failed). Check the pod status message to find out why it is not running.
```

@kubernetes/sig-node @timothysc @rrati @davidopp
2016-11-05 22:52:26 -07:00
Kubernetes Submit Queue
56526043d5 Merge pull request #32530 from mtaufen/dynamic-settings-tests
Automatic merge from submit-queue

Utility functions for using dynamic Kubelet configuration from a test

/cc @vishh @dchen1107
2016-11-04 20:24:03 -07:00
Kubernetes Submit Queue
fbe29f43ea Merge pull request #35724 from mtaufen/disable-cmount-for-e2e-node
Automatic merge from submit-queue

Temporarily disable GCI mounter in e2e node tests

This is just so we have an off-switch ready to go if we need it. Don't merge unless we need to disable this functionality in the e2e node tests.
2016-11-04 14:49:52 -07:00
Michael Taufen
c76c9c5330 Temporarily disable GCI mounter in e2e node tests 2016-11-04 12:42:47 -07:00
Yu-Ju Hong
0918a5d5f3 Revert "cr2 e2e: remove experimental-mounter-rootfs flag" 2016-11-04 08:25:03 -07:00
saadali
402116aed4 Revert "Merge pull request #35821 from vishh/gci-mounter-scope"
This reverts commit 973fa6b334, reversing
changes made to 41b5fe86b6.
2016-11-03 20:23:25 -07:00
Kubernetes Submit Queue
32bc46a202 Merge pull request #36181 from yujuhong/get_logs
Automatic merge from submit-queue

Node e2e: collect logs if the test fails unexpectedly
2016-11-03 14:40:52 -07:00
Yu-Ju Hong
97a348063c Node e2e: collect logs if the test fails unexpectedly
This only works for nodes with journald.
2016-11-03 11:54:02 -07:00
Yu-Ju Hong
722ecfb21c cr2 e2e: remove experimental-mounter-rootfs flag
The commit was reverted and the flag no longer exists.
2016-11-03 08:21:07 -07:00
Kubernetes Submit Queue
973fa6b334 Merge pull request #35821 from vishh/gci-mounter-scope
Automatic merge from submit-queue

[Kubelet] Use the custom mounter script for Nfs and Glusterfs only

This patch reduces the scope for the containerized mounter to NFS and GlusterFS on GCE + GCI clusters

This patch also enabled the containerized mounter on GCI nodes

Shepherding multiple PRs through the submit queue is painful. Hence I combined them into this PR. Please review each commit individually.

cc @jingxu97 @saad-ali

https://github.com/kubernetes/kubernetes/pull/35652 has also been reverted as part of this PR
2016-11-03 04:32:19 -07:00
Vishnu Kannan
414e4ae549 Revert "Adding a root filesystem override for kubelet mounter"
This reverts commit e861a5761d.
2016-11-02 15:18:09 -07:00
Tim St. Clair
ec9111d942 Hold bad AppArmor pods in pending rather than rejecting 2016-11-02 11:05:16 -07:00
Michael Taufen
5190a7d72d Add dynamic kubelet configuration utilities to node e2e tests
Also modify dynamic kubelet configuration test to rely on new utility functions
2016-11-02 10:02:21 -07:00
derekwaynecarr
42289c2758 pod and qos level cgroup support 2016-11-02 08:07:04 -04:00
Yu-Ju Hong
d22f4045d5 Disable gci-mounter in cri node e2e tests
gci-mounter is still being validated and there are known issues. Do not enable it
for cri tests for now.
2016-11-01 18:00:43 -07:00
David Ashpole
d494ef66f0 Collects volume inode stats using the same find command that cadvisor uses these are included in the summary 2016-11-01 10:51:11 -07:00
Kubernetes Submit Queue
2244bfed81 Merge pull request #35137 from dashpole/per_container_inode_eviction
Automatic merge from submit-queue

Eviction manager evicts based on inode consumption

Fixes: #32526 Integrate Cadvisor per-container inode stats into the summary api.  Make the eviction manager act based on inode consumption to evict pods using the most inodes.

This PR is pending on a cadvisor godeps update which will be included in PR #35136
2016-11-01 10:32:09 -07:00
Kubernetes Submit Queue
4bae0f3a96 Merge pull request #35927 from timstclair/summary-test
Automatic merge from submit-queue

Bump Kubelet workingset upper bound

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

Follow up to https://github.com/kubernetes/kubernetes/pull/35828, because working memory is too high now too.
2016-10-31 15:34:18 -07:00
Tim St. Clair
8330b081bc Bump Kubelet workingset upper bound 2016-10-31 13:51:07 -07:00
David Ashpole
b8fc546d60 eviction manager ecivts pod using the most inodes. 2016-10-31 11:32:49 -07:00
Dr. Stefan Schimanski
ab3ce27f01 Make master+federation ServerRunOptions embeddings explicit 2016-10-31 11:04:58 +01:00
Dr. Stefan Schimanski
b798527793 Rename master/options/{APIServer -> ServerRunOptions} 2016-10-31 10:55:19 +01:00
Tim St. Clair
304dbd0e2e Increase sys container usageBytes upper bound 2016-10-28 14:50:08 -07:00
Kubernetes Submit Queue
cf7178d7c3 Merge pull request #35572 from bprashanth/ip_gc
Automatic merge from submit-queue

GC pod ips

Finally managed to write a *failing* test. 
Supersedes https://github.com/kubernetes/kubernetes/pull/34373

```release-note
GC pod ips
```
2016-10-28 14:44:28 -07:00
Kubernetes Submit Queue
14495fed7c Merge pull request #35717 from vishh/rkt-v1.18.0
Automatic merge from submit-queue

Update rkt version on GCI nodes to v1.18.0

v1.18.0 avoids outputting debug information by default which happens to
pollute events and kubelet logs.
2016-10-28 03:10:30 -07:00
bprashanth
37bc34c567 periodically GC pod ips 2016-10-27 22:15:35 -07:00
Kubernetes Submit Queue
a266f72b34 Merge pull request #35730 from yujuhong/expand_benchmarks
Automatic merge from submit-queue

Add coreos and gci images to the node benchmark job
2016-10-27 16:47:19 -07:00
Yu-Ju Hong
bf2fd238cc Add coreos and gci images to the node benchmark job 2016-10-27 14:52:58 -07:00
Kubernetes Submit Queue
90f4ceefc4 Merge pull request #35349 from vishh/gci-cmount
Automatic merge from submit-queue

Update GCI mounter script to run in a rkt container

Depends on #35652
2016-10-27 13:49:37 -07:00
Vishnu kannan
c556b33bd6 update rkt to v1.18.0 which avoids outputting debug information by default
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-10-27 12:24:29 -07:00
Vishnu kannan
19c19c2e0f Updating GCI mounter to be containerized
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-10-27 09:37:08 -07:00
David Ashpole
eb19713486 kubelet calls GetDirFsInfo(root directory) instead of using GetFsInfo(root label). Reverted #33520, and changed e2e test context to use nodefs 2016-10-27 08:04:59 -07:00
Vishnu kannan
e861a5761d Adding a root filesystem override for kubelet mounter
This is useful for supporting hostPath volumes via containerized
mounters in kubelet.

Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-10-26 21:42:59 -07:00
Kubernetes Submit Queue
f300d7ed69 Merge pull request #35646 from vishh/klet-relative-mount
Automatic merge from submit-queue

rename kubelet flag mounter-path to experimental-mounter-path

```release-note
* Kubelet flag '--mounter-path' renamed to '--experimental-mounter-path'
```

The feature the flag controls is an experimental feature and this renaming ensures that users do not depend on this feature just yet.
2016-10-26 16:57:33 -07:00
Brian Grant
2ae2339d6a Merge pull request #35546 from thockin/kill-head-scary-warning-on-master
Remove obsolete munger on docs
2016-10-26 16:44:53 -07:00
Vishnu kannan
adef4675a0 rename kubelet flag mounter-path to experimental-mounter-path
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-10-26 14:50:33 -07:00
Kubernetes Submit Queue
b1d8961fe4 Merge pull request #35463 from timstclair/summary-test
Automatic merge from submit-queue

Log failed containers after summary e2e test

To help debug https://github.com/kubernetes/kubernetes/issues/34990
2016-10-25 23:55:05 -07:00
Kubernetes Submit Queue
67d947996c Merge pull request #33988 from Random-Liu/add-remote-docker-shim
Automatic merge from submit-queue

CRI: Add dockershim grpc server.

This PR adds a in-process grpc server for dockershim.

Flags change:
1. `container-runtime` will not be automatically set to remote when `container-runtime-endpoint` is set. @feiskyer 
2. set kubelet flag `--experimental-runtime-integration-type=remote --container-runtime-endpoint=UNIX_SOCKET_FILE_PATH` to enable the in-process dockershim grpc server.
3. set node e2e test flag `--runtime-integration-type=remote -container-runtime-endpoint=UNIX_SOCKET_FILE_PATH` to run node e2e test against in-process dockershim grpc server.

I've run node e2e test against the remote cri integration, tests which don't rely on stream and log functions can pass.

This unblocks the following work:
1) CRI conformance test.
2) Performance comparison between in-process integration and in-process grpc integration.

@yujuhong @feiskyer 
/cc @kubernetes/sig-node
2016-10-25 15:36:29 -07:00
Tim Hockin
b0fa2056a6 Remove 'this is HEAD' warning on docs 2016-10-26 00:06:59 +02:00
Kubernetes Submit Queue
ffeb01fd17 Merge pull request #35321 from vishh/gci-rkt
Automatic merge from submit-queue

Adding rkt binary to GCI 

rkt is being used to support containerized storage plugins on GCI.
2016-10-25 14:56:14 -07:00
Vishnu kannan
968e7ebe1d add rkt to GCI node e2e test images
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-10-25 12:38:16 -07:00
Ryan Hitchman
78eeb76386 Make hack/update_owners.py get list from local repo, add --check option. 2016-10-25 12:26:21 -07:00
Random-Liu
3d549b9e25 Add dockershim grpc server. 2016-10-25 10:31:16 -07:00
Mike Danese
763c4987f2 autogenerated 2016-10-24 14:47:27 -07:00
Mike Danese
ea632fa813 Revert "disable bazel build"
This reverts commit ee15c80de2.
2016-10-24 14:47:26 -07:00
Mike Danese
0ea5904c23 rename test/e2e_node/build/ to builder/ 2016-10-24 14:47:26 -07:00
Kubernetes Submit Queue
4fbbc746a0 Merge pull request #35161 from mtaufen/mike-klet-cmount-node-e2e
Automatic merge from submit-queue

e2e node plumbing and bundling for GCI mounter

**Note:** The code in this PR only bundles the mounter and modifies `--mounter-path` if it can find `cluster/gce/gci/mounter` in the K8s source dir when building the test bundle.

This bundles the mounter script for GCI with the node e2e tests and allows the `--mounter-path` to be passed to the Kubelet via the node test framework. The node test runner will detect when we are running on a remote GCI node and add the appropriate `--mounter-path` to the `testArgs`. 

It also includes a simple node test that mounts a tmpfs volume. This will exercise the Kubelet's mounter code path. 

**ITEM OF NOTE:** To get the k8s root dir (in order to copy the mount script into the tarball), I changed `getK8sRootDir` -> `GetK8sRootDir` in `test/e2e_node/build/build.go`. Based on the comment above that function (and the fact that it was private to begin with), I'm not sure this is the best way to do things:
```
// TODO: Dedup / merge this with comparable utilities in e2e/util.go
```
On the other hand, the `e2e/util.go` file mentioned in that comment doesn't exist anymore. This should be resolved before this PR is merged.
2016-10-24 14:22:57 -07:00
Tim St. Clair
7656ffeec6 Log failed containers after summary e2e test 2016-10-24 13:47:16 -07:00
Kubernetes Submit Queue
4f072f7a06 Merge pull request #35401 from Random-Liu/add-containervm-cri-test
Automatic merge from submit-queue

CRI: Add cri test on containervm.

As is discussed with @yujuhong, we need to validate cri on containervm.

@yujuhong @feiskyer 
/cc @kubernetes/sig-node
2016-10-24 13:38:48 -07:00