Commit Graph

753 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
151c2799d1
Merge pull request #96279 from cmluciano/cml/netutilsipv4
dualstack: cleanup IsIPv4 duplicates in favor of k8s/utils functions
2020-11-06 18:09:50 -08:00
Tim Hockin
819ff9b087
Use topology labels instead of old beta names (#96033)
* Rename const for topology.../zone

* Rename const for topology.../region

* Rename const for failure-domain.../zone

* Rename const for failure-domain.../region

* Restore old names for compat
2020-11-05 20:26:50 -08:00
Christopher M. Luciano
dfbda1dc40
dualstack: cleanup IsIPv4 duplicates in favor of utils
Signed-off-by: Christopher M. Luciano <cmluciano@us.ibm.com>
2020-11-05 14:29:23 -05: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
Kubernetes Prow Robot
1c403c311e
Merge pull request #95453 from danwinship/egress-networkpolicy-tests
Don't depend on DNS in NetworkPolicy tests
2020-11-03 11:44:04 -08:00
DP19
0ed8fd6dc9 add e2e test for Service ExternalIPs 2020-11-02 13:57:23 -05:00
Kubernetes Prow Robot
d1c296431e
Merge pull request #96059 from knight42/refactor/migrate-health-check
refactor: migrate health checks of control-plane off insecure port in tests
2020-11-02 08:21:08 -08:00
knight42
3c4d6859c8
refactor: migrate health checks of control-plane off insecure port in tests
Signed-off-by: knight42 <anonymousknight96@gmail.com>
2020-10-31 11:39:25 +08:00
Kubernetes Prow Robot
68c41e261e
Merge pull request #95977 from robscott/esm-test-fix
Updating EndpointSliceMirroring e2e test to accept multiple slices
2020-10-30 15:46:51 -07:00
jornshen
1d83b28dfe refector service some e2e cases to make it runing in multi providers
the cases are as fellow:
- "should work after restarting kube-proxy"
- "should work after restarting apiserver"
2020-10-30 19:39:02 +08:00
Kubernetes Prow Robot
f99ad43dbb
Merge pull request #95575 from oomichi/remove-non-ascii-20201014
Replace non-ascii string under test/
2020-10-29 18:36:18 -07:00
Rob Scott
2c7d186669
Updating EndpointSliceMirroring e2e test to accept multiple slices
Due to informer caching, this caused some flaky test failures.
2020-10-28 22:49:17 -07:00
Tim Hockin
4f8fb1d3ca Wipe some fields on service "type" updates
Service has had a problem since forever:

- User creates a service type=LoadBalancer
- We silently allocate them a NodePort
- User changes type to ClusterIP
- We fail the operation because they did not clear NodePort

They never asked for or used the NodePort!

Dual-stack introduced some dependent fields that get auto-wiped on
updates.  This carries it further.

If you squint, you can see Service as a big, messy discriminated union,
with type as the discriminator. Ignoring fields for non-selected
union-modes seems right.

This introduces the potential for an apply loop. Specifically, we will
accept YAML that we did not previously accept. Apply could see the
field in local YAML and not in the server and repeatedly try to patch it
in. But since that YAML is currently an error, it seems like a very low
risk. Almost nobody actually specifies their own NodePort values.

To mitigate this somewhat, we only auto-wipe on updates. The same YAML
would fail to create. This is a little inconsistent. We could
auto-wipe on create, too, at the risk of more potential impact.

To do this properly, we need to know the old and new values, which means
we can not do it in defaulting or conversion. So we do it in strategy.

This change also adds unit tests and updates e2e tests to rely on and
verify this behavior.
2020-10-28 10:41:26 -07:00
Kubernetes Prow Robot
34ae23110a
Merge pull request #95337 from cmluciano/cml/kproxylabeltest
proxy: label kube_proxy test with more unique label
2020-10-27 20:44:10 -07:00
Kubernetes Prow Robot
f00ec1b449
Merge pull request #95679 from EdDev/test-e2e-remove-w8-4-pod-running-after-createsync
test, e2e: Remove duplication when using PodClient.CreateSync
2020-10-27 15:32:11 -07:00
Khaled Henidak (Kal)
6675eba3ef
dual stack services (#91824)
* api: structure change

* api: defaulting, conversion, and validation

* [FIX] validation: auto remove second ip/family when service changes to SingleStack

* [FIX] api: defaulting, conversion, and validation

* api-server: clusterIPs alloc, printers, storage and strategy

* [FIX] clusterIPs default on read

* alloc: auto remove second ip/family when service changes to SingleStack

* api-server: repair loop handling for clusterIPs

* api-server: force kubernetes default service into single stack

* api-server: tie dualstack feature flag with endpoint feature flag

* controller-manager: feature flag, endpoint, and endpointSlice controllers handling multi family service

* [FIX] controller-manager: feature flag, endpoint, and endpointSlicecontrollers handling multi family service

* kube-proxy: feature-flag, utils, proxier, and meta proxier

* [FIX] kubeproxy: call both proxier at the same time

* kubenet: remove forced pod IP sorting

* kubectl: modify describe to include ClusterIPs, IPFamilies, and IPFamilyPolicy

* e2e: fix tests that depends on IPFamily field AND add dual stack tests

* e2e: fix expected error message for ClusterIP immutability

* add integration tests for dualstack

the third phase of dual stack is a very complex change in the API,
basically it introduces Dual Stack services. Main changes are:

- It pluralizes the Service IPFamily field to IPFamilies,
and removes the singular field.
- It introduces a new field IPFamilyPolicyType that can take
3 values to express the "dual-stack(mad)ness" of the cluster:
SingleStack, PreferDualStack and RequireDualStack
- It pluralizes ClusterIP to ClusterIPs.

The goal is to add coverage to the services API operations,
taking into account the 6 different modes a cluster can have:

- single stack: IP4 or IPv6 (as of today)
- dual stack: IPv4 only, IPv6 only, IPv4 - IPv6, IPv6 - IPv4

* [FIX] add integration tests for dualstack

* generated data

* generated files

Co-authored-by: Antonio Ojea <aojea@redhat.com>
2020-10-26 13:15:59 -07:00
Kubernetes Prow Robot
84096f02e9
Merge pull request #94968 from Lion-Wei/fix-session-affinity-case
fix session affinity related flaky cases in ipvs proxy mode
2020-10-23 15:19:00 -07:00
Christopher M. Luciano
22b8cd5e51
proxy: label kube_proxy test with more unique label
The kube_proxy SIGDescribe previously only had Network in the title
and made it more difficult to select just the test cases in the
kube_proxy file and would end up running anything with Network in the
text area of SIGDescribe e2e tests.

Signed-off-by: Christopher M. Luciano <cmluciano@us.ibm.com>
2020-10-23 13:47:23 -04:00
Lion-Wei
624f5f9fdc extend request interval to make session affinity cases stable 2020-10-23 13:48:49 +08:00
Kubernetes Prow Robot
ffb233ff2d
Merge pull request #95155 from cmluciano/cml/netpolapie2e
netpol: Add CRUD tests for NetworkPolicy API
2020-10-21 13:08:50 -07:00
Christopher M. Luciano
62ac60c4b5
netpol: Add CRUD tests for NetworkPolicy API
CRUD operations are the extent of conformance testing that we can add
for NetworkPolicy tests since we require a 3rd party plugin like CNI
for enforcement.

Signed-off-by: Christopher M. Luciano <cmluciano@us.ibm.com>
2020-10-19 13:22:42 -04:00
Edward Haas
c104671401 test, e2e: Remove duplication when using PodClient.CreateSync
The CreateSync method includes the waiting for the pod to become running
and returns a fresh new pod instance.
In addition, errors are asserted in the method.

Therefore, there is no need for the callers to repeat these operations.
Some, like the error assertions, will never be reached in case they
occur as they will explode from within the method itself.

Signed-off-by: Edward Haas <edwardh@redhat.com>
2020-10-18 15:42:06 +03:00
Antonio Ojea
97a13a0f87 e2e don't use hardcoded name for containers name 2020-10-17 11:44:45 +02:00
Kubernetes Prow Robot
8058942aa2
Merge pull request #95574 from swetharepakula/disable-test
Disable ExternalTrafficPolicy Test for large clusters
2020-10-16 18:42:12 -07:00
Swetha Repakula
b38ff20f71 Disable test for large clusters
- Due to performance issues, service controller updates are slow
 in large clusters, causing failing tests. Tag can be removed once
 performance issues are resolved
2020-10-16 14:27:15 -07:00
Kubernetes Prow Robot
7b40b3410b
Merge pull request #94595 from claudiubelu/tests/agnhost-usage-refactor-5
tests: Refactor agnhost image pod usage - network
2020-10-16 09:01:40 -07:00
Kenichi Omichi
788e7d9360 Replace non-ascii string under test/ 2020-10-15 03:35:08 +00:00
Kubernetes Prow Robot
9891ac4d4d
Merge pull request #95333 from jayunit100/node_port_udp_fast_test
Node port udp fast test
2020-10-13 18:19:54 -07:00
jay vyas
e7a9a94da8 simpler addition of nodeport basic validation 2020-10-11 11:36:02 -04:00
Dan Winship
3b9f358eb9 Don't depend on DNS in NetworkPolicy tests
The NetworkPolicy tests work by trying to connect to a service by its
name, which means that for the tests that involved creating egress
policies, it had to always create an extra rule allowing egress for
DNS, but this assumed that DNS was running on UDP port 53. If it was
running somewhere else (eg if you changed the CoreDNS pods to use port
5353 to avoid needing to give them the NET_BIND_SERVICE capability)
then the NetworkPolicy tests would fail.

Fix this by making the tests connect to their services by IP rather
than by name, and removing all the DNS special-case rules. There are
other tests that ensure that Service DNS works.
2020-10-09 16:16:43 -04:00
Dan Winship
3f4c2d6fe0 Improve logging of iptables canary test
Since it's [Disruptive] it only runs in periodic jobs so it's better
to have too much debugging info than too little.
2020-10-09 11:59:21 -04:00
Kubernetes Prow Robot
128b697d55
Merge pull request #95276 from jayunit100/95216_ginkgo
Have udp tests return idiomatic ginkgo errors, update reporting of mutating parts
2020-10-07 10:44:15 -07:00
Antonio Ojea
33602279a2 e2e hostexec commands does not need sudo 2020-10-06 09:36:49 +02:00
jay vyas
56def96d9d Update DialFromNode to return values as is done w/ other tests. Update
comments to clarify missing probability check function (since they need
to be updated anyways b/c of the return value introduced)
2020-10-04 15:59:20 -04:00
Kubernetes Prow Robot
05b3e8911a
Merge pull request #95166 from vishsangale/master-to-control-plane-test-e2e-GetMasterHost
Updated symbol 'framework.GetMasterHost' to not use word 'master'
2020-10-01 11:49:19 -07:00
Kubernetes Prow Robot
cc68a78ef5
Merge pull request #95160 from jayunit100/patch-12
Delete federation tests from sig-network  because they are disruptive and no longer relevant
2020-10-01 10:47:19 -07:00
Kubernetes Prow Robot
89fdf5e7d3
Merge pull request #95167 from vishsangale/master-to-control-plane-GetAllMasterAddresses
Updated symbol 'framework.GetAllMasterAddresses' to not use word 'mas…
2020-09-30 18:00:53 -07:00
Kubernetes Prow Robot
e67fa02095
Merge pull request #94433 from aojea/iperf
remove iperf e2e test ip family tags
2020-09-30 12:54:54 -07:00
Kubernetes Prow Robot
4373d9aadd
Merge pull request #95132 from jluhrsen/nw-policy-debug
Network policy test debug and cleanup
2020-09-30 11:24:54 -07:00
jay vyas
1c5ad9b7e7 remove dns_common.go delete configmap stuff 2020-09-30 11:12:56 -04:00
jay vyas
77b78a2c1f Remove federation tests entirely because they break clusters and aren't relevant anymore 2020-09-30 08:26:28 -04:00
Vishwanath Sangale
b8e733fb94 Updated symbol 'framework.GetAllMasterAddresses' to not use word 'master' 2020-09-29 21:43:10 -07:00
Vishwanath Sangale
395a6d89f6 Updated symbol 'framework.GetMasterHost' to not use word 'master' 2020-09-29 21:05:39 -07:00
Kubernetes Prow Robot
ac519b43bd
Merge pull request #94828 from aojea/sctpflake
Fix sctp job flakes
2020-09-28 18:29:25 -07:00
Claudiu Belu
d37cbeb388 tests: Refactors agnhost image pod usage - network
A previous commit created a few agnhost related functions that creates agnhost
pods / containers for general purposes.

Refactors tests to use those functions.
2020-09-26 05:56:31 -07:00
Jamo Luhrsen
ae63d6495d Collect debugs before framework.Failf
having framework.DumpDebugInfo after the FailF was
a noop and we are losing those potentially helpful
logs when we need them the most (on a failure)

Signed-off-by: Jamo Luhrsen <jluhrsen@redhat.com>
2020-09-25 13:22:24 -07:00
Kubernetes Prow Robot
9646d5998c
Merge pull request #94822 from JornShen/replace_e2essh_e2e_service_tests
Replace e2essh on e2e service tests
2020-09-24 13:57:11 -07:00
Kubernetes Prow Robot
aad834b073
Merge pull request #94438 from claudiubelu/tests/agnhost-usage-refactor-4
tests: Refactors agnhost image pod usage in tests
2020-09-23 15:36:05 -07:00