Commit Graph

81 Commits (a82e54262df1de0ab0a554ff896a0af634b10c95)

Author SHA1 Message Date
Random-Liu 5420138378 Add automated docker performance validation. 2016-09-01 19:18:20 -07:00
Amey Deshpande 6a2201f410 Pick a specific GCI version by default on GCE.
Prior to this change, a K8s branch (master as well as release) was
pinned to a GCI milestone.  It would pick up the latest GCI release on
that milestone at the time of cluster creation.  The rationale was the
K8s users would automatically get the bug fixes in newer versions of
GCI.  However in practice, it makes the runtime environment
non-deterministic, and lack of continuous e2e tests mean we would run
into breakages sooner or later.

With this change, each K8s release will pick a specific version
of GCI by default (similar to how the Debian-based container-vm gets used).
Users can override the default version through KUBE_GCE_MASTER_IMAGE and
KUBE_GCE_NODE_IMAGE environment variables.

We expect the default GCI version will be updated relatively frequently stay
updated with newer GCI releases.  We can also automate the process to
automatically bump the hard-coded GCI version in future.
2016-08-31 17:26:00 -07:00
Kubernetes Submit Queue 22fe385c13 Merge pull request #31653 from euank/kill-the-updates-for-the-nth-time
Automatic merge from submit-queue

test/node-e2e: Update CoreOS update disabling

Previously in this saga... #25004

This disables update-engine and locksmithd with ignition instead of
cloud-init so that they're really totally 100% disabled. Our ignition guy promises.

Pretty much every way of disabling them with cloud-init is mildly racy.

Fixes #31633 

I think @vishh can say "I told you so" after the comment on https://github.com/kubernetes/kubernetes/pull/30023#discussion-diff-73431324 .. he was right, but it turns out "stop" there doesn't really work either because of the mess that is cloud-init. Fortunately, converting our cloud-init to json and calling it "ignition" works quite well 😄 

Testing done: I ssh'd in and verified that yes, they're disabled. I didn't wait on the e2e tests to pass, so we'll let this PR check that.
2016-08-30 00:08:45 -07:00
Euan Kemp e58f3f61f8 test/node-e2e: Update CoreOS update disabling
This disables update-engine and locksmithd with ignition instead of
cloud-init so that they're really totally 100% disabled.

Pretty much every way of disabling them with cloud-init is mildly racy.

Fixes #31633
2016-08-29 16:11:40 -07:00
Kubernetes Submit Queue 863dd10ae4 Merge pull request #30540 from Random-Liu/refactor-node-e2e-framework
Automatic merge from submit-queue

Node Conformance Test: Refactor node e2e framework

For #30122, #30174.
Based on #30348.

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

This PR is part of our roadmap to package node conformance test.
The 1st commit is from #30348, it removed unnecessary dependencies in the node e2e test framework, because we've statically linked these dependencies.

The PR refactored the node e2e framework. Moving different utilities into different packages under `pkg/`.

We need to do this because:
1) Files like e2e_remote.go and e2e_build.go should only be used by runner, but they were compiled into the test suite because they were placed in the same package. The worst thing is that it will introduce some never used flags in the test suite binary.
2) Make the directory structure more clear. Only test should be placed in `test/e2e_node`, other utilities should be placed in different packages in `pkg/`.

@dchen1107 @vishh 
/cc @kubernetes/sig-node @kubernetes/sig-testing
2016-08-25 14:06:56 -07:00
Kubernetes Submit Queue a9a81219ef Merge pull request #31185 from coufon/log_throughput_benchmark
Automatic merge from submit-queue

add throughput in perf data and disable --cgroups-per-qos

This PR adds throughput data to printed perf data for benchmark. It also disables --cgrous-per-qos in jenkinds-benchmark.properties.
2016-08-25 04:05:20 -07:00
Random-Liu afb780d4ee Move utilities into different packages. Add local and remove runner. 2016-08-24 20:18:45 -07:00
Kubernetes Submit Queue 1952986a34 Merge pull request #30348 from Random-Liu/remove-unnecessary-binary-copy
Automatic merge from submit-queue

Node Conformance Test: Remove unnecessary binary copy

For #30122, #30174.

This PR removed unnecessary dependencies in the node e2e test framework, because we've statically linked these dependencies.

@dchen1107 @vishh 
/cc @kubernetes/sig-node @kubernetes/sig-testing
2016-08-24 14:35:34 -07:00
Kubernetes Submit Queue 9b0d57ff95 Merge pull request #31164 from coufon/skip_benchmark_in_jenkins_serial
Automatic merge from submit-queue

skip benchmark in jenkins serial test

This PR changes jenkins-serial.properties to skip benchmark tests (with tag [Benchmark]) in jenkins serial tests. It also add more comments in run_e2e.go.
2016-08-24 03:32:51 -07:00
Random-Liu e646dc6b9e Remove unnecessary code after e2e services are statically linked. 2016-08-22 20:51:24 -07:00
Zhou Fang ac379b038e add throughput in perf data and disable --cgroups-per-qos 2016-08-22 16:04:32 -07:00
Zhou Fang c2d1a32597 skip benchmark in jenkins serial test 2016-08-22 14:19:40 -07:00
Random-Liu eca3dc6cd5 Extend serial test suite timeout to 3 hours. 2016-08-21 23:40:05 -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
Zhou Fang b8ab0c50c5 add benchmark to jenkins 2016-08-20 09:43:42 -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
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
derekwaynecarr fde285cd8f Disable cgroups-per-qos flag until implementation is stabilized 2016-08-19 11:08:59 -04:00
Jeff Grafton e399be0676 Run node e2e tests in project k8s-jkns-ci-node-e2e 2016-08-12 15:54:51 -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
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
Jeff Grafton f9b6b70269 Use Kubekins service account in node e2e tests on Jenkins 2016-08-10 14:05:38 -07:00
Jeff Grafton 212ded55c1 Run node e2e pull VMs in a separate GCP project 2016-08-10 14:04:24 -07:00
Vishnu kannan e9034f1e0a make GCI the default node e2e test image. Fix bugs in runner
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-08-10 11:25:40 -07:00
Vishnu kannan 2f6514bd63 Node e2e can run tests against GCE images based on a regex.
It can run tests against multiple existing images that match a regex.
GCI images will be using a regex.

Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-08-10 11:24:54 -07:00
Timothy St. Clair 456c43c22d Update to shift etcd 2.2 references to use 3.0.3 2016-08-09 08:51:15 -05:00
Kubernetes Submit Queue 1b1607a3e6 Merge pull request #30023 from euank/update-coreos-node-e2e
Automatic merge from submit-queue

node_e2e: Use upstream CoreOS image directly

.. and update it to the latest alpha

This will make updating the CoreOS image in the future much simpler since it won't involve project-copying, manual-baking, or so on.

cc @pwittrock @vishh @bboreham @yifan-gu
2016-08-05 22:55:38 -07:00
Euan Kemp 91015e0eff node_e2e: Use upstream CoreOS image directly 2016-08-03 13:39:55 -07:00
Jeff Grafton 42d2aca7bb Download go-bindata in unit/verify/node e2e Jenkins builds 2016-08-03 13:23:41 -07:00
k8s-merge-robot 61a6596fa1 Merge pull request #29818 from Random-Liu/add-serial-jenkins-job
Automatic merge from submit-queue

Node E2E: Add serial jenkins job.

This PR added a jenkins job for serial test. It will run all serial test one by one.

This will be useful for https://github.com/kubernetes/kubernetes/pull/29809.

@coufon @yujuhong @dchen1107 
/cc @kubernetes/sig-node
2016-08-02 05:34:36 -07:00
Random Liu 654d3a07cb Skip Flaky, Slow and Serial test in proper jenkins job. 2016-08-02 02:13:50 +00:00
k8s-merge-robot f0fa9e588f Merge pull request #29813 from jayunit100/kill-repo-root-slb-2
Automatic merge from submit-queue

[minor] couple of quick cleanups for kill reporoot

quick fixes from last one,  cc @spxtr @ixdy follow on to  https://github.com/kubernetes/kubernetes/pull/25584
2016-07-29 21:42:42 -07:00
Random-Liu 08850cccca Add serial jenkins job. 2016-07-29 19:47:22 -07:00
k8s-merge-robot fe3dda1aeb Merge pull request #29092 from Random-Liu/make-node-e2e-parallel
Automatic merge from submit-queue

Node E2E: Make node e2e parallel

For https://github.com/kubernetes/kubernetes/issues/29081.
Fix https://github.com/kubernetes/kubernetes/issues/26215.
Based on https://github.com/kubernetes/kubernetes/pull/28807, https://github.com/kubernetes/kubernetes/pull/29020, will rebase after they are merged.

**Only the last commit is new.**

We are going to move more tests into the node e2e test. However, currently node e2e test only run sequentially, the test duration will increase quickly when we add more test.

This PR makes the node e2e test run in parallel so as to shorten test duration, so that we can add more test to improve the test coverage.

* If you run the test locally with `make test-e2e-node`, it will use `-p` ginkgo flag, which uses `(cores-1)` parallel test nodes by default.
* If you run the test remotely or in the Jenkin, the parallelism will be controlled by the environment variable `PARALLELISM`. The default value is `8`, which is reasonable for our test node (n1-standard-1).

Before this PR, it took  **833.592s** to run all test on my desktop.
With this PR, it only takes **234.058s** to run.

The pull request node e2e run with this PR takes **232.327s**.
The pull request node e2e run for other PRs takes **673.810s**.

/cc @kubernetes/sig-node
2016-07-29 18:38:29 -07:00
k8s-merge-robot 44115cd2e4 Merge pull request #29577 from vishh/gci-node-e2e-1
Automatic merge from submit-queue

Adding GCI to node e2e.

Depends on https://github.com/kubernetes/kubernetes/pull/29486
Adding the dev release as of now since stable and beta run docker v1.9.1
which is incompatible with kubelet.
2016-07-29 18:03:14 -07:00
jayunit100 4cd6bf42af [minor] couple of quick cleanups for kill reporoot 2016-07-29 20:22:28 -04:00
Random-Liu 9d48c76361 Make the node e2e test run in parallel. 2016-07-29 16:40:59 -07:00
Vishnu kannan 21873391e5 adding instance metadata for gci
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-07-29 15:25:46 -07:00
Vishnu Kannan 79d8868c77 Add instance metadata to image config file
Signed-off-by: Vishnu Kannan <vishnuk@google.com>
2016-07-29 15:25:46 -07:00
Vishnu kannan 6c43028a29 adding gci to node e2e
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-07-29 14:26:14 -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 396254c11a Merge pull request #29486 from vishh/gci-node-e2e
Automatic merge from submit-queue

Make it possible to run node e2e with GCI.
2016-07-25 16:53:27 -07:00
Vishnu kannan d31608fcc8 Make it possible to run node e2e with GCI via make
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-07-25 12:21:37 -07:00
Random-Liu 7b27358068 Change SetupNode to True for node e2e docker validation test. 2016-07-22 00:07:09 -07:00
k8s-merge-robot b3797b8a25 Merge pull request #28927 from Random-Liu/docker-validation-image-config-file
Automatic merge from submit-queue

Change the docker validation node e2e test to use gci-canary-test

This PR changed the continuous docker validation node e2e test to use the image config file introduced in https://github.com/kubernetes/kubernetes/pull/28708. @euank 

This PR also changed the gci image family from `gci-preview-test` to `gci-canary-test`. @wonderfly
2016-07-18 23:27:18 -07:00
Buddha Prakash 5000e74664 Inject top level QoS cgroup creation in the Kubelet 2016-07-15 10:02:22 -07:00
Random-Liu b0d3f4c14a Change gci-preview-test to gci-canary-test. 2016-07-13 17:57:23 -07:00
Tim Hockin 6e516e1c8a make Jenkins pass 2016-07-12 21:52:54 -07:00
k8s-merge-robot 0cd93cfc53 Merge pull request #28708 from euank/node-e2e-image-conf
Automatic merge from submit-queue

node_e2e: configure gce images via config file

This file provides the abiliy to specify image project on a per-image
basis and is more extensible for future changes.

For backwards compatibility and local development convenience, the
existing flags are kept and should work.

The eventual goal is to be able to source some images, such as the CoreOS one (and possibly containervm one) from their upstream projects and do all new configuration changes via a cloud-init key added to the image config.

This PR is a first step there. A following PR will add a config key of `cloud-init` or `user-data` and migrate the CoreOS e2e to use that.

This motivation is driven by the fact that currently the changes needed for the CoreOS image can all be done quickly in cloud-init and this will make it much easier to update the image and ensure that changes are applied consistently.

/cc @timstclair @vishh @yifan-gu @pwittrock
2016-07-12 19:06:14 -07:00