diff --git a/.github/data/matrix-smoke-oss.json b/.github/data/matrix-smoke-oss.json index a6965bfedd..1c042f20fd 100644 --- a/.github/data/matrix-smoke-oss.json +++ b/.github/data/matrix-smoke-oss.json @@ -15,10 +15,24 @@ "platforms": "linux/arm, linux/arm64, linux/amd64, linux/ppc64le, linux/s390x" }, { - "label": "VSR", + "label": "VSR 1/3", "image": "alpine", "type": "oss", - "marker": "vsr", + "marker": "'vsr and not vsr_upstream and not vsr_grpc and not vsr_status and not vsr_canary and not vsr_routing and not vsr_api and not vsr_redirects and not vsr_rewrite and not vsr_canned and not vsr_basic'", + "platforms": "linux/arm, linux/arm64, linux/amd64, linux/ppc64le, linux/s390x" + }, + { + "label": "VSR 2/3", + "image": "alpine", + "type": "oss", + "marker": "'vsr_basic or vsr_canned or vsr_rewrite or vsr_redirects or vsr_upstream'", + "platforms": "linux/arm, linux/arm64, linux/amd64, linux/ppc64le, linux/s390x" + }, + { + "label": "VSR 3/3", + "image": "alpine", + "type": "oss", + "marker": "'vsr_api or vsr_routing or vsr_canary or vsr_status or vsr_grpc'", "platforms": "linux/arm, linux/arm64, linux/amd64, linux/ppc64le, linux/s390x" }, { diff --git a/.github/data/matrix-smoke-plus.json b/.github/data/matrix-smoke-plus.json index 228a92b1cc..ac29f33c7d 100644 --- a/.github/data/matrix-smoke-plus.json +++ b/.github/data/matrix-smoke-plus.json @@ -43,10 +43,24 @@ "platforms": "linux/arm64, linux/amd64" }, { - "label": "VSR", + "label": "VSR 1/3", "image": "alpine-plus", "type": "plus", - "marker": "vsr", + "marker": "'vsr and not vsr_upstream and not vsr_grpc and not vsr_status and not vsr_canary and not vsr_routing and not vsr_api and not vsr_redirects and not vsr_rewrite and not vsr_canned and not vsr_basic'", + "platforms": "linux/arm64, linux/amd64" + }, + { + "label": "VSR 2/3", + "image": "alpine-plus", + "type": "plus", + "marker": "'vsr_basic or vsr_canned or vsr_rewrite or vsr_redirects or vsr_upstream'", + "platforms": "linux/arm64, linux/amd64" + }, + { + "label": "VSR 3/3", + "image": "alpine-plus", + "type": "plus", + "marker": "'vsr_api or vsr_routing or vsr_canary or vsr_status or vsr_grpc'", "platforms": "linux/arm64, linux/amd64" }, { diff --git a/tests/suite/test_rewrites.py b/tests/suite/test_rewrites.py index a91d14ce03..eee14bdcf2 100644 --- a/tests/suite/test_rewrites.py +++ b/tests/suite/test_rewrites.py @@ -112,6 +112,7 @@ def test_vs_rewrite(self, vs_rewrites_setup, path, args, cookies, expected): assert f"URI: {expected}\nRequest" in resp.text @pytest.mark.vsr + @pytest.mark.vsr_rewrite @pytest.mark.parametrize("path,args,cookies,expected", test_data) def test_vsr_rewrite(self, vsr_rewrites_setup, path, args, cookies, expected): """ diff --git a/tests/suite/test_v_s_route.py b/tests/suite/test_v_s_route.py index 4b28ea0e26..d5684df622 100644 --- a/tests/suite/test_v_s_route.py +++ b/tests/suite/test_v_s_route.py @@ -49,6 +49,7 @@ def assert_locations_not_in_config(config, paths): @pytest.mark.smoke @pytest.mark.vsr +@pytest.mark.vsr_basic @pytest.mark.parametrize( "crd_ingress_controller, v_s_route_setup", [({"type": "complete", "extra_args": [f"-enable-custom-resources"]}, {"example": "virtual-server-route"})], @@ -267,6 +268,7 @@ def test_responses_and_events_in_flow( @pytest.mark.vsr +@pytest.mark.vsr_basic @pytest.mark.parametrize( "crd_ingress_controller, v_s_route_setup", [({"type": "complete", "extra_args": [f"-enable-custom-resources"]}, {"example": "virtual-server-route"})], @@ -369,6 +371,7 @@ def test_openapi_validation_flow( @pytest.mark.vsr +@pytest.mark.vsr_basic @pytest.mark.flaky(max_runs=3) @pytest.mark.parametrize( "crd_ingress_controller, v_s_route_setup", diff --git a/tests/suite/test_v_s_route_advanced_routing.py b/tests/suite/test_v_s_route_advanced_routing.py index 5405b3823e..b656ede340 100644 --- a/tests/suite/test_v_s_route_advanced_routing.py +++ b/tests/suite/test_v_s_route_advanced_routing.py @@ -107,6 +107,7 @@ def fin(): @pytest.mark.vsr +@pytest.mark.vsr_routing @pytest.mark.parametrize( "crd_ingress_controller, vsr_adv_routing_setup", [ diff --git a/tests/suite/test_v_s_route_api.py b/tests/suite/test_v_s_route_api.py index 97703b6cc3..82e9a1a5ff 100644 --- a/tests/suite/test_v_s_route_api.py +++ b/tests/suite/test_v_s_route_api.py @@ -8,6 +8,7 @@ @pytest.mark.vsr +@pytest.mark.vsr_api @pytest.mark.skip_for_nginx_oss @pytest.mark.parametrize( "crd_ingress_controller, v_s_route_setup", diff --git a/tests/suite/test_v_s_route_canned_responses.py b/tests/suite/test_v_s_route_canned_responses.py index ab3b87d01a..221314cf06 100644 --- a/tests/suite/test_v_s_route_canned_responses.py +++ b/tests/suite/test_v_s_route_canned_responses.py @@ -15,6 +15,7 @@ @pytest.mark.vsr +@pytest.mark.vsr_canned @pytest.mark.parametrize( "crd_ingress_controller, v_s_route_setup", [ diff --git a/tests/suite/test_v_s_route_error_pages.py b/tests/suite/test_v_s_route_error_pages.py index cf5d28d132..14b4d1947b 100644 --- a/tests/suite/test_v_s_route_error_pages.py +++ b/tests/suite/test_v_s_route_error_pages.py @@ -14,6 +14,7 @@ @pytest.mark.vsr +@pytest.mark.vsr_error_pages @pytest.mark.parametrize( "crd_ingress_controller, v_s_route_setup", [ diff --git a/tests/suite/test_v_s_route_externalname.py b/tests/suite/test_v_s_route_externalname.py index 305d853501..a363e17d5b 100644 --- a/tests/suite/test_v_s_route_externalname.py +++ b/tests/suite/test_v_s_route_externalname.py @@ -129,6 +129,7 @@ def fin(): @pytest.mark.vsr +@pytest.mark.vsr_external_name @pytest.mark.skip_for_nginx_oss @pytest.mark.parametrize( "crd_ingress_controller, vsr_externalname_setup", diff --git a/tests/suite/test_v_s_route_focused_canary.py b/tests/suite/test_v_s_route_focused_canary.py index 5da845b4cd..f4ff31eec6 100644 --- a/tests/suite/test_v_s_route_focused_canary.py +++ b/tests/suite/test_v_s_route_focused_canary.py @@ -116,6 +116,7 @@ def fin(): @pytest.mark.flaky(max_runs=3) @pytest.mark.vsr +@pytest.mark.vsr_canary @pytest.mark.parametrize( "crd_ingress_controller, vsr_canary_setup", [ diff --git a/tests/suite/test_v_s_route_grpc.py b/tests/suite/test_v_s_route_grpc.py index 4a864d8305..247de0e17b 100644 --- a/tests/suite/test_v_s_route_grpc.py +++ b/tests/suite/test_v_s_route_grpc.py @@ -68,6 +68,7 @@ def fin(): @pytest.mark.vsr +@pytest.mark.vsr_grpc @pytest.mark.smoke @pytest.mark.parametrize( "crd_ingress_controller, v_s_route_setup", diff --git a/tests/suite/test_v_s_route_redirects.py b/tests/suite/test_v_s_route_redirects.py index 5ca73c6b80..f05f496065 100644 --- a/tests/suite/test_v_s_route_redirects.py +++ b/tests/suite/test_v_s_route_redirects.py @@ -13,6 +13,7 @@ @pytest.mark.vsr +@pytest.mark.vsr_redirects @pytest.mark.parametrize( "crd_ingress_controller, v_s_route_setup", [ diff --git a/tests/suite/test_v_s_route_regexp_location.py b/tests/suite/test_v_s_route_regexp_location.py index f867fb12c1..aad6535b37 100644 --- a/tests/suite/test_v_s_route_regexp_location.py +++ b/tests/suite/test_v_s_route_regexp_location.py @@ -21,6 +21,7 @@ @pytest.mark.vsr +@pytest.mark.vsr_regexes @pytest.mark.parametrize( "crd_ingress_controller, v_s_route_setup", [ @@ -214,6 +215,7 @@ def vsr_regexp_setup( @pytest.mark.vsr +@pytest.mark.vsr_regexes @pytest.mark.parametrize( "crd_ingress_controller, vsr_regexp_setup", [ diff --git a/tests/suite/test_v_s_route_split_traffic.py b/tests/suite/test_v_s_route_split_traffic.py index 0d6b6a14f0..9c39afcdfd 100644 --- a/tests/suite/test_v_s_route_split_traffic.py +++ b/tests/suite/test_v_s_route_split_traffic.py @@ -40,6 +40,7 @@ def get_upstreams_of_splitting(file) -> []: @pytest.mark.vsr +@pytest.mark.vsr_splits @pytest.mark.parametrize( "crd_ingress_controller, v_s_route_setup", [ diff --git a/tests/suite/test_v_s_route_status.py b/tests/suite/test_v_s_route_status.py index e762899368..e917e547b4 100644 --- a/tests/suite/test_v_s_route_status.py +++ b/tests/suite/test_v_s_route_status.py @@ -11,6 +11,7 @@ @pytest.mark.vsr +@pytest.mark.vsr_status @pytest.mark.parametrize( "crd_ingress_controller, v_s_route_setup", [ diff --git a/tests/suite/test_v_s_route_upstream_options.py b/tests/suite/test_v_s_route_upstream_options.py index 88bf20b200..c922a16122 100644 --- a/tests/suite/test_v_s_route_upstream_options.py +++ b/tests/suite/test_v_s_route_upstream_options.py @@ -26,6 +26,7 @@ indirect=True, ) @pytest.mark.vsr +@pytest.mark.vsr_upstream class TestVSRouteUpstreamOptions: def test_nginx_config_upstreams_defaults( self, kube_apis, ingress_controller_prerequisites, crd_ingress_controller, v_s_route_setup, v_s_route_app_setup @@ -393,6 +394,7 @@ def test_v_s_r_overrides_config_map( @pytest.mark.vsr +@pytest.mark.vsr_upstream @pytest.mark.parametrize( "crd_ingress_controller, v_s_route_setup", [ @@ -544,6 +546,7 @@ def test_openapi_validation_flow( @pytest.mark.vsr +@pytest.mark.vsr_upstream @pytest.mark.skip_for_nginx_oss @pytest.mark.parametrize( "crd_ingress_controller, v_s_route_setup", diff --git a/tests/suite/test_v_s_route_upstream_tls.py b/tests/suite/test_v_s_route_upstream_tls.py index a368c419f7..8b39efc0de 100644 --- a/tests/suite/test_v_s_route_upstream_tls.py +++ b/tests/suite/test_v_s_route_upstream_tls.py @@ -60,6 +60,7 @@ def fin(): @pytest.mark.vsr +@pytest.mark.vsr_upstream @pytest.mark.parametrize( "crd_ingress_controller, v_s_route_setup", [ diff --git a/tests/suite/test_v_s_route_weight_changes_dynamic_reload.py b/tests/suite/test_v_s_route_weight_changes_dynamic_reload.py index 971ac7f2c7..c31efb0fc3 100644 --- a/tests/suite/test_v_s_route_weight_changes_dynamic_reload.py +++ b/tests/suite/test_v_s_route_weight_changes_dynamic_reload.py @@ -92,6 +92,7 @@ def fin(): @pytest.mark.vsr +@pytest.mark.vsr_splits @pytest.mark.smok @pytest.mark.skip_for_nginx_oss @pytest.mark.parametrize( diff --git a/tests/suite/test_v_s_route_weight_changes_dynamic_reload_many_splits.py b/tests/suite/test_v_s_route_weight_changes_dynamic_reload_many_splits.py index 620d7d305d..a0fd285570 100644 --- a/tests/suite/test_v_s_route_weight_changes_dynamic_reload_many_splits.py +++ b/tests/suite/test_v_s_route_weight_changes_dynamic_reload_many_splits.py @@ -114,6 +114,7 @@ def fin(): @pytest.mark.vsr +@pytest.mark.vsr_splits @pytest.mark.smok @pytest.mark.skip_for_nginx_oss @pytest.mark.parametrize( diff --git a/tests/suite/test_watch_secret_namespace.py b/tests/suite/test_watch_secret_namespace.py index 86d21998f6..479f0cfa70 100644 --- a/tests/suite/test_watch_secret_namespace.py +++ b/tests/suite/test_watch_secret_namespace.py @@ -8,6 +8,7 @@ @pytest.mark.vsr +@pytest.mark.vsr_secrets @pytest.mark.parametrize( "crd_ingress_controller, v_s_route_setup", [ @@ -62,6 +63,7 @@ def test_responses( @pytest.mark.vsr +@pytest.mark.vsr_secrets @pytest.mark.parametrize( "crd_ingress_controller, v_s_route_setup", [