Commit Graph

1186 Commits

Author SHA1 Message Date
carlory
63e91ed023 remove deprecated framework.ExpectNotEqual 2024-02-06 02:53:28 +08:00
Kubernetes Prow Robot
57e9981dc2 Merge pull request #122865 from pohly/e2e-framework-logging
e2e framework: unify logging, support skipping helpers
2024-02-01 09:37:02 -08:00
Qi Ni
2c829cf29b chore: Refactor network load balancer creation in e2e tests
Refactor the code related to creating an internal type load balancer in the e2e tests for network load balancers. The modification removes the check for the "azure" provider and updates it to only check for "gke" and "gce" providers. This change ensures that the test only runs when the cluster is using "gke" or "gce" as the provider. The counterpart test is in the out-of-tree cloud provider azure.
2024-01-29 14:15:25 +08:00
Patrick Ohly
43539c855f e2e framework: unify logging, support skipping helpers
ginkgo.GinkgoHelper is a recent addition to ginkgo which allows functions to
mark themselves as helper. This then changes which callstack gets reported for
failures. It makes sense to support the same mechanism also for logging.

There's also no reason why framework.Logf should produce output that is in a
different format than klog log entries. Having time stamps formatted
differently makes it hard to read test output which uses a mixture of both.
Another user-visible advantage is that the error log entry from
framework.ExpectNoError now references the test source code.

With textlogger there is a simple replacement for klog that can be reconfigured
to let the caller handle stack unwinding. klog itself doesn't support that
and should be modified to support it (feature freeze).

Emitting printf-style output via that logger would work, but become less
readable because the message string would get quoted instead of printing it
verbatim as before. So instead, the traditional klog header gets reproduced
in the framework code. In this example, the first line is from klog, the second
from Logf:

    I0111 11:00:54.088957  332873 factory.go:193] Registered Plugin "containerd"
    ...
      I0111 11:00:54.987534 332873 util.go:506] >>> kubeConfig: /var/run/kubernetes/admin.kubeconfig

Indention is a bit different because the initial output is printed before
installing the logger which writes through ginkgo.GinkgoWriter.

One welcome side effect is that now "go vet" detects mismatched parameters for
framework.Logf because fmt.Sprintf is called without mangling the format
string. Some of the calls were incorrect.
2024-01-20 18:23:31 +01:00
Patrick Ohly
3aa366a3eb e2e: remove dead code
The dead code was found with:

    deadcode -test -filter=k8s.io/kubernetes/test/e2e/framework/... ./test/e2e ./test/e2e_node ./test/e2e_node ./test/e2e_kubeadm

See https://go.dev/blog/deadcode for an introduction.

Only dead code which is clearly not needed anymore (glog logging),
questionable (skipping based on feature gates) or
redundant (WaitForPodSuccessInNamespaceSlow) gets removed for now. More
removals might make sense in the future.
2024-01-17 12:57:35 +01:00
Kubernetes Prow Robot
12fc215656 Merge pull request #122663 from aroradaman/drop-ct-state-invalid-rule
pkg/proxy/nftables: drop conntrack state invalid rule
2024-01-13 19:01:16 +01:00
Kubernetes Prow Robot
c9158e9a19 Merge pull request #122595 from dims/support-building-with-and-without-cloud-providers
KUBE_PROVIDERLESS - Support building with and without cloud providers
2024-01-11 05:42:23 +01:00
Daman Arora
b0e929264f e2e/network/conntrack: rename invalid conntrack state test
Signed-off-by: Daman Arora <aroradaman@gmail.com>
2024-01-11 03:11:42 +05:30
Aaron U'Ren
683f7f43af e2e/endpointslice: add ready conditions
Add ready conditions to the Endpoints of the self-generated
EndpointSlice tests so that the readiness is not ambiguous and it will
work across CNIs that filter for ready endpoints.
2024-01-07 19:56:30 -06:00
Davanum Srinivas
549ef5da1b split ingress tests into multiple files
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-01-07 08:16:06 -05:00
Davanum Srinivas
7a236bd7e0 Add providerless tags appropriately in test/
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-01-07 08:16:05 -05:00
Quan Tian
afefc6f4eb Make EndpointSlice API e2e test faster
EndpointSlices and Endpoints usually become ready pretty fast, but the
test always waited 5s before performing every check and it performed the
check 4 times in total, so unnecessarily extends the test 20s.

The commit changes the poll function to perform a check before waiting,
and reduces the interval to 2 seconds to align with other EndpointSlice
tests. It reduces the test duration from 30s to 4s.

Signed-off-by: Quan Tian <qtian@vmware.com>
2024-01-05 18:54:56 +08:00
Aaron U'Ren
d849c625ec Remove kube-proxy proxy detection & increase timeout
Removes kube-proxy specific proxy type detection and globally increases
the timeout for session affinity testing so that it works for more
use-cases by default (noteably including IPVS)
2023-12-22 15:32:36 -06:00
upodroid
60520b6d4a look for the cm after the lb is created 2023-11-09 20:39:42 -06:00
Patrick Ohly
f2cfbf44b1 e2e: use framework labels
This changes the text registration so that tags for which the framework has a
dedicated API (features, feature gates, slow, serial, etc.) those APIs are
used.

Arbitrary, custom tags are still left in place for now.
2023-11-01 15:17:34 +01:00
Antonio Ojea
9917c727a1 test e2e: use new ServiceCIDR API
Change-Id: I82075c4252d8734886f80dd68327fe73e2ed4ba5
2023-10-31 21:05:57 +00:00
Antonio Ojea
cb509b01f3 e2e for ServiceCIDRs
Change-Id: Id7b711e30def4ac02f9e55425b1997d2cfe100f9
2023-10-31 21:05:05 +00:00
Vlad Vitan
feb0e2fc2f Fix flaky test for services that shouldn't be available when PublishNotReadyAddresses is false 2023-10-29 17:15:06 +01:00
Shiming Zhang
1224e0e881 Add PodHostIPs test 2023-10-24 22:07:03 +08:00
Kubernetes Prow Robot
9aa04752e7 Merge pull request #118463 from testwill/replace_loop
chore: slice replace loop
2023-10-24 15:04:39 +02:00
bzsuni
8775d805fa use PollUntilContextTimeout to replace PollImmediateWithContext in test
Signed-off-by: bzsuni <bingzhe.sun@daocloud.io>
2023-10-19 22:50:21 +08:00
Patrick Ohly
f2d34426f8 e2e: enhance SIGDescribe
framework.SIGDescribe is better because:
- Ginkgo uses the source code location of the test, not of the wrapper,
  when reporting progress.
- Additional annotations can be passed.

To make this a drop-in replacement, framework.SIGDescribe generates a function
that can be used instead of the former SIGDescribe functions.

windows.SIGDescribe contained some additional code to ensure that tests are
skipped when not running with a suitable node OS. This gets moved into a
separate wrapper generator, to allow using framework.SIGDescribe as intended.
To ensure that all callers were modified, the windows.sigDescribe isn't
exported anymore (wasn't necessary in the first place!).
2023-10-10 18:15:49 +02:00
Kubernetes Prow Robot
e1788034c6 Merge pull request #120046 from chansuke/feature/update-the-function-to-get-nodes
Optimize test for scalability by using `GetBoundedReadySchedulableNodes()`
2023-10-09 21:44:21 +02:00
Kubernetes Prow Robot
9af7096c89 Merge pull request #120968 from borg-land/remove-kubeup-tests-1
Remove an e2e test specific to kubeup clusters - Part One
2023-10-06 19:20:11 +02:00
upodroid
243ba5fb6b remove an e2e test specific to kubeup clusters 2023-10-02 16:21:41 +01:00
chansuke
74180aaf66 Fix scalability concerns in test runs 2023-09-30 00:17:51 +09:00
Patrick Ohly
0e8a1f1816 e2e: remove redundant spaces in test names
The spaces are redundant because Ginkgo will add them itself when concatenating
the different test name components. Upcoming change in the framework will
enforce that there are no such redundant spaces.
2023-09-29 08:30:57 +02:00
Kubernetes Prow Robot
bb024e1f91 Merge pull request #120347 from shijinye/e2eclean
e2e_network:stop using deprecated framework.ExpectError
2023-09-26 12:04:59 -07:00
Antonio Ojea
bbb905c794 remove gce healthcheck interval e2e lb test
Change-Id: Idcd8c4c6b39cbd419ca58b7354508ebe81501e91
2023-09-17 19:47:32 +00:00
Kubernetes Prow Robot
8eaaf2f9b9 Merge pull request #120403 from wlq1212/cheanup/notwork/expectnotequal
e2e_network:stop using deprecated framework.ExpectNotEqual
2023-09-14 01:00:16 -07:00
wlq1212
239ce7c52b e2e_network:stop using deprecated framework.ExpectNotEqual 2023-09-13 18:46:49 +08:00
Kubernetes Prow Robot
cc0a24d2e8 Merge pull request #120406 from wlq1212/cheanup/framework/timeout
e2e_framework:stop using deprecated wait.ErrwaitTimeout
2023-09-10 21:10:10 -07:00
Kubernetes Prow Robot
25c7a1439a Merge pull request #120069 from aojea/service_conformance
promote to conformance Service multiprotocol tests
2023-09-10 07:26:09 -07:00
wlq1212
ef235c4eac e2e_framework:stop using deprecated wait.ErrwaitTimeout 2023-09-05 14:19:42 +08:00
jinye
95118ec30c e2e_network:stop using deprecated framework.ExpectError 2023-09-04 11:04:29 +08:00
Antonio Ojea
826f3a130a promote to conformance Service multiprotocol tests
Services can expose network applications that are running on
one or more Pods. User need to specify the Port and Protocol of the
network application, and network implementations must forward only
the traffic indicated in the Service, as it may present a security
problem if you allow to forward traffic to a backend if the user
didn't specify it.

Change-Id: I77fbb23c6415ed09dd81c4f2deb6df7a17de46f0
2023-08-22 08:36:17 +00:00
Antonio Ojea
039859b9b7 e2e network test for udp services with hostNetwork clients
There are some implementations of service that use socket loadbalancing
instead of NAT. These implementations don't need to deal with the
conntrack cleanup, however, they need to cleanup the sockets that are
no longer needed, so the application does not get stuck forever.

This can  happen in both TCP or UDP, but since UDP is stateless, the
situation is much complicated because does not have mechanisms like TCP
to detect that socket is no longer needed.

Change-Id: Ic2cfbdf6c8b1f1335e8b5964825dd1fa716fef53
2023-08-21 13:39:39 +00:00
Kubernetes Prow Robot
c2bddad813 Merge pull request #119454 from pacoxu/fix-ip-mode
use LoadBalancer type service for e2e service test to patch ingress status
2023-08-18 20:27:19 -07:00
Paco Xu
30ff937aaf add a fake load balancer class to fix e2e test failure 2023-08-19 08:50:13 +08:00
Kubernetes Prow Robot
5929d49f87 Merge pull request #119494 from carlory/cleanup-e2e-network-framework-equal
e2e_network: stop using deprecated framework.ExpectEqual
2023-08-18 03:06:28 -07:00
carlory
e290b4cb3b e2e_network: stop using deprecated framework.ExpectEqual 2023-08-18 14:54:15 +08:00
git-jxj
a5b3a4b738 cleanup: Update deprecated FromInt to FromInt32 (#119858)
* redo commit

* apply suggestions from liggitt

* update Parse function based on suggestions
2023-08-16 09:33:01 -07:00
Kubernetes Prow Robot
67c33faddd Merge pull request #117631 from skitt/intstr-fromint32-testing
Test: use new intstr functions
2023-08-15 15:16:27 -07:00
Paco Xu
f0b38766a0 use LoadBalancer type service for e2e service test to patch ingress status 2023-07-31 17:13:12 +08:00
Andrew Stoycos
84b3d9b7b7 remove legacy NetworkPolicy tests
This commit removes the legacy networkpolicy tests since they now have
complete appropriate coverage in the new netpol suite.

Signed-off-by: Andrew Stoycos <astoycos@redhat.com>
2023-06-29 14:44:21 -04:00
Stanislav Laznicka
7f532891c9 e2e tests: set all PSa labels instead of just enforcing 2023-06-21 15:05:13 +02:00
guoguangwu
1d9eed9f95 chore: slice replace loop 2023-06-05 22:40:53 +08:00
jay vyas
6195f96e56 minor fix comments in netpol so its easy to understand the tests for newcomers, remove one misleading comment (#118264)
* Fix comments in the netpol tests for new contributors to understand them better

* typo
2023-06-05 05:31:25 -07:00
Davanum Srinivas
ec8d94f205 Grab logs from all the containers when DNS related tests fail
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2023-05-19 17:23:13 -04:00
Daman Arora
569695b022 e2e/network: setting --max-time for curl
Signed-off-by: Daman Arora <aroradaman@gmail.com>
2023-05-10 22:28:23 +05:30