Commit Graph

787 Commits

Author SHA1 Message Date
Kenichi Omichi
06d41a485c Move Initialized() to e2e framework util
The function is used at e2e framework util module only.
So this moves the function to the module for trying to remove
dependencies to subpackages from core e2e framework.
2019-10-11 22:29:03 +00:00
Dan Winship
779a842b3c Drop framework.GetReadySchedulableNodesOrDie
It is now fully replaced by e2enode.GetReadySchedulableNodes,
e2enode.GetBoundedReadySchedulableNodes, and
e2enode.GetRandomReadySchedulableNode.
2019-10-09 15:20:26 -04:00
alejandrox1
352254129b Refactored e2e-test-framework util.go
This cleans up the framework.util.go file and moves various Expect*
functions into their own file for better organization.

Signed-off-by: alejandrox1 <alarcj137@gmail.com>
2019-10-05 15:02:46 -04:00
Patrick Ohly
4620d0b2b8 e2e log: move back to framework, part II
This continues the work in
https://github.com/kubernetes/kubernetes/pull/81426 by also moving the
logger_test.go, moving the log helper code from util.go to log.go (a
more logical place, as it is only used there) and updating comments.
2019-10-01 21:30:12 +02:00
Patrick Ohly
f70c81c9f2 e2e log: consistent logging of stack backtrace and failure, part II
After merging
259bb3bef5 (diff-eb7b79470992813ea1905e96c298b47b)
ExpectEqual and some of the other wrappers logged the failure twice,
once inside the wrapper itself and once in the failure handler.

Logging the stack backtrace is useful because many assertions still
don't contain an explanation and therefore knowing where they occur is
crucial. Now all failures are logged with a "Full Stack Trace", not
just those with a wrapper. The stack is pruned to skip over wrapper
functions and removes Ginkgo internal functions to keep the stack
trace smaller.

Failures occuring in the wrappers were recorded as occuring in those
wrappers. Now the wrappers are skipped and the caller is recorded
instead.

The full stack trace recorded by Ginkgo 1.10.0 is currently off by one
entry. This needs to be fixed in Ginkgo, then the test can be updated.
2019-10-01 21:27:29 +02:00
Kubernetes Prow Robot
2d491ace8d
Merge pull request #82439 from smarterclayton/async_ns_cleanup
test/e2e: Delete test namespaces asynchronously
2019-09-30 14:35:31 -07:00
Kubernetes Prow Robot
48199d3c0f
Merge pull request #83219 from alejandrox1/framework-util-skip
Cleaned up skip* functions from framework/util.go
2019-09-30 11:47:39 -07:00
Clayton Coleman
67283da28b
test/e2e: Delete test namespaces asynchronously
Now that namespace deletion is reliable, use the suite tear down
to catch non terminated namespaces and stop waiting within each test
for deletion.

Serial tests that need a clean set of namespaces must use the
appropriate flag to control whether they wait for clean namespaces
on startup.
2019-09-27 15:58:05 -04:00
alejandrox1
f525e02e59 Cleaned up skip* functions from framework/util.go
This is an effort to clean up the framework util.go file so that it
makes more sense and it is more managable.

Signed-off-by: alejandrox1 <alarcj137@gmail.com>
2019-09-26 21:20:29 -04:00
Kenichi Omichi
6499f93266 Use log functions of core framework on [r-u]
This makes sub packages of e2e test framework to use log functions
of core framework instead for avoiding circular dependencies.
2019-09-26 18:17:10 +00:00
Kubernetes Prow Robot
aac13fc4eb
Merge pull request #82106 from oomichi/circular-kubelet
Cleanup DumpAllNamespaceInfo() in e2e test
2019-09-25 23:59:06 -07:00
Dan Winship
71b02dd422 Fix up e2enode.GetReadySchedulableNodes, replace many uses of framework.GetReadySchedulableNodesOrDie
Remove the "OrDie" from the name (since it doesn't "or die") and add
an extra check that there is at least 1 node available, since many
callers already did that themselves, and many others should have.
2019-09-24 13:03:39 -04:00
Kubernetes Prow Robot
4d18142120
Merge pull request #82998 from zouyee/lookforstring
cleanup unused function LookForStringInFile
2019-09-24 08:58:23 -07:00
Kenichi Omichi
7c23ba1b34 Copy PrettyPrintJSON to core framework
PrettyPrintJSON is most used e2emetrics function and that doesn't seem
specific for metrics. The implementation itself is generic, so it is
nice to move it to core framework for avoiding circular dependency.
2019-09-23 18:10:50 +00:00
zouyee
02ab6ad067 cleanup unused function
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2019-09-23 10:34:42 +08:00
WanLinghao
a6f5d99409 Refactor and clean up e2e framework utils. This patch handles test/e2e/framework/pv_util.go file 2019-09-18 17:57:13 +08:00
David Eads
fda9680fc3 dump namespace object in e2e when it doesn't get deleted 2019-09-17 14:51:59 -04:00
Kubernetes Prow Robot
4ab4e201aa
Merge pull request #82060 from aojea/isipv6method
Add a method to TestContext to check if is IPv6
2019-09-11 10:38:48 -07:00
Kubernetes Prow Robot
0f46a8a4c8
Merge pull request #81043 from johnSchnake/whitelistedTaints
Add new flag for whitelisting node taints
2019-09-10 20:44:46 -07:00
Sascha Grunert
c8b656db50
Fix wrong command in e2e agnhost utility function
The `Command` will cause the container process not starting correctly,
so we now use the `Args` to end up running `/agnhost pause` as intended.

Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2019-09-06 15:05:40 +02:00
John Schnake
3c53481d5c Move from regexp to csv string 2019-09-05 14:37:16 -05:00
John Schnake
8772187680 Add new flag for whitelisting node taints
Adds a new flag which allows users to specify a regexp
which will effectively whitelist certain taints and
allow the test framework to startup tests despite having
tainted nodes.

Fixes an issue where e2e tests were unable to be run
in tainted environments due to the framework waiting for
all the nodes to be schedulable without any tolerations.
2019-08-30 11:15:42 -05:00
Kenichi Omichi
da85510bd3 Reduce redundant Nodes().List() call
dumpAllNodeInfo() called Nodes().List() internally, but the function
is called from DumpAllNamespaceInfo() only and DumpAllNamespaceInfo()
calls Nodes().List() before calling dumpAllNodeInfo().
So this makes the result of Nodes().List() being passed to
dumpAllNodeInfo() then reduce a call of Nodes().List().
2019-08-28 23:10:06 +00:00
Kenichi Omichi
02a2d79bde Reduce indents of DumpAllNamespaceInfo()
During cleanup of DumpAllNamespaceInfo(), the code was a little
unreadable. This reduces the indents for the code readability.
2019-08-28 23:04:06 +00:00
Clayton Coleman
a49a554211
Move the IsMasterNode function to tests and mark it Deprecated
A future change will stop using this signal and instead use a
label selector passed on creation.
2019-08-28 11:17:27 -04:00
Antonio Ojea
45d6f08868
Add a method to TestContext to check if is IPv6 2019-08-27 15:41:10 +02:00
Antonio Ojea
766d79bbf5
Make TestContext.IPFamily global for parallel testing
it turns out that the framework.TestContext.IPFamily variable is
not available for the DNS tests if they don't run in the initial
Ginkgo node when running in parallel.

We add a function to the framework to allow us to run command
only once per each Ginkgo node parallel execution.

It also adds a method to detect if the cluster is IPv6.

The use of the framework.TestContext.IPFamily variable guarantees
consistency all over the testing because this variable is only
assigned at the beginning of the testing.
2019-08-27 12:54:52 +02:00
Kubernetes Prow Robot
f81ab5a9fc
Merge pull request #81342 from knight42/fix/kubectl-patch-scale
Refactor `kubectl scale` to patch scale subresource
2019-08-26 11:53:54 -07:00
Patrick Ohly
259bb3bef5 e2e: consistent failure logging
All failures are worth logging immediately, not just unexpected
errors. That helps understand tests that have long-running cleanup
operations with their own logging, because the failure will be visible
inside the test output.

The logging in framework.ExpectNoError also was rather poor, because
it only showed the error, but not the additional information about it.

Tests suites now should use log.Fail as Gomega failure handler instead
of ginkgowrapper.Fail. log.Fail will handle the logging for all
failures before proceeding to record the failure in Ginkgo.

Because logging is always done also after a test failure, additional
failures during cleanup are now visible. Ginkgo itself just ignores
them.
2019-08-26 12:38:35 +02:00
Kubernetes Prow Robot
8dc4b1b585
Merge pull request #80213 from bclau/tests/skips-windows-unrelated-tests
tests: Skips Windows-unrelated tests on Windows
2019-08-23 20:56:25 -07:00
Kubernetes Prow Robot
81c0febcd0
Merge pull request #81715 from SataQiu/fix-test-e2e-framework
Fix static check for test/e2e/framework
2019-08-22 23:27:55 -07:00
knight42
92c4c2ec72 test(scale): fix tests 2019-08-23 10:19:09 +08:00
Jiatong Wang
9a2ccc2c4f Dump the stacktrace while an error occurs
Signed-off-by: Jiatong Wang <wangjiatong@vmware.com>
2019-08-21 11:28:59 -07:00
SataQiu
c60377c682 fix static check for test/e2e/framework 2019-08-21 17:28:36 +08:00
Claudiu Belu
8812720148 tests: Skips Windows-unrelated tests on Windows
Skips IPv6 tests on Windows.
Skips sysctl tests on Windows.
Skips network policy tests on Windows.
Skips RunAsUser / FSGroup / file permissions related tests, as those are
not supported on Windows.
Skips the test "should preserve source pod IP for traffic thru service cluster IP"
on Windows, as it creates a Pod with HostNetwork=true, which is unsupported.

What works and what doesn't work on Windows has been documented here:
https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md#windows--linux-considerations
2019-08-20 14:19:14 -07:00
Yongli Chen
68e553ae6c use agnhost image
add back ServeHostnameImage
2019-08-15 20:40:07 -07:00
Kubernetes Prow Robot
1e962072f1
Merge pull request #79909 from vinicyusmacedo/simplify-e2e
Moving e2e boilerplate to separate functions
2019-08-07 04:46:50 -07:00
Kubernetes Prow Robot
3cb2eaa4ba
Merge pull request #80953 from Moriadry/feature/package-collides
Fix error collides with imported package name
2019-08-06 23:57:42 -07:00
Kubernetes Prow Robot
345e58b434
Merge pull request #75071 from mkimuram/issue/74552e2e
Fix volume reconstruction and add e2e tests
2019-08-06 06:05:55 -07:00
moriadry
4b8080dda8 Fix error collides with imported package name
Fix error collides with imported package name

fix

fix
2019-08-06 12:20:29 +08:00
Kubernetes Prow Robot
a56f3ed0b8
Merge pull request #80706 from WanLinghao/refactor_e2e_kubelet_stats
Refactor and clean up e2e framework utils, this patch handles test/e2e/framework/kubelet_stats.go file
2019-08-05 13:36:16 -07:00
Vinicyus Macedo
0f21b692e4 Moved e2e boilerplate to framework 2019-08-05 16:23:56 -03:00
ravisantoshgudimetla
2d8a021bb1 Don't supress the node update error while logging 2019-08-01 17:43:45 -07:00
Masaki Kimura
f1d2d9d670 Move disruptive tests to testsuites and add ones for block volume 2019-08-01 20:04:10 +00:00
WanLinghao
92b0310cc5 Refactor and clean up e2e framework utils, this patch handles test/e2e/framework/kubelet_stats.go file 2019-08-01 17:40:02 +08:00
WanLinghao
e43572f02b Move pod related functions file in test/e2e/framework/util.go to its sub direcotry 2019-07-31 13:53:41 +08:00
draveness
c38ae01f8e feat: move service_util to separated package 2019-07-19 08:32:39 +08:00
Jiatong Wang
0b37152f17 Refactor and Move node related methods to framework/node package
Signed-off-by: Jiatong Wang <wangjiatong@vmware.com>
2019-07-17 22:54:15 -07:00
draveness
d3158b2c71 feat: use framework.ExpectNotEqual in e2e test 2019-07-10 21:36:26 +08:00
Kubernetes Prow Robot
cdddcf9b48
Merge pull request #71170 from atlassian/rand-cleanup2
Cleanup math/rand package usage
2019-07-01 21:33:08 -07:00