Skip to content

Commit 6c4bc78

Browse files
committed
e2e: label RouteAdvertisement test cases & skip extended ones
Signed-off-by: Jaime Caamaño Ruiz <[email protected]>
1 parent 34b5a46 commit 6c4bc78

File tree

4 files changed

+35
-8
lines changed

4 files changed

+35
-8
lines changed

test/e2e/feature/features.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ var (
2323
MultiHoming = New("MultiHoming")
2424
NodeIPMACMigration = New("NodeIPMACMigration")
2525
OVSCPUPin = New("OVSCPUPin")
26+
RouteAdvertisements = New("RouteAdvertisements")
2627
Unidle = New("Unidle")
2728
)
2829

test/e2e/label/label.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,3 +40,11 @@ func processOverrides(s string) string {
4040
}
4141
return overRide
4242
}
43+
44+
// Extended returns a label used to label extended feature tests. This label
45+
// might be used to label feature tests that are considered not to be testing
46+
// the core functionality of a feature and that might be filtered out for
47+
// various reasons like for example to keep selected job run times down.
48+
func Extended() ginkgo.Labels {
49+
return ginkgo.Label("EXTENDED")
50+
}

test/e2e/route_advertisements.go

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,11 @@ import (
2121
udnv1 "github.com/ovn-org/ovn-kubernetes/go-controller/pkg/crd/userdefinednetwork/v1"
2222
udnclientset "github.com/ovn-org/ovn-kubernetes/go-controller/pkg/crd/userdefinednetwork/v1/apis/clientset/versioned"
2323
"github.com/ovn-org/ovn-kubernetes/test/e2e/deploymentconfig"
24+
"github.com/ovn-org/ovn-kubernetes/test/e2e/feature"
2425
"github.com/ovn-org/ovn-kubernetes/test/e2e/images"
2526
"github.com/ovn-org/ovn-kubernetes/test/e2e/infraprovider"
2627
infraapi "github.com/ovn-org/ovn-kubernetes/test/e2e/infraprovider/api"
28+
"github.com/ovn-org/ovn-kubernetes/test/e2e/label"
2729

2830
corev1 "k8s.io/api/core/v1"
2931
v1 "k8s.io/api/core/v1"
@@ -53,7 +55,7 @@ const (
5355
bgpExternalNetworkName = "bgpnet"
5456
)
5557

56-
var _ = ginkgo.Describe("BGP: Pod to external server when default podNetwork is advertised", func() {
58+
var _ = ginkgo.Describe("BGP: Pod to external server when default podNetwork is advertised", feature.RouteAdvertisements, func() {
5759
var serverContainerIPs []string
5860
var frrContainerIPv4, frrContainerIPv6 string
5961
var nodes *corev1.NodeList
@@ -248,7 +250,7 @@ var _ = ginkgo.Describe("BGP: Pod to external server when default podNetwork is
248250
})
249251
})
250252

251-
var _ = ginkgo.Describe("BGP: Pod to external server when CUDN network is advertised", func() {
253+
var _ = ginkgo.Describe("BGP: Pod to external server when CUDN network is advertised", feature.RouteAdvertisements, func() {
252254
var serverContainerIPs []string
253255
var frrContainerIPv4, frrContainerIPv6 string
254256
var nodes *corev1.NodeList
@@ -525,7 +527,7 @@ var _ = ginkgo.Describe("BGP: Pod to external server when CUDN network is advert
525527
)
526528
})
527529

528-
var _ = ginkgo.DescribeTableSubtree("BGP: isolation between advertised networks",
530+
var _ = ginkgo.DescribeTableSubtree("BGP: isolation between advertised networks", feature.RouteAdvertisements,
529531
func(cudnATemplate, cudnBTemplate *udnv1.ClusterUserDefinedNetwork) {
530532
const curlConnectionTimeoutCode = "28"
531533
const (
@@ -1068,7 +1070,7 @@ var _ = ginkgo.DescribeTableSubtree("BGP: isolation between advertised networks"
10681070
),
10691071
)
10701072

1071-
var _ = ginkgo.Describe("BGP: For a VRF-Lite configured network", func() {
1073+
var _ = ginkgo.Describe("BGP: For a VRF-Lite configured network", feature.RouteAdvertisements, func() {
10721074

10731075
// testing helpers used throughout this testing node
10741076
const (
@@ -1545,12 +1547,14 @@ var _ = ginkgo.Describe("BGP: For a VRF-Lite configured network", func() {
15451547

15461548
otherNetworksToTest := []ginkgo.TableEntry{
15471549
ginkgo.Entry("Default", defaultNetwork, nil),
1548-
ginkgo.Entry("Layer 3 UDN non advertised", udn, otherLayer3NetworkSpec),
1549-
ginkgo.Entry("Layer 3 CUDN advertised", cudnAdvertised, otherLayer3NetworkSpec),
15501550
ginkgo.Entry("Layer 3 CUDN advertised VRF-Lite", cudnAdvertisedVRFLite, otherLayer3NetworkSpec),
1551-
ginkgo.Entry("Layer 2 UDN non advertised", udn, otherLayer2NetworkSpec),
1552-
ginkgo.Entry("Layer 2 CUDN advertised", cudnAdvertised, otherLayer2NetworkSpec),
15531551
ginkgo.Entry("Layer 2 CUDN advertised VRF-Lite", cudnAdvertisedVRFLite, otherLayer2NetworkSpec),
1552+
// The following testcases are labeled as extended,
1553+
// might not be run on all jobs
1554+
ginkgo.Entry("Layer 3 UDN non advertised", udn, otherLayer3NetworkSpec, label.Extended()),
1555+
ginkgo.Entry("Layer 3 CUDN advertised", cudnAdvertised, otherLayer3NetworkSpec, label.Extended()),
1556+
ginkgo.Entry("Layer 2 UDN non advertised", udn, otherLayer2NetworkSpec, label.Extended()),
1557+
ginkgo.Entry("Layer 2 CUDN advertised", cudnAdvertised, otherLayer2NetworkSpec, label.Extended()),
15541558
}
15551559

15561560
ginkgo.DescribeTableSubtree("Of type",

test/scripts/e2e-cp.sh

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,14 @@ skip() {
4040
SKIPPED_TESTS+=$*
4141
}
4242

43+
SKIPPED_LABELED_TESTS=""
44+
skip_label() {
45+
if [ "$SKIPPED_LABELED_TESTS" != "" ]; then
46+
SKIPPED_LABELED_TESTS+=" && "
47+
fi
48+
SKIPPED_LABELED_TESTS+="!($*)"
49+
}
50+
4351
if [ "$PLATFORM_IPV4_SUPPORT" == true ]; then
4452
if [ "$PLATFORM_IPV6_SUPPORT" == true ]; then
4553
# No support for these features in dual-stack yet
@@ -138,6 +146,11 @@ if [ "$ENABLE_ROUTE_ADVERTISEMENTS" != true ]; then
138146
skip $BGP_TESTS
139147
else
140148
if [ "$ADVERTISE_DEFAULT_NETWORK" = true ]; then
149+
# Filter out extended RouteAdvertisements tests to keep job run time down
150+
if [ "$ENABLE_NETWORK_SEGMENTATION" = true ]; then
151+
skip_label "Feature:RouteAdvertisements && EXTENDED"
152+
fi
153+
141154
# Some test don't work when the default network is advertised, either because
142155
# the configuration that the test excercises does not make sense for an advertised network, or
143156
# there is some bug or functional gap
@@ -203,6 +216,7 @@ go test -test.timeout ${GO_TEST_TIMEOUT}m -v . \
203216
-ginkgo.timeout ${TEST_TIMEOUT}m \
204217
-ginkgo.flake-attempts ${FLAKE_ATTEMPTS:-2} \
205218
-ginkgo.skip="${SKIPPED_TESTS}" \
219+
${SKIPPED_LABELED_TESTS:+-ginkgo.label-filter="${SKIPPED_LABELED_TESTS}"} \
206220
-ginkgo.junit-report=${E2E_REPORT_DIR}/junit_${E2E_REPORT_PREFIX}report.xml \
207221
-provider skeleton \
208222
-kubeconfig ${KUBECONFIG} \

0 commit comments

Comments
 (0)