@@ -21,11 +21,10 @@ import (
2121
2222 "k8s.io/kops/pkg/apis/kops/util"
2323 "k8s.io/kops/pkg/apis/kops/v1alpha2"
24- "k8s.io/kops/upup/pkg/fi"
2524)
2625
2726const (
28- skipRegexBase = "\\ [Slow\\ ]|\\ [Serial\\ ]|\\ [Disruptive\\ ]|\\ [Flaky\\ ]|\\ [Feature:.+\\ ]|nfs|NFS|Gluster|NodeProblemDetector "
27+ skipRegexBase = "\\ [Slow\\ ]|\\ [Serial\\ ]|\\ [Disruptive\\ ]|\\ [Flaky\\ ]|\\ [Feature:.+\\ ]|nfs|NFS"
2928)
3029
3130func (t * Tester ) setSkipRegexFlag () error {
@@ -59,6 +58,7 @@ func (t *Tester) setSkipRegexFlag() error {
5958 skipRegex += "|Services.*rejected.*endpoints"
6059 }
6160 if networking .Cilium != nil {
61+ // Cilium upstream skip references: https://github.com/cilium/cilium/blob/main/.github/workflows/k8s-kind-network-e2e.yaml#L210
6262 // https://github.com/cilium/cilium/issues/10002
6363 skipRegex += "|TCP.CLOSE_WAIT"
6464 // https://github.com/cilium/cilium/issues/15361
@@ -75,38 +75,33 @@ func (t *Tester) setSkipRegexFlag() error {
7575 // https://github.com/kubernetes/kubernetes/blob/418ae605ec1b788d43bff7ac44af66d8b669b833/test/e2e/network/networking.go#L135
7676 skipRegex += "|should.check.kube-proxy.urls"
7777
78- if k8sVersion .Minor < 35 {
78+ if k8sVersion .Minor < 36 {
7979 // This seems to be specific to the kube-proxy replacement
80- // < 35 so we look at this again
80+ // < 36 so we look at this again
8181 skipRegex += "|Services.should.support.externalTrafficPolicy.Local.for.type.NodePort"
8282 // https://github.com/kubernetes/kubernetes/issues/129221
83- // < 35 so we look at this again
83+ // < 36 so we look at this again
8484 skipRegex += "|Services.should.implement.NodePort.and.HealthCheckNodePort.correctly.when.ExternalTrafficPolicy.changes"
85+ // < 36 so we look at this again
86+ skipRegex += "|Networking.Granular.Checks:.Services.should.function.for.service.endpoints.using.hostNetwork"
8587 }
8688
87- if k8sVersion .Minor < 35 {
88- // < 35 so we revisit this in future
89- // This test checks for kube-proxy on port 10249 (`127.0.0.1:10249/proxyMode`)
90- // It appears that the cilium kube-proxy replacement does not implement this.
91- // Ref: https://github.com/kubernetes/kubernetes/issues/126903
92- skipRegex += "|KubeProxy.should.update.metric.for.tracking.accepted.packets.destined.for.localhost.nodeports"
93- }
9489 } else if networking .Calico != nil {
9590 if cluster .Spec .LegacyCloudProvider == "gce" && k8sVersion .Minor < 35 {
9691 // < 35 so we look at this again
9792 skipRegex += "|Services.should.implement.NodePort.and.HealthCheckNodePort.correctly.when.ExternalTrafficPolicy.changes"
9893 }
9994 } else if networking .Flannel != nil {
100- if k8sVersion .Minor < 35 {
101- // < 35 so we look at this again
95+ if k8sVersion .Minor < 36 {
96+ // < 36 so we look at this again
10297 skipRegex += "|Services.should.implement.NodePort.and.HealthCheckNodePort.correctly.when.ExternalTrafficPolicy.changes"
10398 }
10499 } else if networking .KubeRouter != nil {
105100 skipRegex += "|should set TCP CLOSE_WAIT timeout|should check kube-proxy urls"
106- if k8sVersion .Minor < 35 {
107- // < 35 so we look at this again
101+ if k8sVersion .Minor < 36 {
102+ // < 36 so we look at this again
108103 skipRegex += "|Networking.Granular.Checks:.Services.should.function.for.service.endpoints.using.hostNetwork"
109- // < 35 so we look at this again
104+ // < 36 so we look at this again
110105 skipRegex += "|Services.should.implement.NodePort.and.HealthCheckNodePort.correctly.when.ExternalTrafficPolicy.changes"
111106 }
112107 } else if networking .Kubenet != nil {
@@ -119,39 +114,11 @@ func (t *Tester) setSkipRegexFlag() error {
119114 }
120115
121116 if cluster .Spec .LegacyCloudProvider == "gce" {
122- // Firewall tests expect a specific format for cluster and control plane host names
123- // which kOps does not match
124- // ref: https://github.com/kubernetes/kubernetes/blob/1bd00776b5d78828a065b5c21e7003accc308a06/test/e2e/framework/providers/gce/firewall.go#L92-L100
125- skipRegex += "|Firewall"
126- // kube-dns tests are not skipped automatically if a cluster uses CoreDNS instead
127- skipRegex += "|kube-dns"
128117 // this test assumes the cluster runs COS but kOps uses Ubuntu by default
129118 // ref: https://github.com/kubernetes/test-infra/pull/22190
130119 skipRegex += "|should.be.mountable.when.non-attachable"
131120 // The in-tree driver and its E2E tests use `topology.kubernetes.io/zone` but the CSI driver uses `topology.gke.io/zone`
132121 skipRegex += "|In-tree.Volumes.\\ [Driver:.gcepd\\ ].*topology.should.provision.a.volume.and.schedule.a.pod.with.AllowedTopologies"
133-
134- // this tests assumes a custom config for containerd:
135- // https://github.com/kubernetes/test-infra/blob/578d86a7be187214be6ccd60e6ea7317b51aeb15/jobs/e2e_node/containerd/config.toml#L19-L21
136- // ref: https://github.com/kubernetes/kubernetes/pull/104803
137- skipRegex += "|RuntimeClass.should.run"
138- // https://github.com/kubernetes/kubernetes/pull/108694
139- skipRegex += "|Metadata.Concealment"
140-
141- if k8sVersion .Minor >= 31 {
142- // Most e2e framework code for the in-tree provider has been removed but some test cases remain
143- // https://github.com/kubernetes/kubernetes/pull/124519
144- // https://github.com/kubernetes/test-infra/pull/33222
145- skipRegex += "\\ [sig-cloud-provider-gcp\\ ]"
146- }
147- }
148-
149- if k8sVersion .Minor >= 22 {
150- // this test was being skipped automatically because it isn't applicable with CSIMigration=true which is default
151- // but skipping logic has been changed and now the test is planned for removal
152- // Should be skipped on all versions we enable CSI drivers on
153- // ref: https://github.com/kubernetes/kubernetes/pull/109649#issuecomment-1108574843
154- skipRegex += "|should.verify.that.all.nodes.have.volume.limits"
155122 }
156123
157124 // This test fails on RHEL-based distros because they return fully qualified hostnames yet the k8s node names are not fully qualified.
@@ -165,10 +132,6 @@ func (t *Tester) setSkipRegexFlag() error {
165132 skipRegex += "|Services.should.function.for.service.endpoints.using.hostNetwork"
166133 }
167134
168- if cluster .Spec .CloudConfig != nil && cluster .Spec .CloudConfig .AWSEBSCSIDriver != nil && fi .ValueOf (cluster .Spec .CloudConfig .AWSEBSCSIDriver .Enabled ) {
169- skipRegex += "|In-tree.Volumes.\\ [Driver:.aws\\ ]"
170- }
171-
172135 for _ , subnet := range cluster .Spec .Subnets {
173136 if subnet .Type == v1alpha2 .SubnetTypePrivate || subnet .Type == v1alpha2 .SubnetTypeDualStack {
174137 skipRegex += "|SSH.should.SSH.to.all.nodes.and.run.commands"
0 commit comments