Commit Graph

2751 Commits

Author SHA1 Message Date
k8s-ci-robot
632df63061 Merge pull request #68822 from pohly/csi-pod-creation
CSI E2E: retry csi-pod creation
2018-10-11 12:32:28 -07:00
mooncake
91419e6782 Fix typos in the test comments
Signed-off-by: mooncake <xcoder@tenxcloud.com>
2018-10-11 19:25:55 +08:00
Patrick Ohly
97101a6a86 e2e: update bazel BUILD files
Generated via hack/update-bazel.sh.
2018-10-11 11:36:25 +02:00
Patrick Ohly
8b17db7e0c e2e: modular framework
Not all users of the E2E framework want to run cloud-provider specific
tests. By splitting out the code it becomes possible to decide in
a E2E test suite which providers are supported.

This is achieved in two ways:
- the framework calls certain functions through a provider
  interface instead of calling specific cloud provider functions
  directly
- tests that are cloud-provider specific directly import the
  new provider packages

The ingress test utilities are only needed by a few tests. Splitting
them out into a separate package makes the framework simpler for test
suites not using those tests.

Fixes: #66649
2018-10-11 11:16:11 +02:00
k8s-ci-robot
9c94363ef9 Merge pull request #69105 from pohly/e2e-settings
E2E settings
2018-10-10 12:01:07 -07:00
Claudiu Belu
7cd4ebf3c3 tests: Makes tests' commands platform agnostic
Some commands used in tests are Linux specific and do not exist
or do not behave the same on Windows nodes. This can cause those
tests to fail on Windows nodes.

Replaces the mentioned commands with ones that behave the same on
both Linux and Windows.
2018-10-08 17:19:18 -07:00
k8s-ci-robot
0f17e9ade6 Merge pull request #69386 from cblecker/go-1.11
Update to go1.11.1
2018-10-05 17:35:51 -07:00
k8s-ci-robot
13705ac81e Merge pull request #68310 from cheftako/cpiMove
Moving the cloudprovider interface to staging.
2018-10-05 13:29:01 -07:00
Christoph Blecker
97b2992dc1 Update gofmt for go1.11 2018-10-05 12:59:38 -07:00
Patrick Ohly
4423735dc3 e2e: update bazel BUILD files
Generated via hack/update-bazel.sh.
2018-10-05 14:28:03 +02:00
Patrick Ohly
7305a3e395 e2e/lifecycle: decentralized settings
Tests settings should be defined in the test source code itself
because conceptually the framework is a separate entity that not all
test authors can modify.

For the sake of backwards compatibility the name of the command line
flags are not changed.
2018-10-05 14:24:35 +02:00
Patrick Ohly
752203d3fa e2e/instrumentation: decentralized settings
Tests settings should be defined in the test source code itself
because conceptually the framework is a separate entity that not all
test authors can modify.

Using the new framework/config code also has several advantages:
- defaults can be set with less code
- no confusion around what's a duration
- the options can also be set via command line flags

While at it, a minor bug gets fixed:
- readConfig() returns only defaults when called while
  registering Ginkgo tests because Viperize() gets called later,
  so the scale in the logging soak test couldn't really be configured;
  now the value is read when the test runs and thus can be changed

The options get moved into the "instrumentation.logging"
resp. "instrumentation.monitoring" group to make it more obvious where
they are used. This is a breaking change, but that was already
necessary to improve the duration setting from plain integer to a
proper time duration.
2018-10-05 14:24:35 +02:00
Patrick Ohly
8cde9c08f0 e2e/storage: decentralized settings
Tests shouldn't have to use the central context for their settings,
because conceptually tests and framework get developed independently.

This does not yet use the new framework/config utility code because
that code still needs to be reviewed.

Besides moving the flags, they also get renamed from the top-level
"--csiImage{Version|Registry}" to
"--storage.csi.image.{version|registry}". These flags were introduced
fairly recently and shouldn't be in use much, so now is a good time to
introduce a hierarchical naming for storage flags, in particular
because more flags will be added soon.
2018-10-05 14:24:35 +02:00
Patrick Ohly
cf0dcc6ab2 e2e: clarify and enhance configuration support
Storing settings in the framework's TestContext is not something that
out-of-tree test authors can do because for them the framework is a
read-only upstream component. Conceptually the same is true for
in-tree tests, so the recommended approach is to define configuration
settings in the code that uses them.

How to do that is a bit uncertain. Viper has several
drawbacks (maintenance status uncertain, cannot list supported
options, cannot validate the configuration file). How to handle
configuration files is currently getting discussed for kubeadm, with
similar concerns about
Viper (https://github.com/kubernetes/kubeadm/issues/1040).

Instead of making a choice now for E2E, the recommendation is that
test authors continue to define command line flags as before, except
that they should do it in their own code and with better flag names.

But the ability to read options also from a file is useful, so
several enhancements get added:
- all settings defined via flags can also be read from a
  configuration file, without extra work for test authors
- framework/config makes it possible to populate a struct directly
  and define flags with a single function call
- a path and file suffix can be given to --viper-config (as in
  "--viper-config /tmp/e2e.json") instead of expecting the file in
  the current directory; as before, just plain "--viper-config e2e"
  still works
- if "--viper-config" is set, the file must exist; otherwise the
  "e2e" config is optional (as before)
- errors from Viper are no longer silently ignored, so syntax errors
  are detected early
- Viper support is optional: test suite authors who don't want
  it are not forced to use it by the e2e/framework
2018-10-05 14:22:18 +02:00
Walter Fender
f3f46d5f5a Moving the cloudprovider interface to staging.
Individual implementations are not yet being moved.
Fixed all dependencies which call the interface.
Fixed golint exceptions to reflect the move.
Added project info as per @dims and
https://github.com/kubernetes/kubernetes-template-project.
Added dims to the security contacts.
Fixed minor issues.
Added missing template files.
Copied ControllerClientBuilder interface to cp.
This allows us to break the only dependency on K8s/K8s.
Added TODO to ControllerClientBuilder.
Fixed GoDeps.
Factored in feedback from JustinSB.
2018-10-04 14:41:20 -07:00
k8s-ci-robot
166490a473 Merge pull request #69103 from pohly/testfiles
E2E: handling extra files
2018-10-04 13:39:49 -07:00
Kenichi Omichi
b259e91420 Update options of master/node-os-distro
Some e2e tests are skipped by depending on Linux distribution of
master and node, and the options can be one of "debian", "ubuntu",
"gci" or "custom". This updates the help message of the options.
2018-10-03 17:44:28 +00:00
k8s-ci-robot
59957af125 Merge pull request #69283 from chrisohaver/trackdns2
Add option to track dns pods
2018-10-02 05:35:33 -07:00
k8s-ci-robot
a27adf1612 Merge pull request #69300 from mrunalp/subpath_test_wait_for_event
test: Wait for pod event to show up
2018-10-02 01:12:00 -07:00
Patrick Ohly
20c9549c10 e2e: update bazel BUILD files
Generated via hack/update-bazel.sh.
2018-10-02 08:31:03 +02:00
Patrick Ohly
212af1ac29 e2e: abstract access to additional files
The new test/e2e/framework/testfiles package makes it possible to
write tests that do not depend on a specific way of providing
additional test files at runtime. Such tests and the framework are
then more easily reused in other test suites.

In the test/e2e suite file access is enabled based on the existing
"repo-root" command line parameter and the built-in bindata. Tests
using the new API will first check for files under "repo-root" and
then fall back to the builtin data. This way, users of a test binary
can modify those files without having to rebuild the binary.

"repo-root" is still needed because at least some tests check for
additional files (secret.yaml, via ingress_utils.go) that are not part
of the upstream source code and thus may or may not be built into a
test binary.

Tests using bindata or repo-root directly get modified to use the new
API, or removed when they are obsolete: test/e2e/examples.go depended
on files that were removed in
https://github.com/kubernetes/kubernetes/pull/61246 and thus can no
longer be run in Kubernetes. Moving the tests to kubernetes/examples
is tracked in https://github.com/kubernetes/examples/issues/214.

The file removal did not break the automated E2E testing probably
because the tests are under the Feature:Example tag and thus not
enabled during normal CI runs.

Removing also the obsolete tests makes it simpler to rework the
"repo-root" setting because less code uses it.

Related-to: #66649 and #23987
2018-10-02 08:31:03 +02:00
k8s-ci-robot
d25e6a6f62 Merge pull request #69291 from mrunalp/bump_up_pod_start_short_timeout
Increase the pod start short timeout
2018-10-01 22:21:08 -07:00
Mrunal Patel
c771de1e6b test: Wait for pod event to show up
We are seeing flakes where pod event isn't yet visible when
we check for it leading to test failure.

Signed-off-by: Mrunal Patel <mpatel@redhat.com>
2018-10-01 12:28:40 -07:00
Mrunal Patel
c58fc8ce4b Increase the pod start short timeout
We have seen flakes related to this timeout.

Signed-off-by: Mrunal Patel <mpatel@redhat.com>
2018-10-01 09:27:22 -07:00
Chris O'Haver
9060fc6e6d add opt to track dns pods 2018-10-01 10:00:16 -04:00
Davanum Srinivas
57f1f6e5b7 Use token file for in cluster config during e2e tests
Change-Id: I08e792d7c4db2d81861eec6f91028ebf26dea8db
2018-10-01 05:55:37 -04:00
k8s-ci-robot
3fe21e5433 Merge pull request #68922 from BenTheElder/version-staging
move pkg/util/version to staging
2018-09-26 22:59:42 -07:00
k8s-ci-robot
4b859010e9 Merge pull request #68757 from neolit123/e2e-fix-k-a-path
e2e/framework: update kubernetes-anywhere path
2018-09-26 14:43:03 -07:00
Benjamin Elder
8b56eb8588 hack/update-gofmt.sh 2018-09-24 12:21:29 -07:00
Benjamin Elder
f828c6f662 hack/update-bazel.sh 2018-09-24 12:03:24 -07:00
Benjamin Elder
088cf3c37b find & replace version import 2018-09-24 12:03:24 -07:00
Patrick Ohly
6dbb07c4b6 CSI E2E: retry csi-pod creation
Normally the pod would get created via a DaemonSet controller, but
during testing it is easier to create it directly. We just need to
ignore errors (like 'No API token found for service account
"csi-service-account"') and retry for a while. If the error persists,
the error will still abort and report it eventually.

This problem also occurs elsewhere, so an utility function in the
framework for it seems justified.

Fixes: #68776
2018-09-21 11:45:52 +02:00
Jeff Grafton
3388e0ce5f Update to use etcd:3.2.24-1 image 2018-09-20 12:40:26 -07:00
Francois Tur
5c20fff19d Revert "Add DNS pod resource monitoring option" 2018-09-19 14:54:29 -04:00
k8s-ci-robot
ab02fd6f8a Merge pull request #68683 from chrisohaver/trackdns
Add DNS pod resource monitoring option
2018-09-19 09:47:29 -07:00
k8s-ci-robot
9228bec334 Merge pull request #68579 from verult/adc-crd-access
Updating CSI e2e test to create CSI CRDs
2018-09-19 02:00:30 -07:00
Cheng Xing
4ff1e32974 Updating CSI e2e test to create CSI CRDs; storing CRD spec in a common location 2018-09-18 14:25:00 -07:00
Chris O'Haver
fd73e6f291 dont merge this commit 2018-09-18 09:37:27 -04:00
David Zhu
44be42c196 Include PV wait confirmation for Disruptive PV tests 2018-09-17 16:37:23 -07:00
Lubomir I. Ivanov
a39cedd263 e2e/framework: update kubernetes-anywhere path 2018-09-18 00:04:54 +03:00
Chris O'Haver
af0c1d2a4c Add dns pod monitoring option 2018-09-17 12:52:05 -04:00
Aleksandra Malinowska
a835171f60 Check network condition ready when waiting for ready nodes 2018-09-17 14:51:32 +02:00
k8s-ci-robot
9c99da0cb9 Merge pull request #68590 from davidz627/fix/VolumeCleanup
Change VolumeTestCleanup to not fail when pod already deleted
2018-09-13 04:28:12 -07:00
David Zhu
304bb501b3 Change VolumeTestCleanup to not fail when pod already deleted 2018-09-12 15:36:55 -07:00
David Zhu
f3238d238d Change GCEPD Standard test disk to PD_STANDARD and 2GB 2018-09-12 14:04:06 -07:00
Kubernetes Submit Queue
59bcf0dadf Merge pull request #67950 from dims/remove-e2e-image-puller
Automatic merge from submit-queue (batch tested with PRs 67950, 68195). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Remove e2e-image-puller

**What this PR does / why we need it**:

A long time ago, We added the image prepulling as a workaround due to
the overwhelming amount of flake caused by pulling during the tests.
This functionality has been broken for a while now when we switched to a
COS image where mounting `docker` binary into `busybox` stopped working.
So we just have dead code we should clean up.

Change-Id: I538171a5c1d9361eee7f9e0a99655b88b1721e3e

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #63355

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-09-07 11:19:36 -07:00
Timothy St. Clair
ad2ed0e7df Update default etcd server to 3.2.24 for kubernetes 1.12
Signed-off-by: Timothy St. Clair <timothysc@gmail.com>
2018-09-06 10:24:57 -05:00
Jan Safranek
f1cef9bde4 Add e2e test for skipping attach 2018-09-05 10:35:54 -04:00
Janet Kuo
0a6389e872 Add e2e test for TTL after finished 2018-09-04 14:21:14 -07:00
Jean-Christophe Sirot
6900259480 Update the message to be more precise regarding the tested condition
Signed-off-by: Jean-Christophe Sirot <jean-christophe.sirot@docker.com>
2018-09-04 15:10:18 +02:00