Commit Graph

91 Commits (52f3380ef3a5d5de4d75ff92defd1c9af9d775bc)

Author SHA1 Message Date
Patrick Ohly 6644db9914 e2e/storage: testing of external storage drivers
It is useful to apply the storage testsuite also to "external" (=
out-of-tree) storage drivers. One way of doing that is setting up a
custom E2E test suite, but that's still quite a bit of work.

An easier alternative is to parameterize the Kubernetes e2e.test
binary at runtime so that it instantiates the testsuite for one or
more drivers. Some parameters have to be provided before starting the
test because they define configuration and capabilities of the driver
and its storage backend that cannot be discovered at runtime. This is
done by populating the DriverDefinition with the content of the file
that the new -storage.testdriver parameters points to.

The universal .yaml and .json decoder from Kubernetes is used. It's
flexible, but has some downsides:
- currently ignores unknown fields (see https://github.com/kubernetes/kubernetes/pull/71589)
- poor error messages when fields have the wrong type

Storage drivers have to be installed in the test cluster before
starting e2e.test. Only tests involving dynamically provisioned
volumes are currently supported.
2019-03-06 22:06:31 +01:00
Kubernetes Prow Robot 1d257d657c
Merge pull request #74829 from pohly/e2e-ginkgo
test/e2e: fix `ginkgo ./test/e2e`
2019-03-05 08:16:17 -08:00
Steve Sloka 6dc5494ec9 Refactor to allow for a way to get list of e2e images
Signed-off-by: Steve Sloka <slokas@vmware.com>
2019-03-01 17:15:19 -05:00
Patrick Ohly ef6f3e0a18 test/e2e: fix `ginkgo ./test/e2e`
When running ginkgo directly against the source code of the test suite
instead of using some pre-compiled e2e.test binary, ginkgo no longer
recognized that it runs a Ginkgo testsuite, which broke "-focus" and
"-p".

By re-inserting the magic strings that ginkgo looks for into a
comment, we can restore the desired behavior without affecting the
code.

Fixes: #74827
2019-03-01 21:44:30 +01:00
andrewsykim 596c6fbf03 e2e test for node deleted in cloud provider 2019-01-25 17:45:18 -05:00
Vy Ta 28ed7875e7 Adding density test 2018-12-10 23:48:39 +00: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
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
Maru Newby 7ecf404fc6 Move multizone e2e to sig scheduling path 2018-01-25 08:42:16 -08:00
Kubernetes Submit Queue 4aec334c95 Merge pull request #51898 from guangxuli/federation_e2e_test
Automatic merge from submit-queue (batch tested with PRs 52768, 51898, 53510, 53097, 53058). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

migration of federation test

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

Migrate federation(multicluster) e2e test.

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

Ref Umbrella issue #49161
Ref issue https://github.com/kubernetes/kubernetes/issues/50735

- Move `ubernetes_lite.go` to new created directory named **multicluster**.

**Special notes for your reviewer**:

**Release note**:
none

/cc @quinton-hoole
2017-10-06 13:16:37 -07:00
Gavin 0c4be04775 migration of federation test 2017-09-04 20:20:43 +08:00
guangxuli 43ea56a058 migrate sig-ui e2e test
rebase
2017-08-19 01:04:52 +08:00
Gavin fc453826c7 move some e2e tests to SIG respectively
fix typo

include the servicecatalog package

add framework file

update golint failures
2017-08-16 14:34:50 +08:00
Jacob Simpson cd57f1c869 Migrate sig-auth e2e tests.
**What this PR does / why we need it:** This PR adds [sig-auth] prefix to
workload e2e tests in accord to requirements of adding a SIG dashboard
to testgrid. Refer PR #48781 for guidelines.
2017-08-14 09:39:54 -07:00
Michael Taufen 20f68942d3 Add blank import for node tests 2017-08-08 09:05:23 -07:00
Kubernetes Submit Queue 3973605189 Merge pull request #49422 from crassirostris/logging-e2e-refactoring
Automatic merge from submit-queue (batch tested with PRs 49871, 49422, 49092, 49858, 48999)

Refactor logging e2e tests, add new checks

I split existing code into smaller files to simplify the review and future changes

Also, there are new tests for stackdriver logging:
- ingesting system logs from all nodes
- ingesting logs in json format
- ingesting logs in glog format
2017-08-01 23:35:51 -07:00
Mik Vyatskov 86a2ac9433 Refactor logging e2e tests, add new checks 2017-07-31 19:21:48 +02:00
Bowei Du 92a8c1fcb0 Moves networking e2e tests to test/e2e/network
This also adds sig-network-{approvers,reviewers} alias
2017-07-22 09:43:42 -07:00
Michail Kargakis 5e93ed27bd
Rename test dir to allude sig-apps ownership
Signed-off-by: Michail Kargakis <mkargaki@redhat.com>
2017-07-22 12:43:36 +02:00
Haoran Wang f02008338f add integration testing for bootstrap token auth 2017-07-20 22:34:21 +08:00
Haoran Wang 5f43150deb add e2e tests for bootstrap signer 2017-07-20 21:45:04 +08:00
Mike Danese 3c39173ee4 fixit: break sig-cluster-lifecycle tests into subpackage 2017-07-19 10:14:51 -07:00
Mik Vyatskov 9d3356c612 Sig-instrumentation e2e tests refactoring 2017-07-16 16:41:09 +02:00
Joe Betz b7c1bb43aa Move api-machinery related e2e tests to a 'api-machinery' e2e test subdirectory. 2017-07-14 14:04:50 -07:00
Phillip Wittrock 3c3c271d07 Import kubectl tests in e2e_test.go so they start running.
Also rename the Describe function
2017-07-13 15:10:17 -07:00
Shyam Jeedigunta 0c75dd22f8 Move performance tests to test/e2e/scalability subdirectory 2017-07-12 12:08:26 +02:00
Haoran Wang 76251ea782 Move the workload e2e tests to it's own package 2017-06-26 09:56:20 +08:00
Clayton Coleman ce972ca475
Add an e2e test for server side get
Print a better error from the response. Performs validation to ensure it
does not regress in alpha state.
2017-06-03 18:22:39 -04:00
Clayton Coleman 331eea67d8
Allow initialization of resources
Add support for creating resources that are not immediately visible to
naive clients, but must first be initialized by one or more privileged
cluster agents. These controllers can mark the object as initialized,
allowing others to see them.

Permission to override initialization defaults or modify an initializing
object is limited per resource to a virtual subresource "RESOURCE/initialize"
via RBAC.

Initialization is currently alpha.
2017-06-02 22:09:03 -04:00
Timothy St. Clair 203c0df017 Segregate storage e2es for easier assignment.
Further work is needed to isolate dependencies on shared tooling.
2017-04-12 20:39:29 -05:00
Marcin Wielgus dac7b3e268 Move autoscaling e2e tests to a separate directory 2017-04-03 16:40:34 +02:00
Mik Vyatskov ecbf98531c Move cluster logging tests to a separate folder 2017-03-28 11:18:05 +02:00
Timothy St. Clair 368cd0dd7c Sig-scalability test segregation to allow for assignment and cleaning, and
easier refactoring
2017-03-26 11:01:09 -05:00
Timothy St. Clair 6cc40678b6 Initial breakout of scheduling e2es to help assist in both assignment
and refactoring.
2017-03-13 22:34:57 -05:00
jayunit100 97396a34fa Add viper support to core e2es
rebase
2016-09-15 18:38:01 -04:00
David McMahon ef0c9f0c5b Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
Tim St. Clair 376b5f247a Refactor common pod patterns to e2e framework. 2016-06-28 17:20:08 -07:00
Tim St. Clair b0d3f32e88 Update test/e2e for test/e2e/framework refactoring 2016-04-13 10:50:17 -07:00
jay vyas ef5f1012f6 E2E Libification rebased (3). 2016-01-28 18:07:53 -05:00
Jeff Grafton 4cc7f9d3f7 Refactor TestE2E to work correctly in parallel mode
The TestE2E function is run on every Ginkgo parallel node.
The cluster cleanup, sanity checking, and log dump operations are only
intended to be called once, however, so these have been moved out into
SynchronizedBeforeSuite and SynchronizedAfterSuite blocks.
2016-01-28 13:24:40 -08:00
Joe Finney 7164e88a3a Dump core at beginning and end of node resizes. 2016-01-25 09:52:57 -08:00
Alex Mohr 8044a5f1e1 Merge pull request #19676 from ihmccreery/feature-skip-e2e-test-go
Skip [Feature:.+] instead of [Feature]
2016-01-21 10:44:08 -08:00
Justin Santa Barbara 43cbfb74fe Ubernetes Lite GCE: Support multiple zones in GCE cloud provider
We adapt the existing code to work across all zones in a region.

We require a feature-flag to enable Ubernetes-Lite

Reasons:

* There are some behavioural changes if users create volumes with
the same name in two zones.
* We don't want to make one API call per zone if we're not running
Ubernetes-Lite.
* Ubernetes-Lite is still experimental.

There isn't a parallel flag implemented for AWS, because at the moment
there would be no behaviour changes from this.
2016-01-20 23:04:53 -05:00
Isaac Hollander McCreery 93d6ac8556 Skip [Feature:.+] instead of [Feature] 2016-01-14 15:43:41 -08:00
Isaac Hollander McCreery 2d09e07ae6 Add documentation for test labels 2016-01-14 09:54:23 -08:00
gmarek 1df78a2398 Add a framework for multiple writers for various test data summaries 2015-12-29 10:26:44 +01:00
gmarek 2dcafa3854 Add a flag that will make test gather metrics from all running components after the test finishes. 2015-12-28 12:10:39 +01:00
Mike Danese a3b6674fbf add a label to namespaces created by e2e framework 2015-12-11 09:53:56 -08:00
gmarek 6ade0a1217 Add a tool for monitoring log generation rates 2015-11-30 16:04:48 +01:00
k8s-merge-robot fc927e8719 Merge pull request #17770 from gmarek/fix-test
Auto commit by PR queue bot
2015-11-27 06:35:49 -08:00