Commit Graph

97 Commits

Author SHA1 Message Date
clarklee92
4d43e9e39b e2e: move funs of framework/viperconfig to e2e
Signed-off-by: clarklee92 <clarklee1992@hotmail.com>
2019-12-31 16:42:30 +08:00
wojtekt
59533f0cd1 Remove deprecated scalability tests 2019-09-30 16:04:09 +02:00
whypro
69f48d87a4 Move flag parse to main func from init() 2019-09-17 19:30:24 +08:00
Kenichi Omichi
c76291b8d3 Move HandleFlags to e2e package
HandleFlags() was used at e2e package and it depends on sub e2e
framework "config" in core e2e framework. That was invalid dependency.
So this moves HandleFlags() to e2e package for simple dependency.
2019-08-16 16:43:50 +00:00
Patrick Ohly
b86a007057 e2e: avoid mandatory command line flags
Tests should never directly add to the global command line, because
some users of the tests might not want them there. For example,
options might only get set directly from a config file.

To achieve that, e2e/framework/config, e2e/framework/viperconfig, and
e2e/framework/test_context.go avoid using the global flag set and
instead expect to be told by the caller which flag set to use. Tests
that called flag directly either get updated or obsolete flags get
removed.

The exception is framework.HandleFlags, which as before directly
implements global command line handling.

This is a breaking change for test suites which do not use that
function (and only those): they now need to ensure that they copy
individual flags from tests. Because the RegisterCommonFlags prototype
has changed, test suite authors will notice due to the resulting
compilation errors.
2019-07-04 17:15:14 +02:00
Mikhail Mazurskiy
4ce1fb7d40
Cleanup math/rand package usage 2019-05-24 09:25:04 +10:00
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