Commit Graph

813 Commits (d32668b0be5af3dbcf1fc924fc79323059b0dd35)

Author SHA1 Message Date
Bryan Boreham bd8f4ff8cf Send SIGTERM on Pdeathsig to allow child to clean up
Also fix the comment to better describe the effect of this code.
2016-08-04 15:14:47 +01:00
Bryan Boreham 1307799a66 Run 'etcd2' if it exists, in preference to 'etcd'
This is to accommodate CoreOS, where 'etcd' is a very old version
2016-08-04 14:37:11 +01:00
Kubernetes Submit Queue 3e5b40d9a5 Merge pull request #29947 from ixdy/go-bindata-cross-image
Automatic merge from submit-queue

Install go-bindata in cross-build image

Another follow-up to #25584.

We need `go-bindata` to create `test/e2e/generated`, and downloading it with `go get` at build time is painful for a variety of reasons. We can just include it in the cross-build image and not worry about it, especially as it updates very infrequently.

This fixes `hack/update-generated-protobuf.sh` as well.

cc @jayunit100 @soltysh
2016-08-04 06:03:29 -07:00
Kubernetes Submit Queue c8ea7af912 Merge pull request #29890 from dchen1107/test1
Automatic merge from submit-queue

Resolve docker-daemon cgroup issue for both systemd and non-systemd node for node e2e tests

Fixed https://github.com/kubernetes/kubernetes/issues/29827

cc/ @coufon this should unblock your pr: #29764

I validated both containervm image and coreos image, and works as expected. 

This is also required for adding gci image to node e2e test infrastructure.
2016-08-04 01:17:01 -07:00
Random-Liu 13c8381dc4 Move the node name initialization to first function of
SynchronizedBeforeEach, so that we can pass right node
name when starting e2e services.
2016-08-03 18:14:53 -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
Marek Grabowski 621a589b6d Revert "Add density (batch pods creation latency and resource) and resource performance tests to `test-e2e-node'" 2016-08-03 15:13:40 +02:00
Kubernetes Submit Queue e8c926047f Merge pull request #29806 from Random-Liu/improve-node-e2e-test-framework
Automatic merge from submit-queue

E2E & Node E2E: Improve node e2e test framework

This is first part of https://github.com/kubernetes/kubernetes/pull/29494.
I split #29494 into several PRs to help review. 

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

This PR changes TestContainerOutput to use the framework pod client:** so that all test using `TestContainerOutput` could be shared automatically. For example: https://github.com/kubernetes/kubernetes/blob/master/test/e2e/configmap.go#L198

@vishh @timstclair 
/cc @kubernetes/sig-node
2016-08-03 05:15:28 -07:00
Random-Liu 5c7ac701d3 Change TestContainerOutput to use the framework pod client. 2016-08-02 10:26:41 -07:00
Dawn Chen 5a64977d82 Resolve docker-daemon cgroup issue for both systemd and non-systemd node for node e2e tests. 2016-08-02 09:22:16 -07:00
Zhou Fang 04f83c79e7 change the package of uuid in resource_controller 2016-08-02 09:22:14 -07:00
Zhou Fang f3f3e965cc modify resource_collector.go to get container names of kubelet and docker dynamically 2016-08-02 09:20:04 -07:00
Zhou Fang df55e8fb70 Add density and resource performance test to test-node-e2e 2016-08-02 09:20:04 -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
k8s-merge-robot 01cd7f326e Merge pull request #29621 from resouer/uuid
Automatic merge from submit-queue

Refactor uuid into its own pkg util/uuid

Continuing my work ref #15634

Anyone can review this if he/she wants.
2016-08-01 22:21:30 -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
Harry Zhang c495397cae Refactor uuid into its own pkg 2016-07-30 00:07:02 -04:00
k8s-merge-robot 09b64180c2 Merge pull request #29536 from Random-Liu/add-exec-util-in-framework
Automatic merge from submit-queue

E2E & Node E2E: Add exec util in framework

For #29081.
Based on #29092 and #29494.

For first commit is a squashed commit of all old commits.
**The last 2 commits are new.**

This PR added exec util in framework, and moved `privileged.go` and `kubelet_etc_hosts` into `common` directory.

@vishh @timstclair 
/cc @kubernetes/sig-node
2016-07-29 20:25:12 -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
Random-Liu 749e0d0d72 Move privileged and kubelet_etc_hosts into common directory. 2016-07-29 18:29:43 -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
Bryan Boreham ba17bac843 Change process group when sending kill signal
Otherwise when the target process is running sudo it ignores the signal.
2016-07-27 18:11:58 +01:00
Erick Fejta 12d923ed15 Revert "Fix killing child sudo process in e2e_node tests" 2016-07-27 21:53:05 +05:30
k8s-merge-robot 03fe6b962c Merge pull request #29380 from bboreham/kill-setpgid
Automatic merge from submit-queue

Fix killing child sudo process in e2e_node tests

Fixes #29211.

The context is we are trying to kill a process started as `sudo kube-apiserver`, but `sudo` ignores signals from the same process group. Applying `Setpgid` means the `sudo kill` process won't be in the same process group, so will not fall foul of this nifty feature.

I also took the liberty of removing some code setting `Pdeathsig` because it claims to be doing something  in the same area, but actually it doesn't do that at all.  The setting is applied to the forked process, i.e. `sudo`, and it means the `sudo` will get killed if we (`e2e_node.test`) die.  This (a) isn't what the comment says and (b) doesn't help because sending SIGKILL to the sudo process leaves sudo's child alive.

I didn't use the "hack for linux-only" approach because I think `Setpgid` is available on all platforms that `e2e_node` builds on.
2016-07-27 03:18:15 -07:00
Bryan Boreham dbc59aad7c For e2e_node tests tell etcd to listen on ports 2379 and 4001
This is the default for etcd2, but etcd3 only listens on 2379.
Specifying the ports keeps things consistent no matter which
version the user has installed.
2016-07-27 11:16:40 +01: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
k8s-merge-robot c186afd46e Merge pull request #29122 from ronnielai/image-gc-1-1
Automatic merge from submit-queue

Syncing imaging pulling backoff logic

- Syncing the backoff logic in the parallel image puller and the sequential image puller to prepare for merging the two pullers into one.
- Moving image error definitions under kubelet/images
2016-07-25 11:43:22 -07:00
Random-Liu 7b27358068 Change SetupNode to True for node e2e docker validation test. 2016-07-22 00:07:09 -07:00
Bryan Boreham e5e7b60e9a Remove Pdeathsig code because it doesn't do what was intended
Pdeathsig is applied to the process we are starting, so that will get
killed if the e2e_node process dies, which isn't what we need.
2016-07-21 15:19:39 +01:00
Bryan Boreham a8d7e93d66 Change process group when sending kill signal
Otherwise when the target process is running sudo it ignores the signal.
2016-07-21 15:11:03 +01:00
k8s-merge-robot 80a59f0294 Merge pull request #29131 from Random-Liu/use-pre-pull
Automatic merge from submit-queue

Change some node e2e test to use the prepull image framework.

Fix https://github.com/kubernetes/kubernetes/issues/28868.

Node e2e test framework pre-pulls all images in [image_list.go](bc2f223f5a/test/e2e_node/image_list.go)

All node e2e test should use image from the "image_list". If a test needs new image, we should update the image_list to include the new image.

/cc @kubernetes/sig-node to notice people to use `image_list` when adding test. :)
2016-07-21 02:39:57 -07:00
Tim Hockin b829d4d4ef Merge pull request #26702 from joe2far/fix-broken-links
Fix broken warning image link in docs
2016-07-20 15:10:41 -07:00
Ron Lai ee4822e476 Moving image pulling errors under kubelet/images 2016-07-20 14:20:53 -07:00
k8s-merge-robot d1fba05a1b Merge pull request #29020 from Random-Liu/add-namespace-controller-in-node-e2e
Automatic merge from submit-queue

Start namespace controller in node e2e

Fix https://github.com/kubernetes/kubernetes/issues/28320.
Based on https://github.com/kubernetes/kubernetes/pull/28807, only the last 2 commits are new.

Before this PR, there was no namespace controller running in node e2e test infrastructure. We can not enable the [`delete-namespace`](f2ddd60eb9/test/e2e/framework/test_context.go (L109)) flag in the test framework.
So after the test running, there will be running pod left on the test node. This seems to be acceptable in our test infrastructure because we create an new instance each time.

However, in 1.4 we may want to provide part of the test as node conformance test to the user, they definitely don't want the test to leave tons of pods on their node after test running.

Currently, there is no easy way to only start namespace controller in kube-controller-manager (confirmed with @mikedanese), so in this PR I started a "uncontainerized" one in the test infrastructure.

This PR:
* Started the namespace controller in the node e2e test infrastructure and enable the automatic namespace deletion.
* Change the privileged test to use framework (@yujuhong), so that all node e2e tests are using the framework and test pods will be cleaned up by namespace controller.

/cc @kubernetes/sig-node
2016-07-20 09:24:26 -07:00
Random-Liu 691d24cc66 Change some node e2e test to use the prepull image framework. 2016-07-20 08:16:40 -07:00
Avesh Agarwal 0c8b7de238 Fixes a typo 2016-07-19 22:40:48 -04:00
k8s-merge-robot dca70739af Merge pull request #29110 from bboreham/clarify-healthcheck
Automatic merge from submit-queue

Don't repeat the program name in healthCheckCommand.String()

The name is in both `Path` and `Args[0]`, so start printing args at 1.
Also refactor to avoid an extra space character in the output.

I pondered whether `healthCheckCommand.String()` should check if the slice is empty, to avoid a panic, but it didn't check for `Cmd==nil` before.

Fixes #29107
2016-07-19 05:08:42 -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
Random-Liu fa8bd1d034 Change privileged test to use framework, so that all namespaces
will be cleaned up by namespace controller.
2016-07-18 19:06:59 -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 fa174bcdaf Merge pull request #29042 from dims/fixup-imports
Automatic merge from submit-queue

Use Go canonical import paths

Add canonical imports only in existing doc.go files.
https://golang.org/doc/go1.4#canonicalimports

Fixes #29014
2016-07-18 07:23:38 -07:00
Bryan Boreham 0991c04be1 Don't repeat the program name in healthCheckCommand.String()
The name is in both 'Path' and 'Args[0]', so start printing args at 1.
Also refactor to avoid an extra space character in the output.
2016-07-18 14:55:39 +01:00
Davanum Srinivas 2b0ed014b7 Use Go canonical import paths
Add canonical imports only in existing doc.go files.
https://golang.org/doc/go1.4#canonicalimports

Fixes #29014
2016-07-16 13:48:21 -04:00
k8s-merge-robot 5b027a5861 Merge pull request #28976 from coufon/debug_mirror_pod_test
Automatic merge from submit-queue

Fix a bug in mirror pod node e2e test.

Fixed a bug in test/e2e_node/mirror_pod_test.go. The function 'checkMirrorPodDisappear' returns nil even when the pod does not disappear. It should return a non-nil error. 

@Random-Liu
2016-07-15 17:39:16 -07:00
Buddha Prakash 5000e74664 Inject top level QoS cgroup creation in the Kubelet 2016-07-15 10:02:22 -07:00
joe2far 88b6d4ad36 Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
Daniel Smith 360f2eb927 Revert "Remove pod mutation for PVs with supplemental GIDs" 2016-07-14 17:47:46 -07:00
coufong 8a4c394ede Fix a bug in mirror pod node e2e test. 2016-07-14 16:59:08 -07:00
k8s-merge-robot be3175611c Merge pull request #28691 from wongma7/pv-gid-squash2
Automatic merge from submit-queue

Remove pod mutation for PVs with supplemental GIDs

Continuation of https://github.com/kubernetes/kubernetes/pull/27571 to bring the feature back without pod mutation
2016-07-14 11:22:04 -07:00
k8s-merge-robot 50172148e4 Merge pull request #25273 from ncdc/exec-sigwinch
Automatic merge from submit-queue

Support terminal resizing for exec/attach/run

```release-note
Add support for terminal resizing for exec, attach, and run. Note that for Docker, exec sessions
inherit the environment from the primary process, so if the container was created with tty=false,
that means the exec session's TERM variable will default to "dumb". Users can override this by
setting TERM=xterm (or whatever is appropriate) to get the correct "smart" terminal behavior.
```

Fixes #13585
2016-07-14 07:26:49 -07:00
Random-Liu b0d3f4c14a Change gci-preview-test to gci-canary-test. 2016-07-13 17:57:23 -07:00
Andy Goldstein 3b21a9901b Support terminal resizing for exec/attach/run
Add support for terminal resizing for exec, attach, and run. Note that for Docker, exec sessions
inherit the environment from the primary process, so if the container was created with tty=false,
that means the exec session's TERM variable will default to "dumb". Users can override this by
setting TERM=xterm (or whatever is appropriate) to get the correct "smart" terminal behavior.
2016-07-13 17:06:16 -04:00
Matthew Wong 58f973d8e7 Remove pod mutation for PVs with supplemental GIDs 2016-07-13 13:51:17 -04:00
Tim Hockin 6e516e1c8a make Jenkins pass 2016-07-12 21:52:54 -07:00
Tim Hockin faeef5c4ae Use make as the main build tool
This allows us to start building real dependencies into Makefile.

Leave old hack/* scripts in place but advise to use 'make'.  There are a few
rules that call things like 'go run' or 'build/*' that I left as-is for now.
2016-07-12 21:52:00 -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
Euan Kemp af1700b41e 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.
2016-07-11 19:19:37 -07:00
Random-Liu 79f564e9dc Add docker validation node e2e test. 2016-07-11 18:58:57 -07:00
Minhan Xia 0bd411878a bump cni version 2016-07-11 14:33:01 -07:00
Buddha Prakash fb7f18f542 Update node e2e image copy script 2016-07-08 11:10:23 -07:00
k8s-merge-robot d6d846f4e5 Merge pull request #28517 from Random-Liu/better-image-pull-test
Automatic merge from submit-queue

Node E2E: Use waiting reason to figure out image pulling error.

Addresses https://github.com/kubernetes/kubernetes/pull/28323#issuecomment-230002158, using `Waiting` reason to check whether the image pulling failures as expected.

@yujuhong 

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-07-07 19:36:25 -07:00
k8s-merge-robot 60b0bc2efc Merge pull request #28516 from Random-Liu/disable-cni-for-local-node-e2e
Automatic merge from submit-queue

Node E2E: Disable kubenet for local node e2e test.

After https://github.com/kubernetes/kubernetes/pull/28196, we must manually setup cni and nsenter in local node to run `make test_e2e_node`, which may not be necessary for local development.

I've tried to move cni downloading logic into `BeforeSuite`, however it is still hard to figure out who should install nsenter, manually installed by every developer? in the `setup_host.sh` script? in `BeforeSuite`?

This PR:
* Added a flag to disable kubenet and disabled kubenet in local test.
* Cleaned up the CNI installation logic a bit.

/cc @yujuhong @freehan 
[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-07-07 18:52:57 -07:00
Random-Liu 62337e7c44 Disable kubenet for local node e2e test. 2016-07-06 14:04:35 -07:00
Random-Liu 8969e8c0b2 Use waiting reason to figure out image pulling error. 2016-07-05 17:13:24 -07:00
k8s-merge-robot fd523abd57 Merge pull request #27958 from aveshagarwal/master-node-e2e-issues
Automatic merge from submit-queue

Fix node e2e issues on selinux enabled systems

It fixes following 3 node e2es:

```
[Fail] [k8s.io] Container Runtime Conformance Test container runtime conformance blackbox test when starting a container that exits [It] it should run with the expected status [Conformance] 
/root/upstream-code/gocode/src/k8s.io/kubernetes/test/e2e_node/runtime_conformance_test.go:114

[Fail] [k8s.io] Kubelet metrics api when querying /stats/summary [It] it should report resource usage through the stats api 
/root/upstream-code/gocode/src/k8s.io/kubernetes/test/e2e_node/kubelet_test.go:158
```
```
[Fail] [k8s.io] Container Runtime Conformance Test container runtime conformance blackbox test when starting a container that exits [It] should report termination message if TerminationMessagePath is set [Conformance]
/root/upstream-code/gocode/src/k8s.io/kubernetes/test/e2e_node/runtime_conformance_test.go:150
```
@kubernetes/rh-cluster-infra
2016-07-05 08:00:25 -07:00
k8s-merge-robot d07328dc4a Merge pull request #28259 from timstclair/node-e2e-build
Automatic merge from submit-queue

Only build essential targets for node e2e

Roll-forward of https://github.com/kubernetes/kubernetes/pull/26830 (added ginkgo to targets)
2016-07-02 11:27:08 -07:00
k8s-merge-robot a67c0ff8a1 Merge pull request #28323 from Random-Liu/fix-node-confomance-test
Automatic merge from submit-queue

Fix node confomance test

Fixes https://github.com/kubernetes/kubernetes/issues/28255, https://github.com/kubernetes/kubernetes/issues/28250, https://github.com/kubernetes/kubernetes/issues/28341.

The main reason of the flake is that in the failed test expects the `PodPhase` to keep `Pending`. It did `Eventually` check and `Consistently` check for 5 seconds. However, the default `PodPhase` is `Pending`, when the check passes, the `PodStatus` could still be in default state.

After that, the test expects the container status to be `Waiting`, which may not be the case, because the default `ContainerStatuses` is empty, and the pod could still be in the default state.

This PR changes the test to ensure `ContainerStatuses` first and then check the `PodPhase` after that.

Mark P1 because the test fails relatively frequently and does block some PRs.

@pwittrock 

/cc @liangchenye @ncdc 
[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-07-01 12:28:30 -07:00
k8s-merge-robot 480233c55b Merge pull request #28228 from mtaufen/e2e-killcmd-cleanup
Automatic merge from submit-queue

Use slices of items to clean up after tests

Fixes #27582.

We used to maintain a pointer variable for each process to kill after the
tests finish. @lavalamp suggested using a slice instead, which is a much
cleaner solution. This implements @lavalamp's suggestion and also extends
the idea to tracking directories that need to be removed after the tests finish.

This also means that we should no longer check for nil `killCmd`s inside
`func (k *killCmd) Kill() error {...}` (see #27582 and #27589). If a nil
`killCmd` makes it in there, something is bad elsewhere and we want to see
the nil pointer exception immediately.

Mentioning @timstclair and @euank wrt the original issue/PR.
2016-06-30 20:04:45 -07:00
Random-Liu b5cef55af5 fix pull image test flake 2016-06-30 17:02:12 -07:00
k8s-merge-robot 5478aa828b Merge pull request #28299 from freehan/nodee2e
Automatic merge from submit-queue

switch back to promiscuous-bridge mode

fix: #27498
2016-06-30 14:43:33 -07:00
Jeff Grafton 821e6ec2a7 Make node e2e exit nonzero on test failures 2016-06-30 11:25:40 -07:00
Minhan Xia 6db354b1ef switch back to promiscuous-bridge mode 2016-06-30 10:50:12 -07:00
Avesh Agarwal cbb620678d Fix selinux issue with following node e2e test:
[Fail] [k8s.io] Kubelet metrics api when querying /stats/summary [It] it should report resource usage through the stats api
/root/upstream-code/gocode/src/k8s.io/kubernetes/test/e2e_node/kubelet_test.go:158
2016-06-30 12:42:58 -04:00
Avesh Agarwal bf4d9b6686 Fix following node e2e issue on selinux enabled systems:
[Fail] [k8s.io] Container Runtime Conformance Test container runtime conformance blackbox test when starting a container that exits [It] should report termination message if TerminationMessagePath is set [Conformance]
/root/upstream-code/gocode/src/k8s.io/kubernetes/test/e2e_node/runtime_conformance_test.go:150
2016-06-30 09:02:04 -04:00
Avesh Agarwal ba85ce449a Fix selinux issue with the following node e2e test:
[Fail] [k8s.io] Container Runtime Conformance Test container runtime conformance blackbox test when starting a container that exits [It] it should run with the expected status [Conformance]
/root/upstream-code/gocode/src/k8s.io/kubernetes/test/e2e_node/runtime_conformance_test.go:114
2016-06-30 09:02:04 -04:00
k8s-merge-robot f2ddd60eb9 Merge pull request #26755 from david-mcmahon/fix-headers
Automatic merge from submit-queue

Remove "All rights reserved" from all the headers.

cc @thockin @zmerlynn @brendanburns
2016-06-29 18:46:07 -07:00
Tim St. Clair 270b8800c3 Only build essential targets for node e2e 2016-06-29 18:24:27 -07:00
David McMahon ef0c9f0c5b Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
k8s-merge-robot 5dfbc769e5 Merge pull request #28196 from yujuhong/kubenet
Automatic merge from submit-queue

node e2e: kubelet should use kubenet

This fixes #27498
2016-06-29 17:37:02 -07:00
Yu-Ju Hong e76b4184c3 node e2e: use updated ubuntu images 2016-06-29 15:53:15 -07:00
Yu-Ju Hong 5e0cc2179d node e2e: run kubelet with kubenet 2016-06-29 15:53:15 -07:00
Michael Taufen 4ec2f63e41 Use slices of items to clean up after tests
Fixes #27582

We used to maintain a pointer variable for each process to kill after the
tests finish. @lavalamp suggested using a slice instead, which is a much
cleaner solution. This implements @lavalamp's suggestion and also extends
the idea to tracking directories that need to be removed after the tests finish.

This also means that we should no longer check for nil `killCmd`s inside
`func (k *killCmd) Kill() error {...}` (see #27582 and #27589). If a nil
`killCmd` makes it in there, something is bad elsewhere and we want to see
the nil pointer exception immediately.
2016-06-29 15:47:38 -07:00
k8s-merge-robot 331fde8363 Merge pull request #26470 from timstclair/node-e2e
Automatic merge from submit-queue

Refactor common pod patterns to e2e framework.

Priveledged pods could benifit from this as well, but I'll wait for https://github.com/kubernetes/kubernetes/pull/26228 to go in.

Prerequisite for https://github.com/kubernetes/kubernetes/issues/26215
2016-06-29 15:35:02 -07:00
k8s-merge-robot 594e4d883c Merge pull request #27468 from aledbf/remove-duplicated-nginx-image
Automatic merge from submit-queue

Remove duplicated nginx image. Use nginx-slim instead

This PR removes the image `gcr.io/google_containers/nginx:1.7.9` and uses `gcr.io/google_containers/nginx-slim:0.7`.
Besides removing the duplication `1.7.9` is 16 months old.
2016-06-29 12:43:38 -07:00
Yu-Ju Hong b096b4a2db node e2e: install cni on the host
This is required to run kubelet with kubenet.
2016-06-29 12:41:41 -07:00
Yu-Ju Hong df455d120b node e2e: install nsenter on trusty images
This is required to run kubelet with kubenet.
2016-06-29 12:41:41 -07:00
k8s-merge-robot 15fdd1db63 Merge pull request #27589 from mtaufen/e2e_teardown_fix
Automatic merge from submit-queue

Allocate default killCmd structs in newE2eService function

Fixes #27582 

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-28 17:43:03 -07:00
Tim St. Clair 376b5f247a Refactor common pod patterns to e2e framework. 2016-06-28 17:20:08 -07:00
k8s-merge-robot 5e50ee7994 Merge pull request #27291 from mnshaw/configmaptest
Automatic merge from submit-queue

Port configmap test to node e2e suite

fixes #26833
2016-06-28 14:36:06 -07:00
Manuel de Brito Fontes ec5cc59696 Remove duplicated nginx image. Use nginx-slim 2016-06-28 17:35:38 -04:00
Marie Shaw 1cf202a1ff Port configmap test to node e2e suite 2016-06-27 17:35:33 -07:00
Michael Taufen 71b79aff73 Check killCmd is nil in Kill function 2016-06-27 14:11:14 -07:00
k8s-merge-robot 33165328b1 Merge pull request #27907 from vishh/update-node-e2e-project
Automatic merge from submit-queue

Update node e2e test images project to the new centralized project
2016-06-24 16:46:04 -07:00
Yu-Ju Hong a031f7aea4 node e2e: stop testing trusty+docker 1.8 2016-06-24 10:45:45 -07:00
k8s-merge-robot 038c120423 Merge pull request #27963 from yujuhong/less_verbal
Automatic merge from submit-queue

e2e_node: lower the log verbosity level

The current level is so high that the logs are almost unreadable.

This fixes #27593
2016-06-23 19:23:37 -07:00
k8s-merge-robot 56bfc5ba19 Merge pull request #27913 from vishh/update-core-node-e2e
Automatic merge from submit-queue

Updating CoreOS image to CoreOS stable 1010.5.0 in Node e2e.

For #27383
2016-06-23 17:41:24 -07:00
Yu-Ju Hong a6b91a41fa e2e_node: lower the log verbosity level
The current level is so high that the logs are almost unreadable.
2016-06-23 11:39:18 -07:00
Vishnu kannan 0fc392f40f Updating CoreOS image to CoreOS stable 1010.5.0 in Node e2e.
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-06-22 17:38:29 -07:00
Vishnu kannan 0e56237057 Update node e2e test images project to the new centralized project - `kubernetes-node-e2e-images`
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-06-22 16:17:39 -07:00
Avesh Agarwal 63d979af9c Fixes following node e2e test:
[k8s.io] Kubelet metrics api when querying /stats/summary [It] it should report resource usage through the stats api

And the logs show following error:
Jun 21 15:57:13 localhost journal: tee: /test-empty-dir-mnt: Is a directory
2016-06-21 15:55:49 -04:00
k8s-merge-robot ee35555cb6 Merge pull request #27570 from Random-Liu/add-runtime-request-timeout-flag
Automatic merge from submit-queue

Add runtime-request-timeout kubelet flag.

XRef #23563.

Addresses https://github.com/kubernetes/kubernetes/issues/27388#issuecomment-226570083.

Add a new kubelet flag `runtime-request-timeout`, and set to 2 minutes by default.
Now the flag only affects dockertools, rkt may also want to set request timeout according to the flag. @yifan-gu 

This PR also removed the timeout for all long running operations to avoid issues like #27588 and #26122.

@yujuhong @rrati 
/cc @kubernetes/sig-node 

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-21 01:26:54 -07:00
Random-Liu 52ebd4ecf1 Add runtime-request-timeout kubelet flag. 2016-06-17 18:18:41 -07:00
Random-Liu 19f5a90528 Add node e2e test for termination message path. 2016-06-17 13:42:41 -07:00
k8s-merge-robot 364239a294 Merge pull request #27342 from Random-Liu/add-image-pulling-node-e2e
Automatic merge from submit-queue

Add image pulling node e2e

Fixes #27007.
Based on #27309, will rebase after #27309 gets merged.

This PR added all tests mentioned in #27007:
* Pull an image from invalid registry;
* Pull an invalid image from gcr;
* Pull an image from gcr;
* Pull an image from docker hub;
* Pull an image needs auth with/without secrets.

For the imagePullSecrets test, I created a new gcloud project "authenticated-image-pulling", and the service account in the code only has "Storage Object Viewer" permission.

/cc @pwittrock @vishh 

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-14 14:50:41 -07:00
Random-Liu 89502d3c8c Add image pulling node e2e test. 2016-06-14 01:19:47 -07:00
Yu-Ju Hong 2b65b5a283 Node e2e: switch most of the tests to use the e2e framework
This commit switches the tests to use the e2e framework, so that namespace
creation/deletion is handled between tests.
2016-06-14 01:19:47 -07:00
Erick Fejta 25451a686c Add description to created node images 2016-06-13 22:41:30 -07:00
k8s-merge-robot d9f788532f Merge pull request #27167 from euank/fix-node-e2e-coreos-kubelet-cgroup-detection
Automatic merge from submit-queue

Fix node e2e coreos kubelet cgroup detection

Fixes #26979 #26431 

The root issue, as best I can tell, is that cgroup detection does not work when the kubelet is started under an ssh session and the systemd `*Accounting` variables are set. I added additional logging and noted some differences in the cgroup slice names between those cadvisor returns and the kubelet detects for itself.
This difference does not occur if the kubelet is properly running under a unit. That environment is also a more common and sane environment.

See also discussion in #26903

cc @derekwaynecarr @vishh @pwittrock
2016-06-13 11:54:05 -07:00
k8s-merge-robot 0f72e21add Merge pull request #27130 from pwittrock/nodee2e
Automatic merge from submit-queue

Revert "Wait for arc.getArchive() to complete before running tests"

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()

This reverts commit c1d915df5b.

- Reverting this commit because it tried to fix a red herring.
2016-06-13 07:02:29 -07:00
k8s-merge-robot 1b780157a2 Merge pull request #26856 from Random-Liu/flakeready
Automatic merge from submit-queue

shorten e2e_node test, fix pod ready test issue

Fix #25703, #25812.
I fixed https://github.com/kubernetes/kubernetes/pull/26070 and open this PR.

@liangchenye 

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-11 11:38:33 -07:00
k8s-merge-robot 76aa4fc0e6 Merge pull request #26831 from yujuhong/downard_api_test
Automatic merge from submit-queue

Port the downward api test to the node e2e suite

Also extend the framework to allow a custom client config loading function, so
that the node e2e suite can reuse the same framework across tests.

This fixes #26609

/cc @timstclair @pwittrock
2016-06-11 09:54:45 -07:00
Euan Kemp 3d478a3fac e2e_node: Improve coreos update disable mechanism
The previous method would still allow updates to download which slowed
down tests due to the network / disk IO
2016-06-09 20:58:56 -07:00
Euan Kemp 34996f1b84 e2e_node: Correctly kill and log systemd kubelet 2016-06-09 20:58:56 -07:00
Euan Kemp b004122dfc Revert "Disable CoreOS image from node e2e testing."
This reverts commit 2494c77972.

The previous commit, which launches the kubelet under `systemd-run`,
fixes an error in detecting the kubelet's cgroup stats.

Fixes #26979
2016-06-09 19:35:57 -07:00
Euan Kemp 6303edb790 e2e_node: launch kubelet via systemd-run
This more closely mimics what the kubelet will usually have for
cgroups, and also fixes an issue with cgroup detection of it.

Fixes #26431
2016-06-09 19:35:37 -07:00
Phillip Wittrock bd2e903b3b Revert "Wait for arc.getArchive() to complete before running tests"
This reverts commit c1d915df5b.

- Reverting this commit because it tried to fix a red herring.
2016-06-09 09:17:41 -07:00
Dawn Chen a51fdbb152 Revert "Only build essential targets for node e2e" 2016-06-08 20:02:09 -07:00
Erick Fejta c1d915df5b Wait for arc.getArchive() to complete before running tests 2016-06-08 19:07:07 -07:00
Dawn Chen 8d510898f0 Merge pull request #26830 from timstclair/node-e2e-build
Only build essential targets for node e2e
2016-06-08 17:23:21 -07:00
Phillip Wittrock e94e1c6e3d Node e2e Makefile support for running remote tests against kubernetes-node-e2e-images.
Also includes other improvements:
- Makefile rule to run tests against remote instance using existing host or image
- Makefile will reuse an instance created from an image if it was not torn down
- Runner starts gce instances in parallel with building source
- Runner uses instance ip instead of hostname so that it doesn't need to resolve
- Runner supports cleaning up files and processes on an instance without stopping / deleting it
- Runner runs tests using `ginkgo` binary to support running tests in parallel
2016-06-08 07:31:54 -07:00
Dawn Chen 0d3be6a316 Merge pull request #26735 from timstclair/local-e2e
Fixes for running node e2es
2016-06-07 14:51:18 -07:00
Vishnu kannan 2494c77972 Disable CoreOS image from node e2e testing.
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-06-07 10:45:37 -07:00
Random-Liu a6ad652104 shorten e2e_node test, fix pod ready test issue 2016-06-06 17:25:59 -07:00
Tim St. Clair 66d74f969d More reliable teardown of node e2e services 2016-06-06 15:30:23 -07:00
Tim St. Clair bdff676425 Only build essential targets for node e2e
Also clean up a log message
2016-06-06 11:28:39 -07:00
k8s-merge-robot 015bc3d60d Merge pull request #26811 from vishh/26809
Automatic merge from submit-queue

Mark runtime conformance tests as flaky and not run them in jenkins CI.

For #26809

@pwittrock As discussed offline, marking runtime tests as flaky for now. I'm not sure if those tests are required. Testing docker in every Kubernetes PR is un-necessary. 
These tests can be run periodically in a separate CI. AFAIK, these tests don't seem to exercise any kube features.
2016-06-06 11:14:44 -07:00
k8s-merge-robot 6c5f5c5e36 Merge pull request #26571 from pwittrock/node-e2e-godeps
Automatic merge from submit-queue

Node e2e use vendored testing packages.


[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-04 14:54:25 -07:00
k8s-merge-robot a2d79d0ef6 Merge pull request #26825 from timstclair/node-e2e-pull
Automatic merge from submit-queue

Fix node e2e image pulling retry logic
2016-06-04 11:36:41 -07:00
k8s-merge-robot 5c8dd576e2 Merge pull request #26592 from vishh/26289
Automatic merge from submit-queue

Update Node e2e Core OS image to run systemd with CPU & Memory accounting enabled by default

cc @derekwaynecarr 

For #26289
2016-06-04 03:32:10 -07:00
k8s-merge-robot 3f1960b73e Merge pull request #26314 from vishh/all-logs
Automatic merge from submit-queue

Link kernel log files to have them be copied over as part of node e2e.

Fixes #25993

cc @pwittrock
2016-06-03 18:49:25 -07:00
Yu-Ju Hong a6a3ed210c Port the downward api test to the node e2e suite
Also extend the framework to allow a custom client config loading function, so
that the node e2e suite can reuse the same framework across tests.
2016-06-03 18:16:24 -07:00
pwittrock c74997508e Node e2e use vendored testing packages. 2016-06-03 17:01:50 -07:00
Tim St. Clair 7153981bfe Fix node e2e image pulling retry logic 2016-06-03 16:37:58 -07:00
Vishnu kannan 82718c186c update coreos node e2e images to include updated systemd config
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-06-03 16:14:26 -07:00
Vishnu kannan 7665120818 update attributes on node e2e copy image script
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-06-03 16:14:26 -07:00
Vish Kannan 4e1596e61e Remove debug log line 2016-06-03 14:41:05 -07:00
Vishnu kannan 4e3bce8cb7 Mark runtime conformance tests as flaky and not run them in jenkins CI.
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-06-03 13:57:44 -07:00
k8s-merge-robot 69e45dc30d Merge pull request #26671 from vishh/node-e2e-images
Automatic merge from submit-queue

Support images and instances to exist in different GCP projects for node

Forked off from #26314
2016-06-03 13:38:02 -07:00
Vishnu kannan 34a828d07e Link kernel log files to have them be copied over as part of node e2e.
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-06-03 11:22:25 -07:00
k8s-merge-robot c114f32998 Merge pull request #26289 from derekwaynecarr/enable_accounting
Automatic merge from submit-queue

Enable node e2e accounting on systemd

Updated the e2e setup.sh script to enable cpu and memory accounting.

Related to https://github.com/kubernetes/kubernetes/issues/26198

/cc @pwittrock
2016-06-02 13:42:58 -07:00
k8s-merge-robot 0aaf5316be Merge pull request #26674 from vishh/node-e2e-owners
Automatic merge from submit-queue

adding a few owners for node e2e framework

cc @pwittrock 

This should help spread node e2e PRs.
2016-06-02 06:52:10 -07:00
k8s-merge-robot 8dcedbab5d Merge pull request #26232 from vishh/25713
Automatic merge from submit-queue

Suppress non error logs from ssh commands in node e2e framework.

Fixes #25713
2016-06-01 21:27:29 -07:00
Vishnu kannan 76dc29ef58 adding a few owners for node e2e framework
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-06-01 18:11:18 -07:00
Vishnu kannan 60ed27783e Support images and instances to exist in different GCP projects for node
e2e.
Add current user to docker group on instances for node e2e.

Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-06-01 18:01:02 -07:00
Phillip Wittrock 92dd0f4bc3 Node e2e test runner should still exit 0 if tests fail
- Exit non-0 if infrastructure failures happen
- Exit 0 if no infrastructure failures happen regardless of test results

(Jenkins will use junit.xml to determine test results)
2016-05-31 09:08:00 -07:00
k8s-merge-robot 023f11dc10 Merge pull request #26437 from pwittrock/fix-26435
Automatic merge from submit-queue

Node e2e - Fix issue where error in scp is not return.  Fixes #26435



[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-05-29 19:08:59 -07:00
k8s-merge-robot feee4834c8 Merge pull request #25685 from pwittrock/nodee2e
Automatic merge from submit-queue

Support per-test-environment ginkgo flags for node e2e tests to facilitate skipping miss behaving tests in PR builder

We had an issue today where some node e2e tests were timing out in the pr builder.  We want to be able to skip tests in the pr builder and leave them running in the CI if this happens again.


[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-05-29 05:42:51 -07:00
Wojciech Tyczynski febf158e0e Revert "Make Privileged pods node e2e use the framework" 2016-05-29 06:17:35 +02:00
k8s-merge-robot 56fdd4c8b1 Merge pull request #26228 from vishh/priv-pods-node-e2e
Automatic merge from submit-queue

Make Privileged pods node e2e use the framework

Made the test more readable along the way with more logs. This should help us triage failures/flakes in the future.

#24577
2016-05-28 16:05:14 -07:00
k8s-merge-robot 04bdd37bc4 Merge pull request #25972 from luxas/remove_arch_constants
Automatic merge from submit-queue

Use pause image depending on the server's platform when testing

Removed all pause image constant strings, now the pause image is chosen by arch. Part of the effort of making e2e arch-agnostic.

The pause image name and version is also now only in two places, and it's documented to bump both
Also removed "amd64" constants in the code. Such constants should be replaced by `runtime.GOARCH` or by looking up the server platform

Fixes: #22876 and #15140
Makes it easier for: #25730
Related: #17981

This is for `v1.3`
@ixdy @thockin @vishh @kubernetes/sig-testing @andyzheng0831 @pensu
2016-05-28 04:48:59 -07:00
Alex Robinson baaf1b628a Merge pull request #25696 from rmmh/showbuildlog
Show hack/build-go.sh output during e2e tests.
2016-05-27 16:17:08 -07:00
derekwaynecarr 67493aa9f4 Enable node e2e accounting on systemd
Install docker from RHEL repo on RHEL
2016-05-27 14:25:11 -04:00
Phillip Wittrock d051f0b7cd Node e2e - Fix issue where error in scp is not return. Fixes #26435 2016-05-27 10:33:23 -07:00
Vishnu kannan fe5b0694c9 build ginkgo on-demand
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-05-26 15:37:52 -07:00
Vishnu kannan 9f730d5345 Update node e2e "privileged pods" to use the framework.
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-05-26 15:37:51 -07:00
Phillip Wittrock 1d91d24548 Allow per-environment ginkgo flags to be passed to the node e2e tests so that we can selectively disable slow tests in the PR builder when needed. 2016-05-26 15:05:40 -07:00
Alex Mohr 4357b8a0a6 Merge pull request #25324 from jfrazelle/add-seccomp
Add Seccomp to Annotations
2016-05-26 10:50:06 -07:00
Lucas Käldström 79ca1911e1 Removed all pause image constant strings, now the pause image is chosen by arch. Part of the effort of making e2e arch-agnostic 2016-05-26 19:16:43 +03:00
Vishnu kannan 2be9cd4854 Retry image pulling 5 times before giving up in node e2e.
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-05-25 16:37:04 -07:00
Vishnu kannan c7dd4fb111 Suppress non error logs from ssh commands in node e2e framework.
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-05-24 16:54:24 -07:00
pwittrock eae1961599 Node e2e export test artifacts to jenkins.
- Add junit test reported
- Write etcd.log, kubelet.log and kube-apiserver.log to files instead of stdout
- Scp artifacts to the jenkins WORKSPACE

Fixes #25966
2016-05-24 23:00:58 +00:00
Ryan Hitchman 0974b959be Show hack/build-go.sh and ginkgo build output during e2e tests.
This makes it easier to diagnose slow builds.
2016-05-24 14:53:57 -07:00
Jess Frazelle aa8c72adaa
seccomp: add annotations and test for docker runtime
Signed-off-by: Jess Frazelle <me@jessfraz.com>
2016-05-24 12:25:21 -07:00
Random-Liu 22e4df74d8 Fix node e2e log print 2016-05-24 11:34:40 -07:00
k8s-merge-robot 6224f44717 Merge pull request #25771 from sjpotter/fs-info
Automatic merge from submit-queue

kubelet/cadvisor: Refactor cadvisor disk stat/usage interfaces.

basically

1) cadvisor struct will know what runtime the kubelet is, passed in via additional argument to New()

2) rename cadvisor wrapper function to DockerImagesFsInfo() to ImagesFsInfo() and have linux implementation choose a label based on the runtime inside the cadvisor struct

2a) mock/fake/unsupported modified to take the same additional argument in New()

3) kubelet's wrapper for the cadvisor wrapper is renamed in parallel

4) make all tests use new interface
2016-05-22 03:08:59 -07:00
k8s-merge-robot 70cd282f11 Merge pull request #25944 from pwittrock/fix-24905
Automatic merge from submit-queue

Pre-pull images in node e2e-tests.  Possible resolution for #24905



[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-05-20 18:50:11 -07:00
Mike Danese 11105355fc Merge pull request #25916 from pwittrock/node-e2e-images
Update node e2e containervm image to not start kubelet as part of ini…
2016-05-20 16:41:28 -07:00
Phillip Wittrock e4b40fca9a Update node e2e containervm image to not start kubelet as part of init. Update the node e2e host setup.sh to also do this when creating new images. 2016-05-20 14:44:38 +00:00
k8s-merge-robot 97a7d009ad Merge pull request #25708 from ixdy/node-e2e-test-timeout
Automatic merge from submit-queue

Add a timeout to the node e2e Ginkgo test runner

Also add a few debugging statements to indicate progress.

Should help prevent #25639, since we'll timeout tests before Jenkins times out the build.
2016-05-20 04:42:16 -07:00
Phillip Wittrock 839f4f8dd2 Pre-pull images in node e2e-tests. Possible resolution for #24905 2016-05-20 05:22:30 +00:00
Shaya Potter ae08ef38d7 kubelet/cadvisor: Refactor cadvisor disk stat/usage interfaces 2016-05-19 11:13:47 -07:00
Jeff Grafton 83dd910175 Add a timeout to the node e2e Ginkgo test runner
Also add a few debugging statements to indicate progress.
2016-05-16 20:22:41 -07:00
Random-Liu d1ab3b7f01 Change consistently check timeout to 20 seconds. 2016-05-16 16:38:40 -07:00
liang chenye 4ddb160bd0 e2e-node test: check runtime ready/restartcount/status
Signed-off-by: liang chenye <liangchenye@huawei.com>
2016-05-12 15:29:35 +08:00
Tim Hockin cbf886c7f4 Convert everything to use vendor/ 2016-05-08 20:30:37 -07:00
k8s-merge-robot 8a04506546 Merge pull request #23009 from uluyol/c-pause
Automatic merge from submit-queue

Reimplement 'pause' in C - smaller footprint all around

Statically links against musl. Size of amd64 binary is 3560 bytes.

I couldn't test the arm binary since I have no hardware to test it on, though I assume we want it to work on a raspberry pi.

This PR also adds the gcc5/musl cross compiling image used to build the binaries.

@thockin
2016-05-08 09:29:32 -07:00
Robert Bailey 8bebc448cb Merge pull request #25004 from yifan-gu/mask_locksmithd
e2e_node: Disable auto restart on CoreOS.
2016-05-06 14:15:43 -07:00
Robert Bailey 6c3ed90b66 Merge pull request #24804 from ncdc/fix-node-e2e-failure-output
Fix node e2e startServer failure output
2016-05-06 13:26:41 -07:00
liang chenye 3c9306e521 fix #24937: flake pod not found
Signed-off-by: liang chenye <liangchenye@huawei.com>
2016-05-05 15:29:28 +08:00
Muhammed Uluyol f3690e2d5e
build/pause: write in C
Builds statically against glibc. References to the old pause
image have been updated.
2016-05-04 21:45:52 -04:00
Andy Goldstein e630070078 Fix node e2e startServer failure output
Correct the display of the output when e.g. starting the kubelet fails in the node e2e tests. This
change makes it display a string instead of an array of decimal values.
2016-05-02 14:30:59 -04:00
k8s-merge-robot 66730c53c5 Merge pull request #24445 from vishh/framework-node-e2e
Automatic merge from submit-queue

Framework support for node e2e.

This should let us port existing e2e tests to the node e2e suite, if the tests are node specific.
2016-05-02 02:17:48 -07:00
Yifan Gu d705cc5cf8 e2e_node: Disable auto restart on CoreOS. 2016-05-01 23:48:16 -07:00
Yifan Gu 05951caa44 Revert "Disable coreos nodes from node e2e due to issues with ssh on coreos."
This reverts commit 33a46e0ed6.
2016-04-29 18:24:55 -07:00
Vishnu kannan fa476b8044 Framework support for node e2e.
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-04-29 15:37:35 -07:00
Vishnu kannan 33a46e0ed6 Disable coreos nodes from node e2e due to issues with ssh on coreos.
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-04-29 10:52:41 -07:00
k8s-merge-robot a4e16319fd Merge pull request #24329 from liangchenye/refact
Automatic merge from submit-queue

refactor conformance test

@Random-Liu  Rebase the testing code.
 
Signed-off-by: liang chenye <liangchenye@huawei.com>
2016-04-28 03:53:59 -07:00
liang chenye aa3bf1faac refactor e2e_node conformance test
Signed-off-by: liang chenye <liangchenye@huawei.com>
2016-04-28 16:20:14 +08:00
Vishnu kannan e566948a75 Track image storage usage for docker containers
add image fs info to summary stats API.
Adding node e2e test for image stats.

Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-04-25 16:00:34 -07:00
Random-Liu c74f199223 Add node e2e test for mirror pod. 2016-04-21 22:11:06 -07:00
Yu-Ju Hong a29432163e node_e2e: disable serialized image pulls and increase test timeout 2016-04-21 15:34:28 -07:00
goltermann 3fa6c6f6d9 Enable vet 2016-04-20 09:48:24 -07:00
Phillip Wittrock 90d2f9ad5e Incremental improvements to kubelet e2e tests
- Add keep-alive to ssh connection
- Don't try to stop services on image-based runs
- Increase jenkins ci timeout to 90 minutes to accomadate unpredictable go build times
- Remove spammy log statement
2016-04-18 13:56:07 -07:00
k8s-merge-robot d37e6ad332 Merge pull request #24126 from Random-Liu/fix-pull-image
Automatic merge from submit-queue

Fix PullImage and add corresponding node e2e test

Fixes #24101. This is a bug introduced by #23506, since ref #23563.

The root cause of #24101 is described [here](https://github.com/kubernetes/kubernetes/issues/24101#issuecomment-208547623).

This PR
1) Fixes #24101 by decoding the messages returned during pulling image, and return error if any of the messages contains error.
2) Add the node e2e test to detect this kind of failure.
3) Get present check out of `ConformanceImage.Remove()` and `ConformanceImage.Pull()`. Because sometimes we may expect error to occur in `PullImage()` and `RemoveImage()`, but even that doesn't happen, the `Present()` check will still return error and let the test pass.

@yujuhong @freehan @liangchenye 

Also /cc @resouer, because he is doing the image related functions refactoring.
2016-04-18 07:05:44 -07:00
k8s-merge-robot 934d7ebb33 Merge pull request #23968 from yujuhong/privileged_containers
Automatic merge from submit-queue

e2e_node: port privileged pod tests from test/e2e/priviliged.go

The ported test is functionally the same as the original test.
The main difference between the two tests is that the original test relies on
`kubectl` to exec into the container, while the latter directly uses the REST
client of the apiserver. This avoids the need to copy kubectl to the node under
test.
2016-04-17 12:37:12 -07:00
Phillip Wittrock d37222d1d9 kubelet e2e test - format command output as string, not byte string. 2016-04-15 15:17:59 -07:00
Phillip Wittrock 5155df0287 Don't clean up files on image-based tests since the instance will be deleted anyway and this is flaky on CoreOS. Fixed #24297 2016-04-15 10:32:26 -07:00
k8s-merge-robot 2382fec956 Merge pull request #23894 from vishh/oom-score-adj-error
Automatic merge from submit-queue

Do not throw creation errors for containers that fail immediately after being started

Fixes (hopefully) #23607 

cc @dchen1107
2016-04-14 22:29:14 -07:00
k8s-merge-robot 14d9764b77 Merge pull request #24271 from pwittrock/flaky
Automatic merge from submit-queue

Only output log files if tests fail
2016-04-14 21:42:58 -07:00
Phillip Wittrock e88fdb85c0 Only output log files if tests fail 2016-04-14 12:04:36 -07:00
goltermann a3104ba96c Final vet fixes; enabling vet checks in verify scripts. 2016-04-13 13:51:51 -07:00
Random-Liu 2b9f6bea18 Fix PullImage and corresponding node e2e test. 2016-04-12 10:42:25 -07:00
Vishnu kannan d100e3147f Convert the node conformance tests to use dedicated images.
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-04-11 14:38:43 -07:00
Vishnu kannan d4db40e87f Adding an e2e test for oom score adjust handling.
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-04-11 12:51:42 -07:00
Yu-Ju Hong 6567c54e45 e2e_node: port privileged pod tests from test/e2e/priviliged.go
The ported test is functionally the same as the original test.
The main difference between the two tests is that the original test relies on
`kubectl` to exec into the container, while the latter directly uses the REST
client of the apiserver. This avoids the need to copy kubectl to the node under
test.
2016-04-06 19:09:07 -07:00
Phillip Wittrock 015b9a6489 Retry failed image pulls. Closes #23669. 2016-04-01 09:48:19 -07:00
Phillip Wittrock 8002e10fbb node e2e Output failed health checks as string not bytes 2016-04-01 09:20:30 -07:00
k8s-merge-robot eb665e038c Merge pull request #23285 from pwittrock/flaky
Automatic merge from submit-queue

node e2e conformance keep polling if encounters errors
2016-03-29 22:56:03 -07:00
Phillip Wittrock 183562d79a node e2e conformance keep polling if encounters errors 2016-03-28 12:02:33 -07:00
goltermann 32d569d6c7 Fixing all the "composite literal uses unkeyed fields" Vet errors. 2016-03-25 15:25:09 -07:00
goltermann 34d4eaea08 Fixing several (but not all) go vet errors. Most are around string formatting, or unreachable code. 2016-03-22 17:26:50 -07:00
k8s-merge-robot d37baf748f Merge pull request #22933 from liangchenye/imageConform
Auto commit by PR queue bot
2016-03-22 04:27:50 -07:00
liangchenye 41d40824cf image operation conformance test
Signed-off-by: liang chenye <liangchenye@huawei.com>
2016-03-17 15:27:07 +08:00
Phillip Wittrock 85f09cbcfe node e2e - make more resilient to flakes 2016-03-14 17:03:06 -07:00
k8s-merge-robot 61c4958dcc Merge pull request #22859 from pwittrock/flaky-node
Auto commit by PR queue bot
2016-03-11 14:30:51 -08:00
Phillip Wittrock ce2d2c84c1 use different pod names and namespaces 2016-03-11 09:13:37 -08:00
derekwaynecarr f0bfbcedcd Bump timeout time for e2e node test services 2016-03-04 17:07:35 -05:00
Vishnu kannan e33ec7a6ba Re-enable system metrics kubelet tests.
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-03-02 14:55:26 -08:00
k8s-merge-robot 51b005500d Merge pull request #22215 from pwittrock/enable-readonly-e2e
Auto commit by PR queue bot
2016-03-01 14:52:00 -08:00
Phillip Wittrock b897981a11 Node e2e test - fix and re-enable readonly volume test. Fixes #21320 2016-02-29 14:46:34 -08:00
Saad Ali 4183ac174b Merge pull request #21408 from krousey/unversioned_breakup
Move restclient to it's own package
2016-02-29 14:03:09 -08:00
Phillip Wittrock 9287e6c388 Node e2e sync pr builder host images to ci host images.
- Also fix seeding issue in run_e2e.go
- Disable failing kubelet_test for system container metrics
2016-02-29 12:15:55 -08:00
Kris e664ef922f Move restclient to its own package 2016-02-29 12:05:13 -08:00
k8s-merge-robot 89038f3b1f Merge pull request #20415 from liangchenye/e2etest
Auto commit by PR queue bot
2016-02-29 07:34:05 -08:00
k8s-merge-robot c4ffcbdbaa Merge pull request #21398 from liggitt/time-param
Auto commit by PR queue bot
2016-02-27 03:37:07 -08:00
Phillip Wittrock 0db316970c Node e2e fix etcd compability issues across versions 2016-02-26 15:44:40 -08:00
Phillip Wittrock a11489e0ff Node e2e documentations and minor features
- Add README.md for node e2e tests
- Add support for --cleanup=false to leave test files on remote hosts and temporary instances for debugging
- Add ubuntu trusty instances for docker 1.8 and docker 1.9 to jenkins pr builder
- Disable coreos-beta for jenkins ci since it is failing - need to investigate
2016-02-26 10:58:48 -08:00
liangchenye e3861cd6fc use phase to test container status
Signed-off-by: liangchenye <liangchenye@huawei.com>
2016-02-26 14:32:03 +08:00
liangchenye 7d41164931 blackbox test: list, create, remove
Signed-off-by: liangchenye <liangchenye@huawei.com>
2016-02-26 12:31:29 +08:00
Jordan Liggitt ea59b4c741 Fix sinceTime pod log options 2016-02-25 00:46:13 -05:00
Phillip Wittrock c51c606f22 Node e2e test runner - run against images
- support allocating gce instances from images and running tests against them
- set --hostname-override to match node name
- add jenkins script to source to reproduce jenkins build locally
2016-02-24 16:29:59 -08:00
Phillip Wittrock a3623c0c14 Refactor node e2e tests
- Add Makefile targets
- Start services in the test harness and connect locally
- Build test into binary and copy to remote host to start services
- Use tar to copy binaries to remote hosts to simplify design
2016-02-22 20:06:15 -08:00
Tim St. Clair 225f903ccf Move stats summary types to a new kubelet/api package to avoid unnecessary dependencies 2016-02-17 10:53:25 -08:00
Phillip Wittrock d8a689c195 diable readonly fs tests until 21320 is resolved 2016-02-16 10:08:01 -08:00
Nick Schuch 5d511aeb54 Adds ReadOnlyRootFilesystem support for containers 2016-02-14 15:39:51 +10:00
Tim St. Clair f258737e84 Fix broken node test from 7a54f94 2016-02-12 15:49:35 -08:00
Phillip Wittrock 3c708db4b8 Include kubelet logs in output when running node e2e tests 2016-02-09 10:41:13 -08:00
Phillip Wittrock 6cb09700e0 Don't expect secret volume for node e2e tests 2016-02-08 10:08:41 -08:00
Phillip Wittrock 3de94cd23c Supply volume fs metrics to server/stats/handler.go
* Metrics will not be expose until they are hooked up to a handler
* Metrics are not cached and expose a dos vector, this must be fixed before release or the stats should not be exposed through an api endpoint
2016-02-05 16:00:24 -08:00
Phillip Wittrock ba5be34574 Kubelet Metrics Summary Api Implementation 2016-02-04 14:05:28 -08:00
Phillip Wittrock 4397bdedf3 Errof -> Warningf 2016-01-07 13:29:17 -08:00
Phillip Wittrock aebc1bcc92 node e2e tests - retry fkaky failures caused by gcloud authentication 2016-01-07 12:17:24 -08:00
Phillip Wittrock 41f5b0b765 Node e2e test - propagate errors from tests to runner exit code. 2015-12-17 15:37:11 -08:00
Phillip Wittrock 3d8835e2f0 remove cluster-name flag from e2e tests because it doesn't exist anymore 2015-12-16 12:10:25 -08:00
Phillip Wittrock ad37e2654e Node e2e test fixes:
- Improve documentation and method naming
- Fix command this is run remotely
- Never reschedule the busybox logging test pod since it is supposed to terminate
- Update log test condition retrylogic to correctly retry instead of failing the test
- localhost -> 127.0.0.1 to work on coreos
- give name to etcd to work on coreos
- allow using full hostname for nodename for coreos
2015-12-16 09:22:48 -08:00
k8s-merge-robot 9bbe6012e3 Merge pull request #17683 from pwittrock/node_e2e_tests
Auto commit by PR queue bot
2015-12-09 12:50:22 -08:00
k8s-merge-robot b266aa1577 Merge pull request #18120 from pwittrock/etcd
Auto commit by PR queue bot
2015-12-09 10:30:36 -08:00
Phillip Wittrock 0e2ade336a Initial revision of conformance node environment conformance tests 2015-12-03 15:41:10 -08:00
Phillip Wittrock 91e9ff5e16 Node e2e tests against remote host use host-local etcd instead of copying one there. Also fix the kubelet healthz port. 2015-12-02 17:20:49 -08:00
Phillip Wittrock ec5ecb18fa Initial Pod e2e test 2015-11-24 15:40:16 -08:00
Phillip Wittrock 49e1baa313 Test runner harness for node e2e tests 2015-11-18 13:05:01 -08:00