Commit Graph

589 Commits

Author SHA1 Message Date
wojtekt
268b51d023 Cleanup and fix networking test timeouts for large clusters 2020-04-02 17:19:41 +02:00
wojtekt
4c5a963463 Cleanup timeouts for networking tests 2020-04-02 16:30:40 +02:00
Kubernetes Prow Robot
2fd8debe9b Merge pull request #87926 from fedepaol/agnostsctp
Preliminary SCTP connectivity tests
2020-04-02 02:12:24 -07:00
Kubernetes Prow Robot
205e2739bd Merge pull request #87080 from aojea/tcpclose_lasttry
fix flakes on e2e test TCP CLOSE_WAIT timeout
2020-04-01 15:28:24 -07:00
Kubernetes Prow Robot
ed00f42848 Merge pull request #89563 from oomichi/RestartControllerManager
Separate RestartControllerManager() as e2ekubesystem
2020-04-01 13:42:23 -07:00
Antonio Ojea
a89c2bdaf1 fix flakes on e2e test TCP CLOSE_WAIT timeout
it turns out that the e2e test was not using the timeout used to
hold the CLOSE_WAIT status, hence the test was flake depending
on how fast it checked the conntrack table.

This PR replaces the dependency on ssh using a pod to check the conntrack
entries on the host in a loop, to make the test more robust
and reduce the flakiness due to race conditions and/or ssh issues.

It also fixes a bug trying to grep the conntrack entry, where
the error was swallowed if a conntrack entry wasn't found.
2020-04-01 01:16:39 +02:00
Kubernetes Prow Robot
1b7f5662e1 Merge pull request #89215 from k-toyoda-pi/use_expectnotequal_service
Use ExpectNotEqual in test/e2e/network/
2020-03-31 14:15:28 -07:00
Kubernetes Prow Robot
184fe990aa Merge pull request #89592 from dcbw/e2e-np-previous-logs
e2e/network: get previous pod logs on NetworkPolicy test failure
2020-03-30 14:20:40 -07:00
Kubernetes Prow Robot
4e9dd8fd36 Merge pull request #89454 from gavinfish/import-aliases
Update .import-aliases for e2e test framework
2020-03-27 14:35:54 -07:00
Dan Williams
fe74d08e60 e2e/network: get previous pod logs on NetworkPolicy test failure
Sometimes the pod has already been cleaned up by the time the test
tried to grab the logs.

Mar 27 16:19:38.066: INFO: Waiting for client-a-jt4tf to complete.
Mar 27 16:19:38.066: INFO: Waiting up to 5m0s for pod "client-a-jt4tf" in namespace "e2e-network-policy-c-9007" to be "success or failure"
Mar 27 16:19:38.072: INFO: Pod "client-a-jt4tf": Phase="Pending", Reason="", readiness=false. Elapsed: 6.270302ms
Mar 27 16:19:40.078: INFO: Pod "client-a-jt4tf": Phase="Pending", Reason="", readiness=false. Elapsed: 2.01233019s
Mar 27 16:19:42.086: INFO: Pod "client-a-jt4tf": Phase="Succeeded", Reason="", readiness=false. Elapsed: 4.020186873s
STEP: Saw pod success
Mar 27 16:19:42.086: INFO: Pod "client-a-jt4tf" satisfied condition "success or failure"
Mar 27 16:19:42.093: FAIL: Error getting container logs: the server could not find the requested resource (get pods client-a-jt4tf)

Full Stack Trace
github.com/openshift/origin/vendor/k8s.io/kubernetes/test/e2e/network.checkNoConnectivity(0xc00104adc0, 0xc0016b82c0, 0xc001666400, 0xc000c32000)
    /go/src/github.com/openshift/origin/_output/local/go/src/github.com/openshift/origin/vendor/k8s.io/kubernetes/test/e2e/network/network_policy.go:1457 +0x2a0
github.com/openshift/origin/vendor/k8s.io/kubernetes/test/e2e/network.testCannotConnect(0xc00104adc0, 0xc0016b82c0, 0x55587e9, 0x8, 0xc000c32000, 0x50)
    /go/src/github.com/openshift/origin/_output/local/go/src/github.com/openshift/origin/vendor/k8s.io/kubernetes/test/e2e/network/network_policy.go:1406 +0x1fc
github.com/openshift/origin/vendor/k8s.io/kubernetes/test/e2e/network.glob..func13.2.7()
    /go/src/github.com/openshift/origin/_output/local/go/src/github.com/openshift/origin/vendor/k8s.io/kubernetes/test/e2e/network/network_policy.go:285 +0x883
github.com/openshift/origin/pkg/test/ginkgo.(*TestOptions).Run(0xc001e47830, 0xc001e50b70, 0x1, 0x1, 0x0, 0x0)
    /go/src/github.com/openshift/origin/_output/local/go/src/github.com/openshift/origin/pkg/test/ginkgo/cmd_runtest.go:59 +0x41f
main.newRunTestCommand.func1(0xc00121b900, 0xc001e50b70, 0x1, 0x1, 0x0, 0x0)
    /go/src/github.com/openshift/origin/_output/local/go/src/github.com/openshift/origin/cmd/openshift-tests/openshift-tests.go:238 +0x15d
github.com/openshift/origin/vendor/github.com/spf13/cobra.(*Command).execute(0xc00121b900, 0xc001e50b30, 0x1, 0x1, 0xc00121b900, 0xc001e50b30)
    /go/src/github.com/openshift/origin/_output/local/go/src/github.com/openshift/origin/vendor/github.com/spf13/cobra/command.go:826 +0x460
github.com/openshift/origin/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0xc00121b180, 0x0, 0x60d2d00, 0x9887ec8)
    /go/src/github.com/openshift/origin/_output/local/go/src/github.com/openshift/origin/vendor/github.com/spf13/cobra/command.go:914 +0x2fb
github.com/openshift/origin/vendor/github.com/spf13/cobra.(*Command).Execute(...)
    /go/src/github.com/openshift/origin/_output/local/go/src/github.com/openshift/origin/vendor/github.com/spf13/cobra/command.go:864
main.main.func1(0xc00121b180, 0x0, 0x0)
    /go/src/github.com/openshift/origin/_output/local/go/src/github.com/openshift/origin/cmd/openshift-tests/openshift-tests.go:59 +0x9c
main.main()
    /go/src/github.com/openshift/origin/_output/local/go/src/github.com/openshift/origin/cmd/openshift-tests/openshift-tests.go:60 +0x341
STEP: Cleaning up the pod client-a-jt4tf
STEP: Cleaning up the policy.
2020-03-27 13:47:28 -05:00
Kenichi Omichi
42bb845f40 Separate RestartControllerManager() as e2ekubesystem
RestartControllerManager() is kube-controller specific function
and it is better to separate the function as subpackage of e2e
test framework.
In addition, the function made invalid dependency into e2essh.
So this separates the function into e2ekubesystem subpackage.
2020-03-27 03:52:17 +00:00
Kubernetes Prow Robot
f022274d8c Merge pull request #88778 from ii/create-endpoints-resource-lifecycle-test
Create Endpoints resource lifecycle test - +5 endpoint coverage
2020-03-26 11:13:50 -07:00
Kenichi Omichi
7398c83afd Move RestartApiserver() into e2e/network
The function is called from e2e/network test only, so this moves
the function into the test for reducing e2e/framework/util.go code
and removing invalid dependency on e2e test framework.
2020-03-25 20:23:25 +00:00
drfish
dfab6b637f Update .import-aliases for e2e test framework 2020-03-25 11:40:02 +08:00
Caleb Woodbine
f64d348505 Update DeleteOptions 2020-03-25 11:22:31 +13:00
Caleb Woodbine
58c532b968 Update name of watchEvent and comment on timeout for watch 2020-03-25 11:05:40 +13:00
Kenichi Omichi
5c77461733 Move NewAgnhostPod() to e2e/network
because the function is called in e2e/network tests only.
2020-03-24 05:46:49 +00:00
tanjunchen
bed22fbb44 WaitForPodReady is simply wrapper functions for e2epod package,
and they made an invalid dependency to sub e2e framework from the core framework.

So we can use e2epod.WaitTimeoutForPodReadyInNamespace to remove invalid dependency.

The main purpose of this pr is to handle the framework core package dependency subpackage pod.
2020-03-22 23:08:52 +08:00
Kubernetes Prow Robot
d23310a40e Merge pull request #89324 from tanjunchen/remove-invalid-dependency-waitForPod-002
use e2epod.WaitForPodRunningInNamespaceSlow directly
2020-03-22 00:36:44 -07:00
tanjunchen
aa52bfe4d6 use e2epod.WaitForPodRunningInNamespaceSlow directly 2020-03-21 15:51:49 +08:00
tanjunchen
d18e6569e0 use e2epod.WaitForPodNotFoundInNamespace directly 2020-03-21 15:11:40 +08:00
Kubernetes Prow Robot
a26f50a52e Merge pull request #86679 from oomichi/remove-invalid-dependency-27
Use e2epod.WaitForPodNameRunningInNamespace directly
2020-03-20 15:58:44 -07:00
drfish
f5450543e0 Remove framework.go's dependency on e2e node sub fw 2020-03-20 10:01:51 +08:00
toyoda
7499d80fd8 Use ExpectNotEqual in test/e2e/network/ 2020-03-18 16:30:56 +09:00
Kubernetes Prow Robot
b88ea8d2bb Merge pull request #88930 from oomichi/Failf
Replace ExpectNoError(fmt.Errorf(..)) with funcs
2020-03-17 19:28:20 -07:00
Kenichi Omichi
2c8955fd4a Use e2epod.WaitForPodNameRunningInNamespace directly
WaitForPod*() are just wrapper functions for e2epod package, and they
made an invalid dependency to sub e2e framework from the core framework.
So this replaces WaitForPodRunning() with the e2epod function.
2020-03-17 00:13:14 +00:00
drfish
f4da086cbe Move resource methods from e2e fw to e2e resource fw 2020-03-08 15:27:49 +08:00
Kenichi Omichi
75ca65806d Replace ExpectNoError(fmt.Errorf(..)) with funcs
There were framework.ExpectNoError(fmt.Errorf(..)) calls which just
raise an exception without actual value checks, they just raised the
specified error messages. These usages of framework.ExpectNoError()
seemed a little tricky, so this replaces them with corresponding check
functions for the readability.
2020-03-06 22:00:10 +00:00
Mike Danese
76f8594378 more artisanal fixes
Most of these could have been refactored automatically but it wouldn't
have been uglier. The unsophisticated tooling left lots of unnecessary
struct -> pointer -> struct transitions.
2020-03-05 14:59:47 -08:00
Mike Danese
aaf855c1e6 deref all calls to metav1.NewDeleteOptions that are passed to clients.
This is gross but because NewDeleteOptions is used by various parts of
storage that still pass around pointers, the return type can't be
changed without significant refactoring within the apiserver. I think
this would be good to cleanup, but I want to minimize apiserver side
changes as much as possible in the client signature refactor.
2020-03-05 14:59:46 -08:00
Mike Danese
c58e69ec79 automated refactor 2020-03-05 14:59:46 -08:00
Federico Paolinelli
c42b1ca783 Add SCTP e2e connectivity tests.
Pod2pod connectivity, and pod 2 service.

Signed-off-by: Federico Paolinelli <fpaoline@redhat.com>
2020-03-04 23:34:22 +01:00
Caleb Woodbine
bf4f46b9fa Adjust endpoint watch timeout to 180 2020-03-05 10:24:25 +13:00
Caleb Woodbine
be382a812c Update test to create endpoint, patch addresses and ports for endpoint, ensure watch for DELETED 2020-03-04 14:24:02 +13:00
Caleb Woodbine
de5859f7ce Add Endpoints resource lifecycle test 2020-03-04 11:09:48 +13:00
Rob Scott
132d2afca0 Adding IngressClass to networking/v1beta1
Co-authored-by: Christopher M. Luciano <cmluciano@us.ibm.com>
2020-03-01 18:17:09 -08:00
Claudiu Belu
c57f20b712 tests: Replaces dnsutils image used with agnhost (part 4)
Quite a few images are only used a few times in a few tests. Thus,
the images are being centralized into the agnhost image, reducing
the number of images that have to be pulled and used.

This PR replaces the usage of the following images with agnhost:

- dnsutils

dnsmasq is a Linux specific binary. In order for the tests to also
pass on Windows, CoreDNS should be used instead.
2020-02-26 21:51:23 -08:00
Antonio Ojea
64c4876ccd Add e2e session affinity timeout test
The service session affinity allows to set the maximum session
sticky timeout.
This commit adds e2e tests to check that the session is sticky
before the timeout and is not after.
2020-02-24 09:48:18 +01:00
Antonio Ojea
e268f033b6 Revert "Mark session affinity tests as [Flaky]"
This reverts commit f00ac0694b.
2020-02-24 09:48:18 +01:00
Antonio Ojea
457c05feb8 deflake e2e session affinity tests
Executing commands in pods is expensive in terms of time and the
execution time is unpredictable and random.
The session affinity tests send several http requests from a pod
to check that the session is sticky. Instead of executing one
http request at a time, we can execute several requests from the
pod at one time and process the output.
2020-02-24 09:48:18 +01:00
Kubernetes Prow Robot
468af72a15 Merge pull request #88301 from abhiraut/e2e-except
Add e2e test to test Except clause in NetworkPolicy
2020-02-20 16:30:41 -08:00
Abhishek Raut
a980a1fa24 Add e2e test to test Except clause in NetworkPolicy
Add a new e2e test to test the Except clauses in IPBlock CIDR
based NetworkPolicies. This test adds an egress rule which
allows client to connect to a CIDR which includes the
ServerPod's IP, however carves an except subnet which excludes
this ServerPod.
2020-02-20 11:32:00 -08:00
Kubernetes Prow Robot
937008e3ac Merge pull request #81226 from claudiubelu/tests/reduce-to-agnhost-part-4
tests: Replaces images used with agnhost (part 4)
2020-02-20 01:13:03 -08:00
Quan Tian
92759ea642 NetworkPolicy e2e test should wait for Pod ready
The test "should enforce egress policy allowing traffic to a server in a
different namespace based on PodSelector and NamespaceSelector
[Feature:NetworkPolicy]" is flaky because it doesn't wait for the server
Pod to be ready before testing traffic via its service, then even the
NetworkPolicy allows it, the SYN packets will be rejected by iptables
because the service has no endpoints at that moment.

This PR fixes it by making it wait for Pods to be ready like other
tests.
2020-02-20 00:32:12 +08:00
Claudiu Belu
f7942290af tests: Replaces images used with agnhost (part 4)
Quite a few images are only used a few times in a few tests. Thus,
the images are being centralized into the agnhost image, reducing
the number of images that have to be pulled and used.

This PR replaces the usage of the following images with agnhost:

- resource-consumer-controller
- test-webserver
2020-02-18 16:29:49 -08:00
Serguei Bezverkhi
5b7ae34ead Switch EndpointSlice to use discovery v1beta1 api
Signed-off-by: Serguei Bezverkhi <sbezverk@cisco.com>
2020-02-18 16:52:21 -05:00
Quan Tian
55b687054d Fix updated pod NetworkPolicy e2e test
The test "should allow ingress access from updated pod" fails regardless
of which CNI plugin is enabled. It's because the test assumes the client
Pod can recheck connectivity after updating its label, but the client
won't restart after the first failure, so the second check will always
fail. The PR creates a client Pod with OnFailure RestartPolicy to fix it.

In addition to the above test that checks rule selector takes effect on
updated client pod, the PR adds a test "should deny ingress access to
updated pod" to ensure network policy selector can take effect on updated
server pod.
2020-02-14 00:12:19 +08:00
Kubernetes Prow Robot
921ef35e64 Merge pull request #87949 from 928234269/non_ascii_01
Fix non-ascii characters in test/e2e_node and test/network.
2020-02-10 17:22:01 -08:00
Mike Danese
25651408ae generated: run refactor 2020-02-08 12:30:21 -05:00
Sakura
44bf3475ea Fix non-ascii characters in test/e2e_node and test/network.
Signed-off-by: Sakura <longfei.shang@daocloud.io>
2020-02-08 17:47:19 +08:00