Commit Graph

340 Commits

Author SHA1 Message Date
Kubernetes Submit Queue
5645ca749b Merge pull request #30941 from Random-Liu/remove-fatal-in-e2e-suite
Automatic merge from submit-queue

Node E2E: Remove fatal error in e2e_node_suite_test.go

Addresses https://github.com/kubernetes/kubernetes/issues/30779#issuecomment-240532190.

Currently we run node e2e test in parallel, and ginkgo makes sure that we only initialize test framework in the first test node.
However, because we throw out some fatal error during the initialization. Once there is an fatal error, the first test node will die immediately without reporting any error, and the other nodes will exit because the first node is gone with meaningless error.

If kubelet start fails, we'll get something like:
```
------------------------------
Failure [132.485 seconds]
[BeforeSuite] BeforeSuite 
/usr/local/google/home/lantaol/workspace/src/k8s.io/kubernetes/test/e2e_node/e2e_node_suite_test.go:138

  BeforeSuite on Node 1 failed

  /usr/local/google/home/lantaol/workspace/src/k8s.io/kubernetes/test/e2e_node/e2e_node_suite_test.go:138
------------------------------
......
------------------------------
Failure [132.465 seconds]
[BeforeSuite] BeforeSuite 
/usr/local/google/home/lantaol/workspace/src/k8s.io/kubernetes/test/e2e_node/e2e_node_suite_test.go:138

  BeforeSuite on Node 1 failed

  /usr/local/google/home/lantaol/workspace/src/k8s.io/kubernetes/test/e2e_node/e2e_node_suite_test.go:138
```

This PR replaces these fatal errors with gomega assertion, with this PR, we'll get:
```
Failure [132.482 seconds]
[BeforeSuite] BeforeSuite 
/usr/local/google/home/lantaol/workspace/src/k8s.io/kubernetes/test/e2e_node/e2e_node_suite_test.go:138

  should be able to start node services.
  Expected success, but got an error:
      <*errors.errorString | 0xc8203351b0>: {
          s: "failed to run server start command \"/tmp/ginkgo869068712/e2e_node.test --run-services-mode --server-start-timeout 2m0s --report-dir  --node-name lantaol0.mtv.corp.google.com --disable-kubenet=true --cgroups-per-qos=false --manifest-path /tmp/node-e2e-pod221291440 --eviction-hard memory.available<250Mi\": exit status 255",
      }
      failed to run server start command "/tmp/ginkgo869068712/e2e_node.test --run-services-mode --server-start-timeout 2m0s --report-dir  --node-name lantaol0.mtv.corp.google.com --disable-kubenet=true --cgroups-per-qos=false --manifest-path /tmp/node-e2e-pod221291440 --eviction-hard memory.available<250Mi": exit status 255

  /usr/local/google/home/lantaol/workspace/src/k8s.io/kubernetes/test/e2e_node/e2e_node_suite_test.go:117
------------------------------
Failure [132.485 seconds]
[BeforeSuite] BeforeSuite 
/usr/local/google/home/lantaol/workspace/src/k8s.io/kubernetes/test/e2e_node/e2e_node_suite_test.go:138

  BeforeSuite on Node 1 failed

  /usr/local/google/home/lantaol/workspace/src/k8s.io/kubernetes/test/e2e_node/e2e_node_suite_test.go:138
------------------------------
......
------------------------------
Failure [132.465 seconds]
[BeforeSuite] BeforeSuite 
/usr/local/google/home/lantaol/workspace/src/k8s.io/kubernetes/test/e2e_node/e2e_node_suite_test.go:138

  BeforeSuite on Node 1 failed

  /usr/local/google/home/lantaol/workspace/src/k8s.io/kubernetes/test/e2e_node/e2e_node_suite_test.go:138
```

This is much more informative.

/cc @kubernetes/sig-node
2016-08-21 18:21:22 -07:00
Kubernetes Submit Queue
08b3c6829e Merge pull request #30718 from Random-Liu/wait-node-ready-before-start-test
Automatic merge from submit-queue

Node E2E: Wait for node ready before the node e2e test started.

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

This PR makes node e2e test wait for exactly one node ready before running other test.

@ronnielai @mtaufen
2016-08-21 12:42:03 -07:00
Kubernetes Submit Queue
37f8559c22 Merge pull request #31039 from coufon/add_benchmark_to_jenkins
Automatic merge from submit-queue

Add benchmark to jenkins

This PR contains the following changes:

1. Add more tests in density benchmark test;
2. Add the peak value (100%) in latency and CPU usage statistic data;
3. Move the Ginkgo focus flag from e2e_remote.go to run_e2e.go;
4. Support running benchmark in run_e2e.go. The benchmark configuration file is an extension of image configuration. Each item requires additional GCE machine type (e.g. n1-standard-1, default value will be used if empty) and test names (Ginkgo focus regex strings). A test item is regarded as benchmark if the tests field is non-empty.
2016-08-21 08:32:39 -07:00
Random-Liu
cb760a6ed4 Wait for node ready before the node e2e test started. 2016-08-20 17:54:23 -07:00
Random-Liu
dd6584a606 Statically link apiserver to node e2e. 2016-08-20 17:41:34 -07:00
Kubernetes Submit Queue
98c4029275 Merge pull request #30200 from Random-Liu/move-namespace-controller-to-services
Automatic merge from submit-queue

Node Conformance Test: Move namespace controller to services

For #30122, #30174.
Based on #30116, #30198.

**Please only review the 3rd PR.**

This PR is part of our roadmap to package node conformance test.
The 1st commit is from #30116, which started e2e services in a separate process.
The 2nd commit is from #30198, it statically linked etcd into the node e2e framework.

The 3rd commit is new, it moved namespace controller into e2e services.

@dchen1107 @vishh 
/cc @kubernetes/sig-node @kubernetes/sig-testing
2016-08-20 14:19:40 -07:00
Zhou Fang
b8ab0c50c5 add benchmark to jenkins 2016-08-20 09:43:42 -07:00
bindata-mockuser
1c47d9ddd0 Adding disk eviciton test to node e2e tests 2016-08-19 21:28:02 -07:00
Kubernetes Submit Queue
e9815020eb Merge pull request #30475 from derekwaynecarr/pod-cgroup
Automatic merge from submit-queue

Unblock iterative development on pod-level cgroups

In order to allow forward progress on this feature, it takes the commits from #28017 #29049 and then it globally disables the flag that allows these features to be exercised in the kubelet.  The flag can be re-added to the kubelet when its actually ready.

/cc @vishh @dubstack @kubernetes/rh-cluster-infra
2016-08-19 21:06:48 -07:00
Kubernetes Submit Queue
237db0363a Merge pull request #31035 from ixdy/e2e-service-account
Automatic merge from submit-queue

When running inside docker, activate service account ASAP

Also switching to just use `GOOGLE_APPLICATION_CREDENTIALS`, rather than both.

x-ref https://github.com/kubernetes/test-infra/issues/318
2016-08-19 17:22:34 -07:00
Kubernetes Submit Queue
8c430c2fd7 Merge pull request #30476 from mtaufen/eviction_fix
Automatic merge from submit-queue

Wait for memory to be reclaimed after node_e2e MemoryEviction test

This helps prevent interference with other tests that run immediately after the MemoryEviction test.

/cc @Random-Liu @coufon
2016-08-19 17:22:05 -07:00
Jeff Grafton
8278d1c2ef When running inside docker, activate service account ASAP
Additionally, remove activation code everywhere else, since we do that
already in Jenkins.
2016-08-19 15:41:33 -07:00
Kubernetes Submit Queue
b29023aa91 Merge pull request #30810 from mnshaw/gubernator-bugs
Automatic merge from submit-queue

Gubernator bug fixes: mv and GCS bucket permissions

Fixed issue where results file was not moved correctly, and also the permissions issue with the GCS bucket.

Will rebase after #30414 is merged

@timstclair
2016-08-19 14:34:56 -07:00
Zhou Fang
30eb6882f4 add peak (100%) lantecy and CPU usage in perf data 2016-08-19 14:33:38 -07:00
Zhou Fang
95eb9efb11 add more density benchmark tests 2016-08-19 14:03:21 -07:00
Michael Taufen
a227ce42f2 Wait for memory to be reclaimed after node_e2e MemoryEviction test
This helps prevent interference with other tests that run immediately
after the MemoryEviction test.
2016-08-19 13:58:03 -07:00
Kubernetes Submit Queue
5f7875a9bc Merge pull request #30786 from coufon/add_time_series
Automatic merge from submit-queue

Add logging time series to benchmark test

This PR adds a new file benchmark_util.go which contains tool functions for benchmark (we can migrate benchmark related functions into it). 

The PR logs time series data for density benchmark test.
2016-08-19 13:41:29 -07:00
derekwaynecarr
fde285cd8f Disable cgroups-per-qos flag until implementation is stabilized 2016-08-19 11:08:59 -04:00
Kubernetes Submit Queue
29e16d0174 Merge pull request #30913 from Random-Liu/fix-readiness-check
Automatic merge from submit-queue

Node E2E: Make readiness check handling process exits with 0 exit code.

As is mentioned by @mtaufen:
 "there is a problem with the way service `start` is currently implemented in test/e2e_node/e2e_service.go. If the Kubelet exits with status 0 before the health check completes, cmdErrorChan will be closed and, as a result, nil will be read from that channel, and you will return a nil error from `start`."

This PR changes the logic to:
1) If the err channel returns an error, return the error
2) If the err channel returns a nil, ignore it and continue checking readiness.
3) If the err channel is closed before readiness check succeeds, replace it with `blockCh` and continue checking readiness.

@mtaufen 
/cc @kubernetes/sig-node
2016-08-18 21:54:50 -07:00
Zhou Fang
58495b5214 add labels to perf dataset 2016-08-18 17:15:43 -07:00
Random-Liu
35aad1593f Remove fatal error in e2e_node_suite_test.go 2016-08-18 16:03:02 -07:00
Marie Shaw
f7e2109b8b Fix GCS permissions and file moving bugs 2016-08-18 14:51:33 -07:00
Kubernetes Submit Queue
c8591c710b Merge pull request #30414 from mnshaw/run-remote-tests
Automatic merge from submit-queue

Add GUBERNATOR flag which produces g8r link for node e2e tests

When you run 'make tests-e2e-node REMOTE=true GUBERNATOR=true' outputs a URL to view the test results on Gubernator. ~~Should work after my PR for Gubernator is merged.~~

@timstclair
2016-08-18 14:40:12 -07:00
Random-Liu
1904c86074 Make readiness check handling process exits with 0 exit code. 2016-08-18 13:51:40 -07:00
Zhou Fang
f82746e038 move benchmark tag from context to it 2016-08-18 09:25:20 -07:00
Zhou Fang
5498130255 add logging time series data to benchmark tests 2016-08-18 09:20:40 -07:00
Random-Liu
90eb1f6de7 Move namespace controller into e2e services. 2016-08-18 02:18:07 -07:00
Kubernetes Submit Queue
d989fa9751 Merge pull request #30568 from coufon/node_density_and_performance_test
Automatic merge from submit-queue

Add tag [benchmark] to node-e2e-test where performance limits are not verified

This PR adds a new tag "[benchmark]" to density and resource-usage node e2e test. The performance limits will not be verified at the end of benchmark tests.
2016-08-18 01:29:09 -07:00
Random-Liu
0f32e2ca30 Statically link etcd into node e2e. 2016-08-17 02:06:35 -07:00
Kubernetes Submit Queue
457a151fdb Merge pull request #30116 from Random-Liu/start-e2e-services-in-separate-process
Automatic merge from submit-queue

Node Conformance Test: Start e2e services in a separate process

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

This is the first step of https://github.com/kubernetes/kubernetes/issues/30174.

This PR added a `start-services-only` mode in the test suite, and start all e2e services in a separate process by run the test binary again in `start-services-only` mode.
2016-08-17 00:13:05 -07:00
Random-Liu
1c5bd5540e Stop throwing fatal error in buildGo to fix vm leak. 2016-08-16 18:12:21 -07:00
Marie Shaw
d69252cbc2 Add GUBERNATOR flag for remote node e2e tests to produce gubernator link 2016-08-16 17:10:59 -07: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
Tim St. Clair
db6629228f Add AppArmor E2E test 2016-08-15 13:25:22 -07:00
Zhou Fang
f2af00f821 add benchmark test which does not verify limits 2016-08-14 18:55:46 -07:00
Kubernetes Submit Queue
8cc31b648e Merge pull request #30552 from ixdy/node-e2e-separate-project
Automatic merge from submit-queue

Run CI Jenkins node e2e tests in project k8s-jkns-ci-node-e2e

Fixes #27648.

If node VMs leak, they should only harm themselves, not the rest of Jenkins.

This also lets us do VM cleanup without worrying that we might accidentally delete important Jenkins VMs.

The `k8s-jkns-ci-node-e2e` should have the right ACLs in place already. The quota is at defaults, but I don't think we'll need to increase it at this point.
2016-08-13 18:18:44 -07:00
Kubernetes Submit Queue
b47596a856 Merge pull request #30508 from timothysc/etcd304_cleanup
Automatic merge from submit-queue

Update core etcd references to use 3.0.4

This updates the core references to use 3.0.4. 

There are still legacy references in the code base that should be cleaned, or just removed but I'm reluctant to purge.  

/cc @kubernetes/sig-scalability
2016-08-13 02:18:03 -07:00
Jeff Grafton
e399be0676 Run node e2e tests in project k8s-jkns-ci-node-e2e 2016-08-12 15:54:51 -07:00
Timothy St. Clair
a0d177ca71 Update core etcd references to use 3.0.4 2016-08-12 13:39:07 -05:00
Kubernetes Submit Queue
90efb214ba Merge pull request #30482 from mtaufen/eviction_disruptive
Automatic merge from submit-queue

Label MemoryEviction [Disruptive]

This test has the potential to be disruptive.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.kubernetes.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.kubernetes.io/reviews/kubernetes/kubernetes/30482)
<!-- Reviewable:end -->
2016-08-12 09:39:29 -07:00
Kubernetes Submit Queue
cb16c07736 Merge pull request #30415 from dchen1107/test1
Automatic merge from submit-queue

Fixed misconfigured kubelet on containervm image for node-e2e.

Fixed #30412 to unblock @coufon's performance benchmark work.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.kubernetes.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.kubernetes.io/reviews/kubernetes/kubernetes/30415)
<!-- Reviewable:end -->
2016-08-12 04:04:28 -07:00
Kubernetes Submit Queue
7457166290 Merge pull request #30485 from lavalamp/flake
Automatic merge from submit-queue

Turn on flake mitigation for the node e2e test



<!-- Reviewable:start -->
This change is [<img src="https://reviewable.kubernetes.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.kubernetes.io/reviews/kubernetes/kubernetes/30485)
<!-- Reviewable:end -->
2016-08-11 22:38:44 -07:00
Dawn Chen
f21960a0f6 Disable qos related tests since the cgroup_root is not properly set for systemd nodes. 2016-08-11 17:54:23 -07:00
Daniel Smith
b8dc23d0c1 Turn on flake mitigation for the node e2e test 2016-08-11 17:13:10 -07:00
Kubernetes Submit Queue
8c81c8340f Merge pull request #30333 from coufon/node_density_and_performance_test
Automatic merge from submit-queue

Add Time Series Data and Labels in Node density test

This pull requests contain:

1. Increase the pod creation latency limit according to test results;
2. Add 'GetResourceSeriesWithLabels' in 'resource_collector.go' to provide resource usage time series data;
3. Modify 'GetBasicCPUStats' in 'resource_collector.go' to make a copy of CPU usage array before sorting (otherwise time series data is disordered);
4. Add 'ResourceUsageToPerfDataWithLabels' and 'CPUUsageToPerfDataWithLabels' to attach labels to 'PerfData' for benchmark dashboard;

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.kubernetes.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.kubernetes.io/reviews/kubernetes/kubernetes/30333)
<!-- Reviewable:end -->
2016-08-11 16:27:04 -07:00
Kubernetes Submit Queue
dfcb649ee8 Merge pull request #30470 from vishh/node-e2e-owners
Automatic merge from submit-queue

Add Lantao Liu as node e2e reviewer.

Relieve pwittroc@ from node e2e maintenance

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.kubernetes.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.kubernetes.io/reviews/kubernetes/kubernetes/30470)
<!-- Reviewable:end -->
2016-08-11 15:50:11 -07:00
Michael Taufen
8575b73298 Label MemoryEviction [Disruptive] 2016-08-11 15:21:54 -07:00
Vishnu kannan
726788b003 add Lantao Liu as node e2e reviewer. Relieve pwittroc@ from node e2e maintenance
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-08-11 12:56:05 -07:00
Vishnu kannan
089439c30a collect cloud-init logs
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-08-11 12:53:08 -07:00
Dawn Chen
cb22c41907 Fixed misconfigured kubelet on containervm image for node-e2e. 2016-08-11 11:19:30 -07:00