Commit Graph

172 Commits

Author SHA1 Message Date
deads2k
f1176d9c5c mechanical repercussions 2017-01-13 08:27:14 -05:00
Madhusudan.C.S
5a7644c502 [Federation][init-11] Switch federation e2e tests to use the new federation control plane bootstrap via the kubefed init command. 2016-12-16 11:22:44 +05:30
Wojciech Tyczynski
6051870a48 Allow for configuring timeout for waiting for nodes 2016-12-13 09:55:34 +01:00
Random-Liu
edf7608c51 Remove kubelet related flags from node e2e. Add a single flag kubelet-flags to pass kubelet flags all together. 2016-11-17 10:17:32 -08:00
Random-Liu
090809d8ad Remove dependency on kubelet related flags. 2016-11-17 10:17:32 -08:00
Vishnu kannan
9066253491 [kubelet] rename --cgroups-per-qos to --experimental-cgroups-per-qos to reflect the true nature of that feature
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-11-14 14:06:39 -08:00
Kubernetes Submit Queue
1bc5b822cd Merge pull request #36479 from Random-Liu/node-e2e-node-name
Automatic merge from submit-queue

Node Conformance & E2E: Get node name from node object.

This PR changes the node e2e test framework to get node name from apiserver instead of test flags.

When a user tried out the node conformance test, he found that node conformance test will not work properly if kubelet is started with `hostname-override`.

The reason is that node conformance test is using [the default node name - `os.Hostname`](https://github.com/kubernetes/kubernetes/blob/master/test/e2e_node/e2e_node_suite_test.go#L124), which may be different from `hostname-override`. This will cause test pods not scheduled, and eventually test timeout.

We can expose a flag from node conformance test, and let user set node name themselves if they are using `hostname-override` on kubelet. However, let the framework automatically detect it from apiserver is more user friendly.

/cc @kubernetes/sig-node 
This PR 1) only changes node e2e test framework; 2) fixes a problem in node conformance test which is a 1.5 feature. @saad-ali Can we have this in 1.5?
2016-11-10 18:56:53 -08:00
Random-Liu
1c70c899f7 Get node name from node object. 2016-11-10 14:25:50 -08:00
Vishnu kannan
dd8ec911f3 Revert "Revert "Merge pull request #35821 from vishh/gci-mounter-scope""
This reverts commit 402116aed4.
2016-11-08 11:09:10 -08:00
Kubernetes Submit Queue
0df6384770 Merge pull request #31093 from Random-Liu/containerize-node-e2e-test
Automatic merge from submit-queue

Node Conformance Test: Containerize the node e2e test

For #30122, #30174.
Based on #32427, #32454.

**Please only review the last 3 commits.**

This PR packages the node e2e test into a docker image:
- 1st commit: Add `NodeConformance` flag in the node e2e framework to avoid starting kubelet and collecting system logs. We do this because:
  - There are all kinds of ways to manage kubelet and system logs, for different situation we need to mount different things into the container, run different commands. It is hard and unnecessary to handle the complexity inside the test suite.
- 2nd commit: Remove all `sudo` in the test container. We do this because:
  - In most container, there is no `sudo` command, and there is no need to use `sudo` inside the container.
  - It introduces some complexity to use `sudo` inside the test. (https://github.com/kubernetes/kubernetes/issues/29211, https://github.com/kubernetes/kubernetes/issues/26748) In fact we just need to run the test suite with `sudo`.
- 3rd commit: Package the test into a docker container with corresponding `Makefile` and `Dockerfile`. We also added a `run_test.sh` script to start kubelet and run the test container. The script is only for demonstration purpose and we'll also use the script in our node e2e framework. In the future, we should update the script to start kubelet in production way (maybe with `systemd` or `supervisord`).

@dchen1107 @vishh 
/cc @kubernetes/sig-node @kubernetes/sig-testing



**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
Release alpha version node test container gcr.io/google_containers/node-test-ARCH:0.1 for users to verify their node setup.
```
2016-11-07 23:41:25 -08:00
Yu-Ju Hong
dcce768a3e Rename experimental-runtime-integration-type to experimental-cri 2016-11-07 11:29:24 -08:00
Random-Liu
13a50e3b97 Add containerize flag to avoid starting kubelet and collecting logs. 2016-11-06 20:18:23 -08: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
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
derekwaynecarr
42289c2758 pod and qos level cgroup support 2016-11-02 08:07:04 -04: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
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
Random-Liu
3d549b9e25 Add dockershim grpc server. 2016-10-25 10:31:16 -07:00
Michael Taufen
6fdb20480f Bundle GCI mounter w/ node tests and plumb --mounter-path through test args to the Kubelet for node tests 2016-10-24 05:50:24 -07:00
jayunit100
430921eec4 Cleanup the commented code for overriding flags with viper. For now, leave that functinoality unused with a TODO if we want to override flag values w/ viper visitor pattern 2016-10-13 16:14:05 -04:00
Minhan Xia
47ccd15b1d add delete-namespace-on-failure flag 2016-10-03 17:14:51 -07:00
Wojciech Tyczynski
90e6751b35 Use protobufs by default in e2e test clients 2016-09-28 09:52:36 +02:00
jayunit100
fe5429e921 Logging soak, rebased w/ viper
ReadConfig as local
2016-09-21 07:49:12 -04:00
Kubernetes Submit Queue
e3e26164d5 Merge pull request #32902 from jayunit100/viper_hierarchies
Automatic merge from submit-queue

Viper direct bindings to TestContext struct with hierarchichal suppor…

Part of #31453 to support hierarchichal parameters.  This one does so for density, paves way for other tests as well.
2016-09-20 15:11:22 -07:00
jayunit100
be2e1f5d96 viper hierarchies, cadvisor impl 2016-09-20 15:42:22 -04:00
Random-Liu
ae031634e4 Add CRI Validation test. The test run non-flaky, non-serial test against
Kubernetes HEAD and docker v1.11.2 with CRI enabled.
2016-09-20 12:18:07 -07:00
Random-Liu
ed411c9042 Add image white list, images in white list will be prepulled, and
only images in white list could be used in the test. Currently only
enabled in node e2e test.
2016-09-19 14:39:23 -07:00
jayunit100
97396a34fa Add viper support to core e2es
rebase
2016-09-15 18:38:01 -04:00
Maisem Ali
19ca81cd36 Adding support for upgrading testing across image types. 2016-09-13 13:46:20 -07:00
Kubernetes Submit Queue
e317af87cc Merge pull request #31819 from mtaufen/plumb-feature-gates
Automatic merge from submit-queue

Plumb --feature-gates from TEST_ARGS to components in node e2e tests

This means you can set `TEST_ARGS` on the command line, in a `.properties` config for a Jenkins job, etc, to toggle gated features. For example:

`TEST_ARGS='--feature-gates=DynamicKubeletConfig=true'`

/cc @vishh @jlowdermilk
2016-09-09 12:31:00 -07:00
Wojciech Tyczynski
4b29d006b0 Allow for not-ready nodes in e2e test 2016-09-06 12:14:45 +02:00
Michael Taufen
a40b2cbe10 feature-gates flag plumbing for node e2e tests
This gives the node e2e test binary a --feature-gates flag that populates a
FeatureGates field on the test context. The value of this field is forwarded
to the kubelet's --feature-gates flag and is also used to populate the global
DefaultFeatureGate object so that statically-linked components see the same
feature gate settings as provided via the flag.

This means that you can set feature gates via the TEST_ARGS environment
variable when running node e2e tests. For example:

TEST_ARGS='--feature-gates=DynamicKubeletConfig=true'
2016-08-31 13:52:08 -07:00
bprashanth
43022591d1 Get network name via e2e environment. 2016-08-26 13:31:08 -07:00
Chao Xu
655e358418 enable gc by default in tests 2016-08-25 10:25:17 -07:00
bindata-mockuser
7b70c23998 Make disk eviction test run correctly on all images. 2016-08-22 18:40:54 -07:00
bindata-mockuser
1c47d9ddd0 Adding disk eviciton test to node e2e tests 2016-08-19 21:28:02 -07:00
derekwaynecarr
fde285cd8f Disable cgroups-per-qos flag until implementation is stabilized 2016-08-19 11:08:59 -04:00
Random-Liu
3910a66bb5 Add run-services-mode option, and start e2e services in a separate
process.
2016-08-15 14:45:01 -07:00
Kubernetes Submit Queue
817256a716 Merge pull request #30401 from caesarxuchao/kubemark-gc-upstream
Automatic merge from submit-queue

Let load and density e2e tests use GC if it's on

I've run the 100 and 500 nodes tests and they both pass.

The test-infra half of the PR is https://github.com/kubernetes/test-infra/pull/369

cc @lavalamp
2016-08-13 16:04:34 -07:00
Chao Xu
3688a78769 let load and density e2e tests use GC if it's on 2016-08-11 11:48:20 -07:00
Michael Taufen
736f1cb7c3 Node e2e memory eviction test
This test creates three pods with QoS of besteffort, burstable, and
guaranteed, respectively, which each contain a container that tries to
consume almost all the available memory at a rate of about 12Mi/10sec.

The expectation is that eviction will be initiated when the hard
memory.available<250Mi threshold is triggered, and that eviction will proceed
in the order of besteffort, then burstable. Since guaranteed pods should
only be evicted if something charged to the host uses more resources
than were reserved for it, we currently end the test when besteffort and
burstable have both been evicted.

Note that this commit also sets --eviction-hard=memory.available<250Mi
to enable eviction during tests.
2016-08-08 15:59:51 -07:00
Kubernetes Submit Queue
4d70d9f3de Merge pull request #30114 from Random-Liu/use-framework-report-dir
Automatic merge from submit-queue

Use report-dir in test framework instead.

We already have `report-dir` option in framework test context.
The node e2e framework should use it as well.

/cc @ronnielai
2016-08-05 23:31:28 -07:00
Kubernetes Submit Queue
ea00445069 Merge pull request #29863 from ronnielai/system-test1
Automatic merge from submit-queue

Added an node e2e test for pod evictions due to disk pressure.

#29800
2016-08-05 21:34:11 -07:00
Ron Lai
adf6b6ddf0 Added an node e2e test for pod evictions due to disk pressure. 2016-08-05 17:53:06 -07:00
Random-Liu
00b405d7e4 Use report-dir in test framework instead. 2016-08-04 23:40:17 -07:00
Random-Liu
7fd2319ca7 Change the node e2e junit file name to
junit_{image-name}{test-node-number}.xml
2016-08-04 15:50:35 -07:00
Erick Fejta
548780f05a Revert "Revert "Drop support for --gce-service-account, require activated creds"" 2016-08-02 20:34:02 -07:00
Jay Vyas
6166083c78 kill repo-root : test/e2e/serviceloadbalancers.go
bindata and yaml, Gobindata automation
bindata utils for generating, go generate
match server version
gitignore for dirty, ca, rbase, KUBE_ROOT, buildfix
(rebased jul-25,29)
2016-07-29 14:35:19 -04:00
k8s-merge-robot
cad9333ce7 Merge pull request #29242 from kubernetes/revert-28802-service
Automatic merge from submit-queue

Revert "Drop support for --gce-service-account, require activated creds"

Reverts kubernetes/kubernetes#28802

This appears to break the soak tests with "invalid grant" errors -- see the recent batch of errors in #27920.
2016-07-21 07:57:41 -07:00
Ryan Hitchman
0cb96b3614 Revert "Drop support for --gce-service-account, require activated creds" 2016-07-19 17:41:39 -07:00
Random-Liu
ad7e3c3053 Start namespace controller in node e2e test. 2016-07-18 19:06:59 -07:00
k8s-merge-robot
af0835c0f4 Merge pull request #28807 from Random-Liu/e2e-node-e2e-share-test
Automatic merge from submit-queue

Node E2E: Make it possible to share test between e2e and node e2e

This PR is part of the plan to improve node e2e test coverage.
* Now to improve test coverage, we have to copy test from e2e to node e2e.
* When adding a new test, we have to decide its destiny at the very beginning - whether it is a node e2e or e2e.

This PR makes it possible to share test between e2e and node e2e. 
By leveraging the mechanism of ginkgo, as long as we can import the test package in the test suite, the corresponding `Describe` will be run to initialize the global variable `_`, and the test will be inserted into the test suite. (See https://github.com/onsi/composition-ginkgo-example)

In the future, we just need to use the framework to write the test, and put the test into `test/e2e/node`, then it will be automatically shared by the 2 test suites.

This PR:
1) Refactored the framework to make it automatically differentiate e2e and node e2e (Mainly refactored the `PodClient` and the apiserver client initialization).
2) Created a new directory `test/e2e/node` and make it shared by e2e and node e2e.
3) Moved `container_probe.go` into `test/e2e/node` to verify the change.

@kubernetes/sig-node 

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-07-18 18:52:56 -07:00
Random-Liu
e40e82bd5c Make it possible to share test between e2e and node e2e,
and make container probing test shared to validate.
2016-07-18 14:05:08 -07:00
k8s-merge-robot
d08a722647 Merge pull request #28802 from fejta/service
Automatic merge from submit-queue

Drop support for --gce-service-account, require activated creds

Now that `gcloud auth activate-service-account` is in remove support in the test framework for default service accounts -- testing GCE/GKE now requires prior gcloud activation.
2016-07-18 12:08:03 -07:00
k8s-merge-robot
36c07cc554 Merge pull request #27961 from maisem/os-distribution
Automatic merge from submit-queue

Splitting OS_DISTRIBUTION into NODE_OS_DISTRIBUTION and MASTER_OS_DISTRIBUTION

fixes #26183 
[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-07-15 14:11:47 -07:00
Maisem Ali
97f3f80833 Splitting OS_DISTRIBUTION into NODE_OS_DISTRIBUTION and
MASTER_OS_DISTRIBUTION.
2016-07-15 12:02:31 -07:00
Buddha Prakash
5000e74664 Inject top level QoS cgroup creation in the Kubelet 2016-07-15 10:02:22 -07:00
Erick Fejta
fe8578db80 Drop support for --gce-service-account, require activated creds 2016-07-11 14:47:04 -07:00
David McMahon
ef0c9f0c5b Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
Tim St. Clair
376b5f247a Refactor common pod patterns to e2e framework. 2016-06-28 17:20:08 -07:00
Euan Kemp
fb56095683 e2e: Add container runtime flag 2016-06-15 11:50:58 -07:00
Wojciech Tyczynski
e0498ed76a Make timeout for starting system pods configurable 2016-06-15 11:25:42 +02:00
nikhiljindal
9b2b763ab0 Fixing references to federated-context and federation-e2e 2016-06-13 16:43:55 -07:00
Jerzy Szczepkowski
93e5b12a06 Multiple MIGs in e2e cluster autoscaling tests.
Implemented support for multiple MIGs in e2e cluster autoscaling tests.
2016-06-01 11:20:41 +02:00
Colin Hom
a092fd2dd4 Federation build and e2e test integration
Federation components are now buildable and e2e-testable via e2e.go.
2016-05-25 15:07:27 -07:00
gmarek
74773827ba Add an option for resource-gatherer to look only on master node 2016-05-13 09:53:38 +02:00
gmarek
2696e35be3 Add a flag to disable dumpig logs after e2e test failure 2016-05-11 16:53:30 +02:00
Wojciech Tyczynski
cb875e0f8c Enable using protobufs in e2e tests 2016-05-09 10:57:35 +02:00
Tim St. Clair
b0d3f32e88 Update test/e2e for test/e2e/framework refactoring 2016-04-13 10:50:17 -07:00
Tim St. Clair
a55b4f2e77 Move test/e2e framework & utility code to test/e2e/framework 2016-04-13 10:50:17 -07:00