1343 Commits

Author SHA1 Message Date
Dan Winship
db01f94032 Remove patch/update from ServiceCIDR API conformance test
They were already listed in ineligible_endpoints.yaml, so we shouldn't
be testing them here anyway.
2025-08-20 09:19:55 -04:00
Dan Winship
f9bb14fcf0 Fix apiserver service proxying e2e test flakiness
Also, fix its conformance description, which appears to have
accidentally been filled in with the description of the wrong test.
2025-07-28 19:42:04 -04:00
Kubernetes Prow Robot
b3e39344ff Merge pull request #132959 from ylink-lfs/test/e2e_named_port_con_case
test: add e2e case for mutating named port
2025-07-24 07:56:34 -07:00
Kubernetes Prow Robot
6ad14ad876 Merge pull request #132991 from danwinship/endpoints-e2e-updates
Endpoints e2e updates for KEP-4974
2025-07-23 19:56:26 -07:00
Kubernetes Prow Robot
c41cc0a144 Merge pull request #129837 from danwinship/aggregated-apiserver-endpointslices
Port aggregated apiserver discovery to EndpointSlices
2025-07-23 10:30:28 -07:00
Dan Winship
765d84e9bf Test only EndpointSlices, not Endpoints, in dual-stack e2e tests
The dual-stack integration tests already validate that we get the
expected Endpoints for single- and dual-stack Services. There is no
further "end to end" testing needed for Endpoints, given that
everything in a normal cluster would look at EndpointSlices, not
Endpoints.
2025-07-23 13:19:07 -04:00
Dan Winship
33b45c8383 Update "should proxy through a service and a pod" to look at EndpointSlices 2025-07-23 11:07:29 -04:00
ylink-lfs
4f0a5771ab test: add e2e case for mutating named port 2025-07-23 10:19:20 +08:00
Dan Winship
24065780ed Add e2eendpointslice.WaitForEndpointPorts, use in some tests.
Slightly-more-generic replacement for validateEndpointsPortsOrFail()
(but only validates EndpointSlices, not Endpoints).

Also, add two new unit tests to the Endpoints controller, to assert
the correct Endpoints-generating behavior in the cases formerly
covered by the "should serve endpoints on same port and different
protocols" and "should be updated after adding or deleting ports" e2e
tests (since they are now EndpointSlice-only). (There's not much point
in testing the Endpoints controller in "end to end" tests, since
nothing in a normal cluster ever looks at its output, so there's
really only one "end" anyway.)
2025-07-17 15:34:34 -04:00
Dan Winship
b35ad4e9b0 Add e2eendpointslice.WaitForEndpointPods, use in various test
These tests were using validateEndpointsPortsOrFail() not because they
cared about ports, but just because it was there, or in some cases
because they needed to wait for one pod to exit and a different pod to
start, which can't be done with framework.WaitForServiceEndpointsNum()
(or e2eendpointslice.WaitForEndpointCount) without racing. Update
these tests using the new e2eendpointslice.WaitForEndpointPods, which
can wait for specific expected pods.

(This also means these tests now only watch EndpointSlices, rather
than watching both Endpoints and EndpointSlices, which is fine,
because none of them are doing tricky things that actually require
making assertions about the exact contents of the
Endpoints/EndpointSlices. They just want to know when the controller
has updated things to point to the expected pods.)
2025-07-16 11:42:02 -04:00
Dan Winship
dbecdd1876 Use e2eendpointslice.WaitForEndpointCount in more network tests
A bunch of tests in test/e2e/network were using
validateEndpointsPortsOrFail but didn't actually care about ports at
all; they were just using it because that helper function was there.
Make them use WaitForEndpointCount instead.

Likewise, fix one test that was manually counting Endpoints and
EndpointSlices to use WaitForEndpointCount.
2025-07-16 11:42:02 -04:00
Dan Winship
b7998a397b Add e2eendpointslice.WaitForEndpointCount, use it in some network tests
This replaces framework.WaitForServiceEndpointsNum
2025-07-16 11:42:00 -04:00
Dan Winship
665599417a Add e2eendpointslice.WaitForEndpointSlices, use it in a few places
(This is mostly a helper for the other functions about to be added,
but it's useful by itself in a few places.)
2025-07-16 06:17:34 -04:00
Kubernetes Prow Robot
34df3b5776 Merge pull request #132019 from danwinship/endpointslice-only-conformance
Promote two EndpointSlice e2e tests to Conformance
2025-07-11 18:15:27 -07:00
Kubernetes Prow Robot
83fb86e188 Merge pull request #132740 from adrianmoisey/e2e-test-single-ip
Loop over all IP address from each node in e2e test
2025-07-09 05:05:27 -07:00
Kubernetes Prow Robot
9e204ba03c Merge pull request #132708 from yashsingh74/conntrack-test
cleanup conntrack entries test for UDP service
2025-07-08 21:51:27 -07:00
Kubernetes Prow Robot
9fbd2dae14 Merge pull request #132339 from adrianmoisey/relaxed-validation-for-services-names
KEP-5311 Relaxed validation for Services names
2025-07-08 09:03:26 -07:00
yashsingh74
1a62ade742 cleanup conntrack entries test for UDP service
Signed-off-by: yashsingh74 <yashsingh1774@gmail.com>
2025-07-08 21:20:43 +05:30
Adrian Moisey
ff7c781e25 Loop over all IP address from each node
Change the e2e test to test all InternalIPs from each node.

3d6e49e3c2/pkg/proxy/healthcheck/service_health.go (L66)
2025-07-07 18:34:01 +02:00
PatrickLaabs
e74bbd5db4 chore: depr. pointer pkg replacement for test/e2e 2025-07-06 22:32:21 +02:00
Adrian Moisey
22138ef552 Add DNS e2e test of NameIsDNSLabel validated Service names 2025-07-02 12:57:33 +02:00
Antonio Ojea
ce44bcdf52 conformance servicecidr read status endpoint
Change-Id: I98a05c0e0971047f7c2abb4cb25a95b754720501
2025-06-14 16:10:04 +00:00
Kubernetes Prow Robot
a715a1f520 Merge pull request #132208 from danwinship/loadbalancer-test-ratelimit
Rate-limit the LoadBalancer rolling update test
2025-06-12 08:26:58 -07:00
Daman Arora
86c709cd81 skip nfacct test in IPv6 clusters
Signed-off-by: Daman Arora <aroradaman@gmail.com>
2025-06-11 12:34:18 +05:30
Dan Winship
260a720a85 Rate-limit the LoadBalancer rolling update test
It was trying to reconnect to the LoadBalancer as fast as possible to
try to catch any transient problems, but "as fast as possible" ended
up meaning about 12,500 times a second, which is clearly excessive.
Limit it to 100 times a second.
2025-06-10 09:38:55 -04:00
Kubernetes Prow Robot
11c5a45171 Merge pull request #131490 from aroradaman/skip-nfacct-test
kube-proxy: conditionally skip e2e
2025-06-09 07:42:24 -07:00
Daman Arora
fc7ba63ee8 support parsing of iperf 2.2.0 output
Signed-off-by: Daman Arora <aroradaman@gmail.com>
2025-06-08 16:48:09 +05:30
Daman Arora
1755a9e545 fix: iperf version in comments
Signed-off-by: Daman Arora <aroradaman@gmail.com>
2025-06-08 16:42:25 +05:30
Adrian Moisey
0a7d9f9bfd KEP-4427: Promote Relaxed DNS search string validation to GA 2025-05-31 07:45:16 +02:00
Dan Winship
5420dcec55 Promote two more EndpointSlice tests to conformance
Specifically, these ensure that the service proxy works with
a service that has only EndpointSlices (no Endpoints).
2025-05-29 20:22:34 -04:00
Antonio Ojea
9549c11155 fix e2e network test flake because of network programming latency
ensure the dataplane is programmed

Change-Id: I576526702ea4c43f69b9abbccc2002fedae2c93a
2025-05-15 08:48:35 +00:00
Antonio Ojea
0ad8e65d90 e2e pod readiness gate network flake
Change-Id: I9625682c8dc0ca3c5423ed2ba2fe57eb51611003
2025-05-14 08:55:42 +00:00
Dan Winship
74e9b27e56 Port "Service endpoints latency should not be very high" to EndpointSlices
This changes the conformance test to measure the latency of the
EndpointSlice controller rather than the Endpoints controller. This
should not have any real effect since the two controllers run in the
same process and do mostly the same thing (especially in tests like
this one which don't test multi-slice services).
2025-05-13 08:53:50 -04:00
Antonio Ojea
3a5dda78af e2e network: blue green deployments
Use Pod Readiness Gates and Services to implement blue green deployment
strategies by setting the corresponding readines gate to influence the
service traffic.

Change-Id: I23e3b9a0440014f48a4612685055565fd8dff5ec
2025-04-30 04:46:50 +00:00
Daman Arora
62ddcfba57 kube-proxy: conditionally skip e2e
Conditionally skip instead of failing when nfacct test when the required
metric is not present. The only case when the metric will not be registered
by kube-proxy is when nfacct subsystem is not supported on the node, we
skip the test in that case.

Signed-off-by: Daman Arora <aroradaman@gmail.com>
2025-04-28 20:35:19 +05:30
Kubernetes Prow Robot
63224eef2d Merge pull request #131187 from bertinatto/fix-podsecurity-cidrs
Update PodSecurityLevel used during Service CIDRs tests
2025-04-23 17:08:58 -07:00
Kubernetes Prow Robot
e63dcda8a2 Merge pull request #131064 from aojea/e2e_services_ip
e2e service ip preservation test
2025-04-23 15:59:13 -07:00
Antonio Ojea
a8f6d77c8d ServiceCIDR and IPAddess Conformance
Change-Id: I6ee188cc8c163c312f8a8da9f1277d83e1ea634c
2025-04-15 21:47:43 +00:00
Fabio Bertinatto
de98a71ff5 Update PodSecurityLevel used during Service CIDRs tests 2025-04-07 08:09:59 -03:00
Antonio Ojea
5e4600e46b e2e service ip preservation test 2025-03-26 07:55:40 +00:00
Dan Winship
478a6f9d05 Add a tests for PreferSameNode 2025-03-24 18:47:45 -04:00
Dan Winship
0ee6b0dbfa Add "multi-node" TrafficDistribution test
The existing TrafficDistribution test didn't really distinguish "same
zone" from "same node". Add another test that makes sure there are at
least 2 nodes in each zone so it can do that.

(Keep the original test as well to avoid losing coverage in CI systems
with single-schedulable-node-per-zone clusters.)
2025-03-24 18:47:37 -04:00
Dan Winship
7956b37f62 Add test for trafficDistribution: PreferSameZone
(Identical to the PreferClose test.)
2025-03-24 18:47:36 -04:00
Dan Winship
23aff5dabd Split out the pieces of the TrafficDistribution test 2025-03-24 18:47:34 -04:00
Dan Winship
10cd54bee4 Streamling the node/zone-picking logic 2025-03-24 18:47:12 -04:00
Dan Winship
bc81a860b0 Abstract the logic of the TrafficDistribution test
Split the logic of creating the clients and the servers apart from the
logic of checking which clients connect to which servers. Add some
extra complexity to support additional use cases (like multiple
endpoints on the same node).
2025-03-24 18:47:10 -04:00
Dan Winship
b1a0fea4c6 Remove a level of indentation in the TrafficDistribution e2e
(No other changes to the code)
2025-03-24 18:46:50 -04:00
Dan Winship
8f7bb964de TrafficDistribution e2e cleanups
Remove endpointSlicesHaveSameZoneHints check. We are testing that
connections end up at the right endpoints. We don't need to validate
_why_ they go to the right endpoints, which is already tested by other
tests anyway. (Also, validating the hints becomes more complicated in
the same-node case, where there may or may not also be same-zone hints
depending on cluster configuration.)

Remove DeferCleanup calls; we don't need to delete anything manually
because namespaced resources will automatically be deleted when the
test case's namespace is deleted.

Remove a setting of pod.NodeName that was redundant with
e2epod.SetNodeSelection().
2025-03-24 18:46:28 -04:00
Dan Winship
2670462eb0 Remove TopologyHints and TrafficDistribution feature flags
The features are always enabled, so the tests don't need to be
conditional.
2025-03-20 15:06:33 -04:00
Antonio Ojea
09427ab558 Update test/e2e/network/netpol/network_policy_api.go
Co-authored-by: Adrian Moisey <adrian@changeover.za.net>
2025-03-03 08:48:06 +01:00