Commit Graph

2751 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
411caaf469 Merge pull request #82324 from andyzhangx/fix-azure-pv-e2e-test
test: fix azure disk e2e test failure
2019-09-11 15:25:53 -07: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
Kubernetes Prow Robot
86b426932b Merge pull request #81479 from danwinship/service-test-cleanup-2
more e2eservice.TestJig cleanups
2019-09-10 14:31:04 -07:00
Jorge Alarcon Ochoa
849386980c Added alejandrox1 as test/e2e/framework reviewer 2019-09-06 12:39:16 -04:00
Matt Matejczyk
bd0691d159 Create LoadBalancer in nginx ingress tests
This should fix the nginx ingress test in private clusters.
See https://k8s-testgrid.appspot.com/sig-scalability-experiments#gce-private-cluster-correctness

Ref. https://github.com/kubernetes/kubernetes/issues/77538
2019-09-06 15:36:54 +02: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
Dan Winship
c921c6893b inline e2eservice.CreatePausePodDeployment into tests
This isn't a generically-useful helper; it's specific to 2 test cases.
2019-09-05 11:43:42 -04:00
Dan Winship
0b9fa1146f Move a bunch of totally non-jiggy code out of e2eservice.TestJig
When test/e2e/framework/service was first created, a lot of service
test code got crammed into TestJig even though it didn't use any of
TestJig's members. Make that code available outside of TestJig.
2019-09-05 11:36:26 -04:00
Kubernetes Prow Robot
c4c64673d7 Merge pull request #82199 from dims/update-to-etcd-3.3.15-0-image
Update default etcd server to 3.3.15 for kubernetes 1.16
2019-09-05 06:35:10 -07:00
andyzhangx
313cc4278e test: fix azure disk e2e test failure 2019-09-04 10:30:25 +00:00
Kubernetes Prow Robot
6cb788c80e Merge pull request #82229 from pohly/log-datetime-test-fix
e2e log: fix time stamp normalization in unit test
2019-09-03 17:24:58 -07:00
Matt Matejczyk
475a374822 Update NodeSSHHosts to support clusters with some public nodes
This is to support the setup where we have private nodes and one additional
heapster node with public IP. We plan to use this setup in our scale
tests.

Ref. https://github.com/kubernetes/kubernetes/issues/76374
2019-09-03 16:45:09 +02:00
Patrick Ohly
07d7133837 e2e log: fix time stamp normalization in unit test
The date/time regex did not cover that "Sep 1 09:32:17.938" uses " 1"
instead of "1" for the day and thus the test started failing in
September.
2019-09-02 09:39:11 +02:00
draveness
702646df24 test(runtimeclass): add e2e tests for runtimeclass scheduling 2019-09-01 16:41:48 +08:00
Davanum Srinivas
8fbfdf8267 Update default etcd server to 3.3.15 for kubernetes 1.16
Change-Id: I68f1a5e5339d83077a1a9f312c4e6e33848886c5
2019-08-30 21:29:45 -04: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
Patrick Ohly
0ffbbec6d8 bazel update 2019-08-29 21:21:13 +02:00
Patrick Ohly
dc06e76d10 e2e logging: disable brittle output test
Because unrelated changes to util.go change the test output, it is
better to exclude the test case where util.go (incorrectly!) is
included.
2019-08-29 21:20:42 +02:00
Kubernetes Prow Robot
fd6c380047 Merge pull request #81973 from oomichi/replace-e2elog-framework-r-p
Use log functions of core framework on sub [p-s]
2019-08-29 07:28:09 -07: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
Kenichi Omichi
9aae71fa4a Use log functions of core framework on sub [p-s]
This makes sub packages of e2e test framework to use log functions
of core framework instead for avoiding circular dependencies.

NOTE: test/e2e/framework/ssh will make circular dependencies if
      updating it. It is necessary to solve the issue in advance
      before this work.
2019-08-28 17:05:28 +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
Kubernetes Prow Robot
af359c38e9 Merge pull request #81948 from beautytiger/ginkgo_fail
Cleanup ginkgo.Fail calls from the e2e test framework
2019-08-28 05:11:55 -07:00
Kubernetes Prow Robot
8f17e46e5c Merge pull request #81943 from dims/update-import-aliases-for-1.16-test-e2e
Use preferred import packages for test/e2e
2019-08-28 05:11:25 -07:00
Ted Yu
07ba65df6d Break out of loop when finalizer is found 2019-08-27 19:56:13 -07:00
Kubernetes Prow Robot
07e0cce409 Merge pull request #81750 from aojea/fixdnsIPv6
Fix e2e DNS IPv6 CI
2019-08-27 19:38:06 -07:00
Kubernetes Prow Robot
ab13cf1055 Merge pull request #81691 from MrHohn/svc-finalizer-beta
Promote service load balancer finalizer to Beta
2019-08-27 19:37:48 -07:00
alejandrox1
7c161d6a5f Refactoring pod related functions from pv_util to pod pkg
Moving pod related functions from e2e/framework/pv_util.go to
e2e/framework/pod in order to allow refactoring of pv_util.go into its
own package.

Signed-off-by: alejandrox1 <alarcj137@gmail.com>
2019-08-27 12:27:45 -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
Guangming Wang
fcf4e69640 run hack/update-bazel.sh 2019-08-27 17:48:46 +08:00
Guangming Wang
0776bc67ec revert wrongly replaced log function ginkgo.Fail 2019-08-27 10:46:50 +08:00
Kubernetes Prow Robot
39724859b5 Merge pull request #81849 from oomichi/move-PrintPerfData
Move PrintPerfData to the test
2019-08-26 11:54:38 -07:00
Kubernetes Prow Robot
2bd3226564 Merge pull request #81814 from oomichi/replace-e2elog-framework-job-node
Use log functions of core framework on sub [j-l]
2019-08-26 11:54:22 -07: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
Kubernetes Prow Robot
52f708dc28 Merge pull request #81855 from oomichi/replace-e2elog-framework-perf-replicaset
Use log functions of core framework on sub p*
2019-08-26 10:20:24 -07:00
Guangming Wang
169cfd9fa1 Cleanup ginkgo.Fail calls from the e2e test framework 2019-08-26 22:24:29 +08:00
Davanum Srinivas
46cc8adcc3 Use preferred import packages for test/e2e
Ran `hack/update-import-aliases.sh`

Change-Id: Ieaf3599a80ec90026b2c83f25c797d121a461549
2019-08-26 08:56:42 -04:00
Patrick Ohly
cdaba2bea3 e2e logger test: handle paths in Kubernetes CI
Source code paths during //test/e2e/framework/log:go_default_test in
the Kubernetes CI start with relative paths. To avoid too broad
matching of the regex, those paths that occur in practice are named
explicitly as alternatives to the leading slash.
2019-08-26 12:39:08 +02:00
Patrick Ohly
f021d6590e bazel update 2019-08-26 12:39:00 +02: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
Patrick Ohly
311b66ada1 e2e: unit test for logger.go and ginkgowrapper.go
This test runs a fake Ginkgo suite with various errors and checks how
logger.go respectively ginkgowrapper.go handle this. Right now, the
outcome is sub-optimal:

- some test failures (those that use framework.Failf or
  framework.ExpectNoError) are logged immediately, Gomega failures
  are not
- framework.ExpectNoError logs just the error, which is often useless
  without the additional explanation
- failures that occur after some others are not reported at all;
  this can happen in cleanup code and while that code should better
  be written so that it contines instead of failing on an assertion,
  in practice quite a lot of code fails and when it does, the output
  would be useful to have
- the full stack trace is odd and doesn't start with the expected
  function name

Example output:

• Failure [0.002 seconds]
log
/nvme/gopath/src/k8s.io/kubernetes/test/e2e/framework/log/logger_test.go:35
  fails [It]
  /nvme/gopath/src/k8s.io/kubernetes/test/e2e/framework/log/logger_test.go:39

  Jul 17 12:00:52.545: I'm failing.

  /nvme/gopath/src/k8s.io/kubernetes/test/e2e/framework/log/logger_test.go:41

  Full Stack Trace
  	/nvme/gopath/src/k8s.io/kubernetes/test/e2e/framework/log/logger.go:51 +0x143
  k8s.io/kubernetes/test/e2e/framework/log.Failf(...)
  	/nvme/gopath/src/k8s.io/kubernetes/test/e2e/framework/log/logger.go:43
  k8s.io/kubernetes/test/e2e/framework/log_test.glob..func1.2.1(...)
  	/nvme/gopath/src/k8s.io/kubernetes/test/e2e/framework/log/logger_test.go:41
  k8s.io/kubernetes/test/e2e/framework/log_test.glob..func1.2()
  	/nvme/gopath/src/k8s.io/kubernetes/test/e2e/framework/log/logger_test.go:42 +0x52
  k8s.io/kubernetes/vendor/github.com/onsi/ginkgo/internal/leafnodes.(*runner).runSync(0xc00029b020, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
  	/nvme/gopath/src/k8s.io/kubernetes/test/e2e/framework/log/logger_test.go:65 +0x1c8
  testing.tRunner(0xc000358600, 0x19818c0)
  	/nvme/gopath/go/src/testing/testing.go:865 +0xc0
  created by testing.(*T).Run
  	/nvme/gopath/go/src/testing/testing.go:916 +0x35a

------------------------------
Jul 17 12:00:52.545: INFO: before
Jul 17 12:00:52.545: INFO: I'm failing.
Jul 17 12:00:52.547: INFO: after
• Failure [0.002 seconds]
log
/nvme/gopath/src/k8s.io/kubernetes/test/e2e/framework/log/logger_test.go:35
  asserts [It]
  /nvme/gopath/src/k8s.io/kubernetes/test/e2e/framework/log/logger_test.go:44

  false is never true
  Expected
      <bool>: false
  to equal
      <bool>: true

  /nvme/gopath/src/k8s.io/kubernetes/test/e2e/framework/log/logger_test.go:45

  Full Stack Trace
  	/nvme/gopath/src/k8s.io/kubernetes/vendor/github.com/onsi/gomega/internal/assertion/assertion.go:75 +0x1f1
  k8s.io/kubernetes/vendor/github.com/onsi/gomega/internal/assertion.(*Assertion).To(0xc00035f6c0, 0x1b42140, 0xc000350dd0, 0xc000350de0, 0x1, 0x1, 0x42e35f)
  	/nvme/gopath/src/k8s.io/kubernetes/vendor/github.com/onsi/gomega/internal/assertion/assertion.go:38 +0xc7
  k8s.io/kubernetes/test/e2e/framework/log_test.glob..func1.3()
  	/nvme/gopath/src/k8s.io/kubernetes/test/e2e/framework/log/logger_test.go:45 +0x17e
  k8s.io/kubernetes/vendor/github.com/onsi/ginkgo/internal/leafnodes.(*runner).runSync(0xc00029b0e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
  	/nvme/gopath/src/k8s.io/kubernetes/test/e2e/framework/log/logger_test.go:65 +0x1c8
  testing.tRunner(0xc000358600, 0x19818c0)
  	/nvme/gopath/go/src/testing/testing.go:865 +0xc0
  created by testing.(*T).Run
  	/nvme/gopath/go/src/testing/testing.go:916 +0x35a

------------------------------
Jul 17 12:00:52.548: INFO: before
Jul 17 12:00:52.549: INFO: after
• Failure [0.002 seconds]
log
/nvme/gopath/src/k8s.io/kubernetes/test/e2e/framework/log/logger_test.go:35
  error [It]
  /nvme/gopath/src/k8s.io/kubernetes/test/e2e/framework/log/logger_test.go:47

  hard-coded error
  Unexpected error:
      <*errors.errorString | 0xc000351930>: {
          s: "I'm an error, nice to meet to.",
      }
      I'm an error, nice to meet to.
  occurred

  /nvme/gopath/src/k8s.io/kubernetes/test/e2e/framework/log/logger_test.go:49

  Full Stack Trace
  	/nvme/gopath/src/k8s.io/kubernetes/test/e2e/framework/util.go:1376 +0x191
  k8s.io/kubernetes/test/e2e/framework.ExpectNoError(...)
  	/nvme/gopath/src/k8s.io/kubernetes/test/e2e/framework/util.go:1367
  k8s.io/kubernetes/test/e2e/framework/log_test.glob..func1.4()
  	/nvme/gopath/src/k8s.io/kubernetes/test/e2e/framework/log/logger_test.go:49 +0xc9
  k8s.io/kubernetes/vendor/github.com/onsi/ginkgo/internal/leafnodes.(*runner).runSync(0xc00029b200, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
  	/nvme/gopath/src/k8s.io/kubernetes/test/e2e/framework/log/logger_test.go:65 +0x1c8
  testing.tRunner(0xc000358600, 0x19818c0)
  	/nvme/gopath/go/src/testing/testing.go:865 +0xc0
  created by testing.(*T).Run
  	/nvme/gopath/go/src/testing/testing.go:916 +0x35a

------------------------------
Jul 17 12:00:52.550: INFO: before
Jul 17 12:00:52.550: INFO: Unexpected error occurred: I'm an error, nice to meet to.
Jul 17 12:00:52.551: INFO: after
2019-08-26 11:32:25 +02:00
Kubernetes Prow Robot
36b2914207 Merge pull request #81809 from oomichi/replace-e2elog-framework-p
Use log functions of core framework on p*
2019-08-25 21:40:21 -07:00
Kubernetes Prow Robot
8e05e8346a Merge pull request #81693 from oomichi/replace-e2elog-framework-c-n
Use log functions of core framework on [c-n]
2019-08-24 04:48:24 -07: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
Kenichi Omichi
9e9c1709db Use log functions of core framework on sub p*
This makes sub packages of e2e test framework to use log functions
of core framework instead for avoiding circular dependencies.

NOTE: subpackage pod would make circular dependency if changing here.
      So we need to take care of it with another PR.
2019-08-23 19:50:47 +00:00
Kenichi Omichi
c8e0c94a8a Move PrintPerfData to the test
PrintPerfData is called at e2e node tests and it depends on e2elog
and e2emetrics. This moves the function to the place which calls
the function for removing unnecessary dependencies from e2e node
subpackage.
2019-08-23 19:33:24 +00:00