Commit Graph

801 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
7f441dc1c3
Merge pull request #84600 from jsafrane/e2e-log-initcontainers
Grab init containers logs in e2e tests
2019-11-06 15:34:03 -08:00
Kubernetes Prow Robot
d5fbc1126b
Merge pull request #84471 from oomichi/move-e2e-util
Move functions from e2e/framework/util.go
2019-11-05 22:17:59 -08:00
Kubernetes Prow Robot
0e53f3f455
Merge pull request #84499 from YuikoTakada/move-suites
Move funcs of suites.go to e2e.go
2019-11-05 15:31:03 -08:00
Kubernetes Prow Robot
e52df5bcc3
Merge pull request #84725 from liggitt/e2e-useragent
Set user agent for e2e consistently
2019-11-05 11:44:40 -08:00
YuikoTakada
da89d212dd Move funcs of suites.go to e2e.go 2019-11-05 07:21:38 +00:00
Kubernetes Prow Robot
1b0caa496e
Merge pull request #84640 from clarklee92/UseFrameworkLogIn-e2e/framework/kubelet
Use log functions of core framework on test/e2e/framework/kubelet
2019-11-04 19:40:38 -08:00
Jordan Liggitt
300daa13a4 Set user agent for e2e consistently 2019-11-04 09:11:20 -05:00
clarklee92
dfa069a4bd Use log functions of core framework on test/e2e/framework/kubelet
1. move GetOneTimeResourceUsageOnNode() from test/e2e/framework/kubelet/stats.go to getOneTimeResourceUsageOnNode() in test/e2e/framework/resource_usage_gatherer.go
2. copy GetKubeletPods() from test/e2e/framework/kubelet/kubelet_pods.go to getKubeletPods() in test/e2e/framework/util.go
Signed-off-by: clarklee92 <clarklee1992@hotmail.com>
2019-11-03 00:41:22 +08:00
Kubernetes Prow Robot
567c1bb4ec
Merge pull request #84513 from ingvagabund/retryAddOrUpdateAvoidPodOnNode
test/e2e: AddOrUpdateAvoidPodOnNode/RemoveAvoidPodsOffNode: retry when conflict hit during annotation update
2019-11-01 19:59:52 -07:00
Kenichi Omichi
ca4c349096 Move functions from e2e/framework/util.go
- SimpleGET: Moved to ingress sub package of e2e framework
- PollURL: Moved to ingress sub package of e2e framework
- ProxyMode: Moved to service e2e test package
- ListNamespaceEvents: Moved to e2e_node test package
- NewE2ETestNodePreparer: Removed since 59533f0cd1
2019-11-01 17:39:29 +00:00
alejandrox1
3da66c44e8 Cleaned up skip functions from e2e framework
This patch moves skip-related functions from framework/util.go to
another file.

Signed-off-by: alejandrox1 <alarcj137@gmail.com>
2019-10-31 11:25:07 -04:00
Jan Safranek
17307c055c Grab init containers logs in e2e tests
Storage tests use initContainers + framework.TestContainerOutput and they
will benefit from logging their output in failed tests.
2019-10-31 14:58:51 +01:00
Jan Chaloupka
821220ecac test/e2e: AddOrUpdateAvoidPodOnNode/RemoveAvoidPodsOffNode: retry when conflict hit during annotation update
In case node object update fails due to revision conflict, it does not make sense to return success.
It needs to be retried so the v1.PreferAvoidPodsAnnotationKey annotation can be properly set in the next round.
2019-10-31 12:48:58 +01:00
Cheng Pan
b281d45749 Increase ClaimProvisionTimeout to 7 minutes 2019-10-23 05:40:06 +00:00
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