Commit Graph

274 Commits

Author SHA1 Message Date
Andrew Sy Kim
01c178c9de test/e2e/network: add e2e tests for ProxyTerminatingEndpoints
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2022-03-29 11:37:43 -04:00
Sergiusz Urbaniak
373c08e0c7
test/e2e/framework: configure pod security admission level for e2e tests 2022-03-28 15:42:10 +02:00
hxie
83974e4940 Remove option 'T' from wget on Windows
Command 'wget' in Windows image agnhost does not support option timeout,
this test fails:
  - should be able to up and down services
2022-02-07 00:38:07 -08:00
Martin André
5f809703a6 Revert "Fix comparison between FQDN and hostname"
This reverts commit 752a532c3d.
2022-01-26 11:09:27 +01:00
Ahmed Aghadi
93d858c46e
Improve checks for test/e2e/network and test/e2e/network/netpol (#106655) 2021-12-07 22:07:56 -08:00
Stephen Heywood
675be94024 Promote DeleteCollection service e2e test to conformance 2021-11-10 10:19:46 +13:00
Stephen Heywood
38207e460c Create e2e delete service collection test
The test validates the following endpoint
-  deleteCoreV1CollectionNamespacedService
2021-11-03 10:17:23 +13:00
Tim Hockin
11a25bfeb6
De-share the Handler struct in core API (#105979)
* De-share the Handler struct in core API

An upcoming PR adds a handler that only applies on one of these paths.
Having fields that don't work seems bad.

This never should have been shared.  Lifecycle hooks are like a "write"
while probes are more like a "read". HTTPGet and TCPSocket don't really
make sense as lifecycle hooks (but I can't take that back). When we add
gRPC, it is EXPLICITLY a health check (defined by gRPC) not an arbitrary
RPC - so a probe makes sense but a hook does not.

In the future I can also see adding lifecycle hooks that don't make
sense as probes.  E.g. 'sleep' is a common lifecycle request. The only
option is `exec`, which requires having a sleep binary in your image.

* Run update scripts
2021-10-29 13:15:11 -07:00
Antonio Ojea
b55e6f2cd0 avoid hostNetwork pods conflict binding UDP ports
The agnhost pods using netexec will bind by default to the UDP
port 8081, use a different port for hostNetwork pods to avoid
scheduling conflicts and fail the tests.
2021-09-20 09:54:23 +02:00
Kubernetes Prow Robot
6b21e064be
Merge pull request #104917 from vinayakankugoyal/e2e
Skip externalips service tests if admission controller to deny externalip services is enabled.
2021-09-10 19:08:06 -07:00
Vinayak Goyal
b3c23290b4 Skip service external ips tests if admission controller to deny externalip services is enabled. 2021-09-10 12:51:31 -07:00
Martin Kennelly
752a532c3d Fix comparison between FQDN and hostname
Agnhost's serve-hostname at endpoint /hostname
will return hostname. Pods host node name may
return FQDN. Comparison between the two fails.

Signed-off-by: Martin Kennelly <mkennell@redhat.com>
2021-08-20 10:24:41 +01:00
Kubernetes Prow Robot
851b4a2c9a
Merge pull request #104407 from aojea/host_network_collision
hostNetwork tests can't share the same port
2021-08-19 13:45:25 -07:00
Kubernetes Prow Robot
333eb833e5
Merge pull request #104401 from aojea/sctp_scale
SCTP tests run only on 2 nodes
2021-08-18 03:28:08 -07:00
Antonio Ojea
513b55b00d hostNetwork tests can't share the same port
The pods using hostNetwork use the host network namespace, hence
they have to share it with the rest of the process and pods.
If several pods try to bind to the same port, the test will fail,
so we try to use a non common port, and run the different scenario
in the same test, so we only have to bind once and we avoid consuming
ports reducing the port collision risk.
2021-08-18 10:43:06 +02:00
Antonio Ojea
04d83edd3c SCTP tests run only on 2 nodes 2021-08-17 00:42:20 +02:00
Martin Kennelly
eba9d33c3e Fix insufficient privileges to bind to port
Container without elevated privileges to bind to
host port less than 1024 causes bind permission
denied error.
Increase port number greater than 1024 to allow
binding.

Signed-off-by: Martin Kennelly <mkennell@redhat.com>
2021-08-13 19:15:03 +01:00
Dan Winship
318b9a9578 remove superfluous [Feature:SCTP] tag in some test names
This tag was supposed to have gone away when SCTP went GA. (I think it
got screwed up due to a PR being mis-rebased after the SCTP GA merge.)
2021-07-19 14:49:53 -04:00
Andrew Sy Kim
04d59ff2df test/e2e/network: add Service internalTrafficPolicy test for pod (w/ host network) -> pod (w/ host network)
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2021-07-06 09:22:07 -04:00
Andrew Sy Kim
9977ea371b test/e2e/network: add Service internalTrafficPolicy test for pod -> pod (w/ host network)
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2021-07-06 09:22:06 -04:00
Andrew Sy Kim
025c95a778 test/e2e/network: add Service internalTrafficPolicy test pod (w/ host network) -> pod
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2021-07-06 09:22:06 -04:00
Andrew Sy Kim
f6bc5d0140 test/e2e/network: add Service internalTrafficPolicy test pod to pod
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2021-07-06 09:22:06 -04:00
Ciprian Hacman
1721be087d nodeport tests: node addresses must match the service IP family 2021-06-26 10:00:46 +03:00
Antonio Ojea
916dbc335c nodeport tests: node addresses must match the service IP family 2021-06-25 10:34:42 +02:00
Antonio Ojea
2dc4dba562 conformance test for Services should validate behavior
Current test for service with endpoints only validate the API objects,
however, doesn't validate that the implementation of Services works.

This mean that a cluster without any component implementing Services,
can pass Conformance.
2021-05-03 17:19:54 +02:00
Antonio Ojea
60c3480740 e2e don't set pod.Spec.NodeName directly
based on this comment in
ea07644522/test/e2e/framework/pod/node_selection.go (L96-L101)

// pod.Spec.NodeName should not be set directly because
// it will bypass the scheduler, potentially causing
// kubelet to Fail the pod immediately if it's out of
// resources. Instead, we want the pod to remain
// pending in the scheduler until the node has resources
// freed up.
2021-04-16 15:58:16 +02:00
Kubernetes Prow Robot
da341b5cfc
Merge pull request #100290 from ii/promote-service-status-test
Promote ServiceStatus lifecycle e2e test to Conformance  +4 endpoint coverage
2021-03-16 15:57:16 -07:00
Stephen Heywood
af1f64bee8 Promote ServiceStatus lifecycle e2e test to Conformance 2021-03-16 10:07:05 +13:00
Kubernetes Prow Robot
faa3a5fbd4
Merge pull request #99916 from swetharepakula/eps-ga-e2e
Promote Endpoint Slice E2E Tests to Conformance
2021-03-08 20:47:45 -08:00
Kubernetes Prow Robot
5f0b88b043
Merge pull request #98791 from pacoxu/kubetest/external-ips
skip checking nodeport on external addrs in conformance tests
2021-03-08 19:22:59 -08:00
Swetha Repakula
3ef94fbe3e Update e2e tests to use EndpointSlice v1 API 2021-03-08 09:44:47 -08:00
pacoxu
520ce44c55 skip test on External IP of NodePort in conformance test 2021-03-08 16:55:34 +08:00
Stephen Heywood
3e9c44f00e Add lifecycle e2e test for service status
e2e test validates the following service status endpoints
- patchCoreV1NamespacedServiceStatus
- readCoreV1NamespacedServiceStatus
- replaceCoreV1NamespacedServiceStatus

Also includes untested service endpoint
- patchCoreV1NamespacedService
2021-03-02 12:05:52 +13:00
wojtekt
749922fa46 Cleanup SIGDescribe in test/e2e/network 2021-02-27 20:29:27 +01:00
Antonio Ojea
c9cbe41347 remove duplicate functions 2021-02-22 18:43:59 +01:00
jornshen
5d8f7ccc56 e2e test use CreateSync in createPodOrFail 2021-02-20 18:14:12 +08:00
Kubernetes Prow Robot
83a5b4c365
Merge pull request #99202 from aojea/servicessyncpod
e2e services test pods should wait until they are ready
2021-02-19 00:20:48 -08:00
Antonio Ojea
6d614c9c50 e2e services test pods should wait until they are ready 2021-02-18 16:08:59 +01:00
jornshen
ffa7789f7f merge error check to validateEndpointsPorts 2021-02-17 18:22:09 +08:00
Antonio Ojea
63dce95fd2 e2e network test reorganization
the sig-network e2e tests related to services has more than 3k lines.
Some of those e2e tests are related to loadbalancers, that are
cloud provider specific and have special requirements.

We split up the services file and keeps the loadbalancers e2e tests
in their own file and with their own tag, so it is easier to skip
for people that don't run e2e tests in cloud providers.
2021-01-24 01:12:42 +01:00
wojtekt
fa0b7dee9e Attempt to deflake networking tests in large clusters 2021-01-20 09:32:39 +01:00
Antonio Ojea
6bedf4a98b don´t panic on e2e ESIPP tests
The ESIPP tests are using a function to poll an HTTP endpoint.
This function failed the framework if the request to the http endpoint
timed out, causing a panic that ginkgo couldn´t recover.

Also, this function was used inside a pollImmediate loop, so it should
return the error instead of fail.
2021-01-08 10:52:49 +01:00
Antonio Ojea
bbfed8a7db fix sctp hostPort test
The test create a pod with a hostPort to expose an SCTP port, then
it checks if the iptables rules were installed correctly in the host.

The iptables rules MUST be checked in the same host where the pod
is running :)
2020-12-17 18:31:35 +01:00
Mateusz Matejczyk
3affac239e Remove the 'DisabledForLargeClusters' tags from non-session-affinity LB network tests
Ref. https://github.com/kubernetes/kubernetes/issues/90047
2020-12-16 13:26:42 +01:00
DP19
9e4642211a add e2e test for Service ExternalIPs 2020-11-22 00:57:29 +01:00
Antonio Ojea
59674755eb e2e SCTP test not depend on kubenet
e2e test should be platform and component independent.
Consumers can filter using tags or regex.
2020-11-17 16:34:48 +01:00
Kubernetes Prow Robot
a5bce462d0
Merge pull request #94812 from aojea/e2ehostnet2
e2e test for services using pods with hostNetwork as backend
2020-11-10 14:35:38 -08:00
Antonio Ojea
76a9c8695a Revert "add e2e test for Service ExternalIPs"
This reverts commit 0ed8fd6dc9.

It turns out that ExternalIPs are not allowed to be reachable from
pods until the IP is present in the node.
However, due to a kube-proxy limitation it was working in environment
that used CNIs without bridges for the pods.
2020-11-05 10:35:24 +01:00
Kubernetes Prow Robot
e54448a307
Merge pull request #96116 from DP19/add-e2e-test-for-external-ips
add e2e test for Service ExternalIPs
2020-11-03 17:04:17 -08:00
Kubernetes Prow Robot
e25f3d75b8
Merge pull request #95065 from JornShen/replace_restarting_kas_kp_e2e_network_provider
refector service some e2e cases to make it runing in multi providers
2020-11-03 17:04:03 -08:00