Executing tests against SMCP version v2.3 WARNING: Using insecure TLS client config. Setting this option is not supported! Login successful. You have access to 112 projects, the list has been suppressed. You can list all projects with 'oc projects' Using project "default". Resetting cluster by deleting namespaces used in the test suite namespace "foo" deleted namespace "bar" deleted namespace "legacy" deleted namespace "mesh-external" deleted Output dir: /home/jenkins/workspace/maistra/maistra-test-tool/maistra-test-tool/tests/result-20230913150715/v2.3 ====== Executing tests in group 'full' against SMCP v2.3 go: downloading gopkg.in/yaml.v2 v2.4.0 go: downloading github.com/pmezard/go-difflib v1.0.0 go: downloading golang.org/x/net v0.7.0 go: downloading github.com/sirupsen/logrus v1.8.1 go: downloading github.com/prometheus/common v0.42.0 go: downloading github.com/prometheus/client_model v0.3.0 go: downloading github.com/golang/protobuf v1.5.2 go: downloading golang.org/x/sys v0.5.0 go: downloading github.com/matttproud/golang_protobuf_extensions v1.0.4 go: downloading google.golang.org/protobuf v1.28.1 test_helper_setup.go:64: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === RUN TestSMCPMultiple bug_multiple_smcp_test.go:18: This test verifies whether the operator only reconciles one SMCP when two exist in a namespace bug_multiple_smcp_test.go:19: See https://issues.redhat.com/browse/OSSM-2189 bug_multiple_smcp_test.go:41: bug_multiple_smcp_test.go:41: STEP 1: Delete and recreate namespace istio-system bug_multiple_smcp_test.go:42: Deleting namespaces: [istio-system] bug_multiple_smcp_test.go:42: Creating namespaces: [istio-system] bug_multiple_smcp_test.go:44: bug_multiple_smcp_test.go:44: STEP 2: Delete the operator's ValidationWebhookConfiguration bug_multiple_smcp_test.go:47: bug_multiple_smcp_test.go:47: STEP 3: Create the first SMCP bug_multiple_smcp_test.go:50: bug_multiple_smcp_test.go:50: STEP 4: Check whether the first SMCP gets reconciled and becomes ready bug_multiple_smcp_test.go:51: Wait for condition condition=Ready on smcp istio-system/smcp1... bug_multiple_smcp_test.go:51: Wait for condition condition=Ready on smcp istio-system/smcp1... bug_multiple_smcp_test.go:51: SUCCESS: Condition condition=Ready met by smcp istio-system/smcp1 bug_multiple_smcp_test.go:52: SUCCESS: First SMCP is ready bug_multiple_smcp_test.go:54: bug_multiple_smcp_test.go:54: STEP 5: Create the second SMCP bug_multiple_smcp_test.go:57: bug_multiple_smcp_test.go:57: STEP 6: Check whether the second SMCP shows ErrMultipleSMCPs bug_multiple_smcp_test.go:58: SUCCESS: The second SMCP status is ErrMultipleSMCPs test.go:77: test.go:84: Test completed in 34.04s (excluding cleanup) bug_multiple_smcp_test.go:24: bug_multiple_smcp_test.go:24: Performing cleanup bug_multiple_smcp_test.go:25: bug_multiple_smcp_test.go:25: STEP 7: Delete namespace istio-system bug_multiple_smcp_test.go:26: Deleting namespaces: [istio-system] bug_multiple_smcp_test.go:26: Creating namespaces: [istio-system] bug_multiple_smcp_test.go:28: bug_multiple_smcp_test.go:28: STEP 8: Delete operator to recreate the ValidationWebhookConfiguration bug_multiple_smcp_test.go:29: SUCCESS: Pod istio-operator-677f47ff94-mdbvh is being deleted bug_multiple_smcp_test.go:31: bug_multiple_smcp_test.go:31: STEP 9: Wait for operator pod to be ready bug_multiple_smcp_test.go:32: Pod istio-operator-677f47ff94-gthqs in namespace openshift-operators is ready! bug_multiple_smcp_test.go:34: bug_multiple_smcp_test.go:34: STEP 10: Check whether ValidatingWebhookConfiguration exists bug_multiple_smcp_test.go:35: SUCCESS: ValidatingWebhookConfiguration was recreated by the operator bug_multiple_smcp_test.go:24: Cleanup completed in 55.33s --- PASS: TestSMCPMultiple (89.37s) PASS ok github.com/maistra/maistra-test-tool/pkg/tests/non-dependant 91.193s test_helper_setup.go:64: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === RUN TestIstiodPodFailsAfterRestarts bug_istiopods_test.go:38: bug_istiopods_test.go:38: STEP 1: Apply default SMCP and SMMR manifests bug_istiopods_test.go:38: Wait for condition condition=Ready on smcp istio-system/basic... bug_istiopods_test.go:38: Wait for condition condition=Ready on smcp istio-system/basic... bug_istiopods_test.go:38: SUCCESS: Condition condition=Ready met by smcp istio-system/basic bug_istiopods_test.go:40: bug_istiopods_test.go:40: STEP 2: Create Namespaces and SMMR bug_istiopods_test.go:41: Creating namespaces: [test-0 test-1 test-2 test-3 test-4 test-5 test-6 test-7 test-8 test-9 test-10 test-11 test-12 test-13 test-14 test-15 test-16 test-17 test-18 test-19 test-20 test-21 test-22 test-23 test-24 test-25 test-26 test-27 test-28 test-29 test-30 test-31 test-32 test-33 test-34 test-35 test-36 test-37 test-38 test-39 test-40 test-41 test-42 test-43 test-44 test-45 test-46 test-47 test-48 test-49] bug_istiopods_test.go:44: bug_istiopods_test.go:44: STEP 3: Delete Istio pod 10 times and check that it is running and ready after the deletions bug_istiopods_test.go:47: SUCCESS: Pod istiod-basic-5cbcdff9b-9d6m5 is being deleted bug_istiopods_test.go:48: Pod istio-system/istiod-basic-5cbcdff9b-kh79m is running! bug_istiopods_test.go:49: Pod istiod-basic-5cbcdff9b-kh79m in namespace istio-system is ready! bug_istiopods_test.go:47: SUCCESS: Pod istiod-basic-5cbcdff9b-kh79m is being deleted bug_istiopods_test.go:48: Pod istio-system/istiod-basic-5cbcdff9b-jwfj6 is running! bug_istiopods_test.go:49: Pod istiod-basic-5cbcdff9b-jwfj6 in namespace istio-system is ready! bug_istiopods_test.go:47: SUCCESS: Pod istiod-basic-5cbcdff9b-jwfj6 is being deleted bug_istiopods_test.go:48: Pod istio-system/istiod-basic-5cbcdff9b-xmpkg is running! bug_istiopods_test.go:49: Pod istiod-basic-5cbcdff9b-xmpkg in namespace istio-system is ready! bug_istiopods_test.go:47: SUCCESS: Pod istiod-basic-5cbcdff9b-xmpkg is being deleted bug_istiopods_test.go:48: Pod istio-system/istiod-basic-5cbcdff9b-fvhk5 is running! bug_istiopods_test.go:49: Pod istiod-basic-5cbcdff9b-fvhk5 in namespace istio-system is ready! bug_istiopods_test.go:47: SUCCESS: Pod istiod-basic-5cbcdff9b-fvhk5 is being deleted bug_istiopods_test.go:48: Pod istio-system/istiod-basic-5cbcdff9b-lmwvc is running! bug_istiopods_test.go:49: Pod istiod-basic-5cbcdff9b-lmwvc in namespace istio-system is ready! bug_istiopods_test.go:47: SUCCESS: Pod istiod-basic-5cbcdff9b-lmwvc is being deleted bug_istiopods_test.go:48: Pod istio-system/istiod-basic-5cbcdff9b-2pp7t is running! bug_istiopods_test.go:49: Pod istiod-basic-5cbcdff9b-2pp7t in namespace istio-system is ready! bug_istiopods_test.go:47: SUCCESS: Pod istiod-basic-5cbcdff9b-2pp7t is being deleted bug_istiopods_test.go:48: Pod istio-system/istiod-basic-5cbcdff9b-wvqmm is running! bug_istiopods_test.go:49: Pod istiod-basic-5cbcdff9b-wvqmm in namespace istio-system is ready! bug_istiopods_test.go:47: SUCCESS: Pod istiod-basic-5cbcdff9b-wvqmm is being deleted bug_istiopods_test.go:48: Pod istio-system/istiod-basic-5cbcdff9b-78rdt is running! bug_istiopods_test.go:49: Pod istiod-basic-5cbcdff9b-78rdt in namespace istio-system is ready! bug_istiopods_test.go:47: SUCCESS: Pod istiod-basic-5cbcdff9b-78rdt is being deleted bug_istiopods_test.go:48: Pod istio-system/istiod-basic-5cbcdff9b-tqhw7 is running! bug_istiopods_test.go:49: Pod istiod-basic-5cbcdff9b-tqhw7 in namespace istio-system is ready! bug_istiopods_test.go:47: SUCCESS: Pod istiod-basic-5cbcdff9b-tqhw7 is being deleted bug_istiopods_test.go:48: Pod istio-system/istiod-basic-5cbcdff9b-q87dg is running! bug_istiopods_test.go:49: Pod istiod-basic-5cbcdff9b-q87dg in namespace istio-system is ready! test.go:77: test.go:84: Test completed in 175.63s (excluding cleanup) bug_istiopods_test.go:33: bug_istiopods_test.go:33: Performing cleanup bug_istiopods_test.go:34: Deleting namespaces: [test-0 test-1 test-2 test-3 test-4 test-5 test-6 test-7 test-8 test-9 test-10 test-11 test-12 test-13 test-14 test-15 test-16 test-17 test-18 test-19 test-20 test-21 test-22 test-23 test-24 test-25 test-26 test-27 test-28 test-29 test-30 test-31 test-32 test-33 test-34 test-35 test-36 test-37 test-38 test-39 test-40 test-41 test-42 test-43 test-44 test-45 test-46 test-47 test-48 test-49] bug_istiopods_test.go:33: Cleanup completed in 57.67s --- PASS: TestIstiodPodFailsAfterRestarts (233.30s) === RUN TestDeployOnInfraNodes deploy_on_infra_test.go:37: This test verifies that the OSSM operator and Istio components can be configured to run on infrastructure nodes deploy_on_infra_test.go:63: deploy_on_infra_test.go:63: STEP 1: Setup: Get a worker node from the cluster that does not have the istio operator installed and label it as infra deploy_on_infra_test.go:65: Worker node selected: ppc64le-qe59c-w2tm2-worker-0-6gn6s === RUN TestDeployOnInfraNodes/operator deploy_on_infra_test.go:73: Verify OSSM Operator is deployed on infra node when configured deploy_on_infra_test.go:74: Reference: https://issues.redhat.com/browse/OSSM-2342 deploy_on_infra_test.go:76: deploy_on_infra_test.go:76: STEP 1: Patch subscription to run on infra nodes and wait for the operator pod to be ready deploy_on_infra_test.go:91: deploy_on_infra_test.go:91: STEP 2: Verify operator pod is running on the infra node. Node expected: ppc64le-qe59c-w2tm2-worker-0-6gn6s deploy_on_infra_test.go:94: Pod istio-operator-677f47ff94-gthqs in namespace openshift-operators is ready! deploy_on_infra_test.go:94: Pod istio-operator-677f47ff94-gthqs in namespace openshift-operators is ready! deploy_on_infra_test.go:94: Pod istio-operator-d5bc4476d-hkc7l in namespace openshift-operators is ready! deploy_on_infra_test.go:92: SUCCESS: Operator pod is running on the infra node subtest.go:25: subtest.go:32: Subtest completed in 29.63s (excluding cleanup) --- PASS: TestDeployOnInfraNodes/operator (29.63s) === RUN TestDeployOnInfraNodes/control_plane deploy_on_infra_test.go:106: Verify that all control plane pods are deployed on infra node when configured deploy_on_infra_test.go:111: deploy_on_infra_test.go:111: STEP 1: Apply default SMCP and SMMR manifests deploy_on_infra_test.go:111: Wait for condition condition=Ready on smcp istio-system/basic... deploy_on_infra_test.go:111: SUCCESS: Condition condition=Ready met by smcp istio-system/basic deploy_on_infra_test.go:113: deploy_on_infra_test.go:113: STEP 2: Deploy SMCP and patch to run all control plane components on infra nodes deploy_on_infra_test.go:130: SUCCESS: Condition condition=Ready met by smcp istio-system/basic deploy_on_infra_test.go:114: Wait for condition condition=Ready on smcp istio-system/basic... deploy_on_infra_test.go:114: Wait for condition condition=Ready on smcp istio-system/basic... deploy_on_infra_test.go:114: Wait for condition condition=Ready on smcp istio-system/basic... deploy_on_infra_test.go:114: Wait for condition condition=Ready on smcp istio-system/basic... deploy_on_infra_test.go:114: Wait for condition condition=Ready on smcp istio-system/basic... deploy_on_infra_test.go:133: deploy_on_infra_test.go:133: STEP 3: Verify that the following control plane pods are running on the infra node: istiod, istio-ingressgateway, istio-egressgateway, jaeger, grafana, prometheus deploy_on_infra_test.go:146: SUCCESS: istiod-basic-7d6b489df8-m9m54 is running on the infra node deploy_on_infra_test.go:146: SUCCESS: istio-ingressgateway-6fc65687ff-n6kmk is running on the infra node deploy_on_infra_test.go:146: SUCCESS: istio-egressgateway-67f649cf58-gxkp7 is running on the infra node deploy_on_infra_test.go:146: SUCCESS: grafana-5dddc7968d-cgv7h is running on the infra node deploy_on_infra_test.go:146: SUCCESS: prometheus-8457fc55cb-h4jbs is running on the infra node deploy_on_infra_test.go:146: SUCCESS: jaeger-69bf45448d-pvjsk is running on the infra node subtest.go:25: subtest.go:32: Subtest completed in 66.18s (excluding cleanup) deploy_on_infra_test.go:107: deploy_on_infra_test.go:107: Performing cleanup deploy_on_infra_test.go:108: Deleting namespaces: [istio-system] deploy_on_infra_test.go:108: Creating namespaces: [istio-system] deploy_on_infra_test.go:107: Cleanup completed in 38.20s --- PASS: TestDeployOnInfraNodes/control_plane (104.37s) test.go:77: test.go:84: Test completed in 137.60s (excluding cleanup) deploy_on_infra_test.go:50: deploy_on_infra_test.go:50: Performing cleanup deploy_on_infra_test.go:60: Pod istio-operator-677f47ff94-wdw5g in namespace openshift-operators is ready! deploy_on_infra_test.go:50: Cleanup completed in 24.35s --- PASS: TestDeployOnInfraNodes (161.95s) === RUN TestDiscoverySelectors discovery_selectors_test.go:34: This test checks if discoverySelectors are being honored discovery_selectors_test.go:35: See https://issues.redhat.com/browse/OSSM-3802 discovery_selectors_test.go:36: Test case is based on https://istio.io/latest/blog/2021/discovery-selectors/ discovery_selectors_test.go:38: Skipped because spec.meshConfig.discoverySelectors is only available in v2.4+ test.go:77: test.go:84: Test completed in 0.00s (excluding cleanup) --- SKIP: TestDiscoverySelectors (0.00s) === RUN TestInitContainerNotRemovedDuringInjection initcontainer_test.go:32: Checking init container not removed during sidecar injection. initcontainer_test.go:38: initcontainer_test.go:38: STEP 1: Apply default SMCP and SMMR manifests initcontainer_test.go:38: Wait for condition condition=Ready on smcp istio-system/basic... initcontainer_test.go:38: Wait for condition condition=Ready on smcp istio-system/basic... initcontainer_test.go:38: SUCCESS: Condition condition=Ready met by smcp istio-system/basic initcontainer_test.go:40: Deleting namespaces: [bookinfo] initcontainer_test.go:40: Creating namespaces: [bookinfo] initcontainer_test.go:42: initcontainer_test.go:42: STEP 2: Deploying test pod. initcontainer_test.go:46: initcontainer_test.go:46: STEP 3: Checking pod logs for init message. initcontainer_test.go:47: SUCCESS: Init container executed successfully. test.go:77: test.go:84: Test completed in 51.57s (excluding cleanup) initcontainer_test.go:34: initcontainer_test.go:34: Performing cleanup initcontainer_test.go:35: Deleting namespaces: [bookinfo] initcontainer_test.go:35: Creating namespaces: [bookinfo] initcontainer_test.go:34: Cleanup completed in 15.78s --- PASS: TestInitContainerNotRemovedDuringInjection (67.35s) === RUN TestIOR ior_test.go:41: This test verifies the behavior of IOR. ior_test.go:78: ior_test.go:78: STEP 1: Apply default SMCP and SMMR manifests ior_test.go:78: Wait for condition condition=Ready on smcp istio-system/basic... ior_test.go:78: SUCCESS: Condition condition=Ready met by smcp istio-system/basic === RUN TestIOR/check_IOR_off_by_default_v2.5 ior_test.go:82: Skipping until 2.5 subtest.go:25: subtest.go:32: Subtest completed in 0.00s (excluding cleanup) --- SKIP: TestIOR/check_IOR_off_by_default_v2.5 (0.00s) === RUN TestIOR/check_IOR_basic_functionalities ior_test.go:104: ior_test.go:104: STEP 1: Ensure the IOR enabled ior_test.go:109: ior_test.go:109: STEP 2: Check whether the IOR creates Routes for hosts specified in the Gateway ior_test.go:53: Creating Gateway for www.test.ocp host ior_test.go:63: Checking whether a Route is generated for www.test.ocp ior_test.go:73: SUCCESS: Got an expected Route for www.test.ocp subtest.go:25: subtest.go:32: Subtest completed in 2.27s (excluding cleanup) ior_test.go:97: ior_test.go:97: Performing cleanup ior_test.go:58: Deleting Gateway for www.test.ocp host ior_test.go:97: Cleanup completed in 0.40s --- PASS: TestIOR/check_IOR_basic_functionalities (2.66s) === RUN TestIOR/check_routes_aren't_deleted_during_v2.3_to_v2.4_upgrade ior_test.go:116: This test only applies for v2.3 to v2.4 upgrade subtest.go:25: subtest.go:32: Subtest completed in 0.00s (excluding cleanup) --- SKIP: TestIOR/check_routes_aren't_deleted_during_v2.3_to_v2.4_upgrade (0.00s) === RUN TestIOR/check_IOR_does_not_delete_routes_after_deleting_Istio_pod ior_test.go:167: ior_test.go:167: STEP 1: Ensure the IOR enabled ior_test.go:172: ior_test.go:172: STEP 2: Create 3 Gateways and they are in their own Namespace ior_test.go:182: Creating namespaces: [ns-0 ns-1 ns-2] ior_test.go:185: ior_test.go:185: STEP 3: Update SMMR to include 3 Namespaces ior_test.go:215: SUCCESS: Found all 3 Routes ior_test.go:230: ior_test.go:230: STEP 4: Check whether the Routes changes when the istio pod restarts multiple times ior_test.go:231: Restart pod 10 times to make sure the Routes are not changed ior_test.go:235: SUCCESS: Pod istiod-basic-5cbcdff9b-m846k is being deleted ior_test.go:236: Pod istiod-basic-5cbcdff9b-nndsp in namespace istio-system is ready! ior_test.go:235: SUCCESS: Pod istiod-basic-5cbcdff9b-nndsp is being deleted ior_test.go:236: Pod istiod-basic-5cbcdff9b-jhc8g in namespace istio-system is ready! ior_test.go:235: SUCCESS: Pod istiod-basic-5cbcdff9b-jhc8g is being deleted ior_test.go:236: Pod istiod-basic-5cbcdff9b-22rkx in namespace istio-system is ready! ior_test.go:235: SUCCESS: Pod istiod-basic-5cbcdff9b-22rkx is being deleted ior_test.go:236: Pod istiod-basic-5cbcdff9b-k76dr in namespace istio-system is ready! ior_test.go:235: SUCCESS: Pod istiod-basic-5cbcdff9b-k76dr is being deleted ior_test.go:236: Pod istiod-basic-5cbcdff9b-425fx in namespace istio-system is ready! ior_test.go:235: SUCCESS: Pod istiod-basic-5cbcdff9b-425fx is being deleted ior_test.go:236: Pod istiod-basic-5cbcdff9b-cdxm8 in namespace istio-system is ready! ior_test.go:235: SUCCESS: Pod istiod-basic-5cbcdff9b-cdxm8 is being deleted ior_test.go:236: Pod istiod-basic-5cbcdff9b-d7jmv in namespace istio-system is ready! ior_test.go:235: SUCCESS: Pod istiod-basic-5cbcdff9b-d7jmv is being deleted ior_test.go:236: Pod istiod-basic-5cbcdff9b-st99r in namespace istio-system is ready! ior_test.go:235: SUCCESS: Pod istiod-basic-5cbcdff9b-st99r is being deleted ior_test.go:236: Pod istiod-basic-5cbcdff9b-h25qd in namespace istio-system is ready! ior_test.go:235: SUCCESS: Pod istiod-basic-5cbcdff9b-h25qd is being deleted ior_test.go:236: Pod istiod-basic-5cbcdff9b-9dqbk in namespace istio-system is ready! ior_test.go:238: Wait for condition condition=Ready on smcp istio-system/basic... ior_test.go:238: SUCCESS: Condition condition=Ready met by smcp istio-system/basic ior_test.go:227: SUCCESS: Got 3 Routes unchanged ior_test.go:241: ior_test.go:241: STEP 5: Check weather the Routes changes when adding new IngressGateway ior_test.go:262: Wait for condition condition=Ready on smcp istio-system/basic... ior_test.go:262: Wait for condition condition=Ready on smcp istio-system/basic... ior_test.go:262: SUCCESS: Condition condition=Ready met by smcp istio-system/basic ior_test.go:227: SUCCESS: Got 3 Routes unchanged subtest.go:25: subtest.go:32: Subtest completed in 89.50s (excluding cleanup) ior_test.go:157: ior_test.go:157: Performing cleanup ior_test.go:162: Deleting namespaces: [ns-0 ns-1 ns-2] ior_test.go:157: Cleanup completed in 16.52s --- PASS: TestIOR/check_IOR_does_not_delete_routes_after_deleting_Istio_pod (106.02s) test.go:77: test.go:84: Test completed in 120.63s (excluding cleanup) ior_test.go:46: ior_test.go:46: Performing cleanup ior_test.go:47: Deleting namespaces: [istio-system] ior_test.go:47: Creating namespaces: [istio-system] ior_test.go:46: Cleanup completed in 99.87s --- PASS: TestIOR (220.50s) === RUN TestOperatorCanUpdatePrometheusConfigMap prometheus_scoped_scraping_test.go:28: This test checks if the operator can update Prometheus ConfigMap when the SMMR is updated prometheus_scoped_scraping_test.go:31: Test only valid in SMCP versions v2.4+ test.go:77: test.go:84: Test completed in 0.00s (excluding cleanup) --- SKIP: TestOperatorCanUpdatePrometheusConfigMap (0.00s) === RUN TestRateLimiting test.go:122: This test is being skipped because it doesn't support the current SMCP version v2.3 (max version is v2.2) --- SKIP: TestRateLimiting (0.00s) === RUN TestSMCPAddons === RUN TestSMCPAddons/3scale_addon smcp_addons_test.go:31: smcp_addons_test.go:31: STEP 1: Enable 3scale in a SMCP expecting to get validation error. smcp_addons_test.go:36: smcp_addons_test.go:36: STEP 2: Apply default SMCP and SMMR manifests smcp_addons_test.go:36: Wait for condition condition=Ready on smcp istio-system/basic... smcp_addons_test.go:36: Wait for condition condition=Ready on smcp istio-system/basic... smcp_addons_test.go:36: Wait for condition condition=Ready on smcp istio-system/basic... smcp_addons_test.go:36: SUCCESS: Condition condition=Ready met by smcp istio-system/basic smcp_addons_test.go:38: SUCCESS: Got expected validation error: support for 3scale has been removed smcp_addons_test.go:43: Wait for condition condition=Ready on smcp istio-system/basic... smcp_addons_test.go:43: SUCCESS: Condition condition=Ready met by smcp istio-system/basic subtest.go:25: subtest.go:32: Subtest completed in 27.23s (excluding cleanup) smcp_addons_test.go:32: smcp_addons_test.go:32: Performing cleanup smcp_addons_test.go:32: Cleanup completed in 0.39s --- PASS: TestSMCPAddons/3scale_addon (27.62s) test.go:77: test.go:84: Test completed in 27.62s (excluding cleanup) --- PASS: TestSMCPAddons (27.62s) === RUN TestSMCPAnnotations smcp_annotation_test.go:31: Test annotations: verify deployment with sidecar.maistra.io/proxyEnv annotations and Enable automatic injection in SMCP to propagate the annotations to the sidecar smcp_annotation_test.go:33: smcp_annotation_test.go:33: STEP 1: Apply default SMCP and SMMR manifests smcp_annotation_test.go:33: Wait for condition condition=Ready on smcp istio-system/basic... smcp_annotation_test.go:33: SUCCESS: Condition condition=Ready met by smcp istio-system/basic === RUN TestSMCPAnnotations/proxyEnvoy === PAUSE TestSMCPAnnotations/proxyEnvoy === RUN TestSMCPAnnotations/quote_injection === PAUSE TestSMCPAnnotations/quote_injection test.go:77: test.go:84: Test completed in 11.81s (excluding cleanup) === CONT TestSMCPAnnotations/proxyEnvoy === CONT TestSMCPAnnotations/quote_injection smcp_annotation_test.go:41: smcp_annotation_test.go:41: STEP 1: Deploy TestSSL pod with annotations sidecar.maistra.io/proxyEnv smcp_annotation_test.go:58: smcp_annotation_test.go:58: STEP 1: Enable annotation auto injection in SMCP smcp_annotation_test.go:64: Wait for condition condition=Ready on smcp istio-system/basic... smcp_annotation_test.go:64: Wait for condition condition=Ready on smcp istio-system/basic... smcp_annotation_test.go:64: SUCCESS: Condition condition=Ready met by smcp istio-system/basic smcp_annotation_test.go:66: smcp_annotation_test.go:66: STEP 2: Deploy TestSSL pod with annotations sidecar.maistra.io/proxyEnv smcp_annotation_test.go:45: smcp_annotation_test.go:45: STEP 2: Get annotations and verify that the pod has the expected: sidecar.maistra.io/proxyEnv : { "maistra_test_env": "env_value", "maistra_test_env_2": "env_value_2" } subtest.go:25: subtest.go:32: Subtest completed in 22.27s (excluding cleanup) smcp_annotation_test.go:38: smcp_annotation_test.go:38: Performing cleanup smcp_annotation_test.go:38: Cleanup completed in 0.34s --- PASS: TestSMCPAnnotations/proxyEnvoy (22.61s) smcp_annotation_test.go:70: smcp_annotation_test.go:70: STEP 3: Get annotations and verify that the pod has the expected: test1.annotation-from-smcp : test1, test2.annotation-from-smcp : ["test2"], test3.annotation-from-smcp : {test3} subtest.go:25: subtest.go:32: Subtest completed in 24.78s (excluding cleanup) smcp_annotation_test.go:54: smcp_annotation_test.go:54: Performing cleanup smcp_annotation_test.go:54: Cleanup completed in 0.89s --- PASS: TestSMCPAnnotations/quote_injection (25.67s) --- PASS: TestSMCPAnnotations (11.81s) === RUN TestMustGather smcp_must_gather_test.go:36: This test verifies must-gather log collection smcp_must_gather_test.go:43: smcp_must_gather_test.go:43: STEP 1: Apply default SMCP and SMMR manifests smcp_must_gather_test.go:43: Wait for condition condition=Ready on smcp istio-system/basic... smcp_must_gather_test.go:43: Wait for condition condition=Ready on smcp istio-system/basic... smcp_must_gather_test.go:43: SUCCESS: Condition condition=Ready met by smcp istio-system/basic smcp_must_gather_test.go:45: smcp_must_gather_test.go:45: STEP 2: Deploy bookinfo in bookinfo ns smcp_must_gather_test.go:46: Install app "bookinfo" in namespace "bookinfo" smcp_must_gather_test.go:46: Create Bookinfo Gateway smcp_must_gather_test.go:46: Create Bookinfo Destination Rules (all) smcp_must_gather_test.go:46: Create Bookinfo Deployments smcp_must_gather_test.go:46: Wait for app bookinfo/bookinfo to be ready smcp_must_gather_test.go:51: smcp_must_gather_test.go:51: STEP 3: Capture must-gather using image registry.redhat.io/openshift-service-mesh/istio-must-gather-rhel8:2.4 without namespace flag smcp_must_gather_test.go:52: SUCCESS: Must gather completed successfully === RUN TestMustGather/dump_files_and_proxy_stats_files_exist_for_pods smcp_must_gather_test.go:60: smcp_must_gather_test.go:60: STEP 1: Check dump files exist under the directory of namespace directory smcp_must_gather_test.go:61: Verify these files: smcp_must_gather_test.go:62: config_dump_istiod.json, config_dump_proxy.json, proxy_stats smcp_must_gather_test.go:153: SUCCESS: /tmp/must-gather-1600271057/**/namespaces/bookinfo/pods/details*/config_dump_istiod.json exists smcp_must_gather_test.go:153: SUCCESS: /tmp/must-gather-1600271057/**/namespaces/bookinfo/pods/details*/config_dump_proxy.json exists smcp_must_gather_test.go:153: SUCCESS: /tmp/must-gather-1600271057/**/namespaces/bookinfo/pods/details*/proxy_stats exists smcp_must_gather_test.go:68: smcp_must_gather_test.go:68: STEP 2: verify content of proxy_stats smcp_must_gather_test.go:69: verify that proxy stats file is not empty and contains parameters like: server.stats_recent_lookups, server.total_connections, server.uptime, server.version smcp_must_gather_test.go:176: SUCCESS: server.stats_recent_lookups is on the proxy_stats file smcp_must_gather_test.go:176: SUCCESS: server.total_connections is on the proxy_stats file smcp_must_gather_test.go:176: SUCCESS: server.uptime is on the proxy_stats file smcp_must_gather_test.go:176: SUCCESS: server.version is on the proxy_stats file subtest.go:25: subtest.go:32: Subtest completed in 0.12s (excluding cleanup) --- PASS: TestMustGather/dump_files_and_proxy_stats_files_exist_for_pods (0.12s) === RUN TestMustGather/version_file smcp_must_gather_test.go:83: smcp_must_gather_test.go:83: STEP 1: verify file version exists smcp_must_gather_test.go:153: SUCCESS: /tmp/must-gather-1600271057/**/version exists smcp_must_gather_test.go:87: smcp_must_gather_test.go:87: STEP 2: verify file version contains the version of the must-gather image smcp_must_gather_test.go:176: SUCCESS: Expected must gather version was found subtest.go:25: subtest.go:32: Subtest completed in 0.01s (excluding cleanup) --- PASS: TestMustGather/version_file (0.01s) === RUN TestMustGather/resources_cluster_scoped smcp_must_gather_test.go:98: smcp_must_gather_test.go:98: STEP 1: Get nodes of the cluster smcp_must_gather_test.go:102: smcp_must_gather_test.go:102: STEP 2: verify nodes files exist in cluster-scoped-resources smcp_must_gather_test.go:153: SUCCESS: /tmp/must-gather-1600271057/**/cluster-scoped-resources/core/nodes/ppc64le-qe59c-w2tm2-master-0.yaml exists smcp_must_gather_test.go:153: SUCCESS: /tmp/must-gather-1600271057/**/cluster-scoped-resources/core/nodes/ppc64le-qe59c-w2tm2-master-1.yaml exists smcp_must_gather_test.go:153: SUCCESS: /tmp/must-gather-1600271057/**/cluster-scoped-resources/core/nodes/ppc64le-qe59c-w2tm2-master-2.yaml exists smcp_must_gather_test.go:153: SUCCESS: /tmp/must-gather-1600271057/**/cluster-scoped-resources/core/nodes/ppc64le-qe59c-w2tm2-worker-0-465fr.yaml exists smcp_must_gather_test.go:153: SUCCESS: /tmp/must-gather-1600271057/**/cluster-scoped-resources/core/nodes/ppc64le-qe59c-w2tm2-worker-0-6gn6s.yaml exists smcp_must_gather_test.go:153: SUCCESS: /tmp/must-gather-1600271057/**/cluster-scoped-resources/core/nodes/ppc64le-qe59c-w2tm2-worker-0-ggxls.yaml exists smcp_must_gather_test.go:111: smcp_must_gather_test.go:111: STEP 3: Verify cluster-scoped-resources files exist in cluster-scoped-resources folder smcp_must_gather_test.go:153: SUCCESS: /tmp/must-gather-1600271057/**/cluster-scoped-resources/rbac.authorization.k8s.io/clusterrolebindings/istiod-internal-basic-istio-system.yaml exists smcp_must_gather_test.go:153: SUCCESS: /tmp/must-gather-1600271057/**/cluster-scoped-resources/admissionregistration.k8s.io/mutatingwebhookconfigurations/openshift-operators.servicemesh-resources.maistra.io.yaml exists smcp_must_gather_test.go:153: SUCCESS: /tmp/must-gather-1600271057/**/cluster-scoped-resources/rbac.authorization.k8s.io/clusterroles/istiod-clusterrole-basic-istio-system.yaml exists subtest.go:25: subtest.go:32: Subtest completed in 0.50s (excluding cleanup) --- PASS: TestMustGather/resources_cluster_scoped (0.50s) === RUN TestMustGather/resource_for_namespaces_exist smcp_must_gather_test.go:120: smcp_must_gather_test.go:120: STEP 1: verify that resources for namespaces are created including bookinfo and istio-system folders smcp_must_gather_test.go:153: SUCCESS: /tmp/must-gather-1600271057/**/namespaces/istio-system/debug-syncz.json exists smcp_must_gather_test.go:153: SUCCESS: /tmp/must-gather-1600271057/**/namespaces/istio-system/istio-system.yaml exists smcp_must_gather_test.go:153: SUCCESS: /tmp/must-gather-1600271057/**/namespaces/bookinfo/bookinfo.yaml exists smcp_must_gather_test.go:153: SUCCESS: /tmp/must-gather-1600271057/**/namespaces/openshift-operators/openshift-operators.yaml exists smcp_must_gather_test.go:153: SUCCESS: /tmp/must-gather-1600271057/**/namespaces/*/rbac.authorization.k8s.io/rolebindings/mesh-users.yaml exists subtest.go:25: subtest.go:32: Subtest completed in 0.07s (excluding cleanup) --- PASS: TestMustGather/resource_for_namespaces_exist (0.07s) === RUN TestMustGather/cluster_service_version_files_validation smcp_must_gather_test.go:131: smcp_must_gather_test.go:131: STEP 1: Get service current service version from the cluster smcp_must_gather_test.go:134: smcp_must_gather_test.go:134: STEP 2: verify if the csv files exist for the current service version smcp_must_gather_test.go:153: SUCCESS: /tmp/must-gather-1600271057/**/namespaces/openshift-operators/operators.coreos.com/clusterserviceversions/elasticsearch-operator.v5.6.5.yaml exists smcp_must_gather_test.go:153: SUCCESS: /tmp/must-gather-1600271057/**/namespaces/openshift-operators/operators.coreos.com/clusterserviceversions/jaeger-operator.v1.47.0-2.yaml exists smcp_must_gather_test.go:153: SUCCESS: /tmp/must-gather-1600271057/**/namespaces/openshift-operators/operators.coreos.com/clusterserviceversions/kiali-operator.v1.65.8.yaml exists smcp_must_gather_test.go:153: SUCCESS: /tmp/must-gather-1600271057/**/namespaces/openshift-operators/operators.coreos.com/clusterserviceversions/servicemeshoperator.v2.4.3.yaml exists subtest.go:25: subtest.go:32: Subtest completed in 0.52s (excluding cleanup) --- PASS: TestMustGather/cluster_service_version_files_validation (0.52s) test.go:77: test.go:84: Test completed in 138.22s (excluding cleanup) smcp_must_gather_test.go:39: smcp_must_gather_test.go:39: Performing cleanup smcp_must_gather_test.go:40: Deleting namespaces: [bookinfo] smcp_must_gather_test.go:40: Creating namespaces: [bookinfo] smcp_must_gather_test.go:39: Cleanup completed in 17.39s --- PASS: TestMustGather (155.61s) === RUN TestTLSVersionSMCP smcp_tls_ssl_test.go:25: This test checks if the SMCP updated the tls.minProtocolVersion to TLSv1_0, TLSv1_1, and tls.maxProtocolVersion to TLSv1_3. smcp_tls_ssl_test.go:34: smcp_tls_ssl_test.go:34: STEP 1: Apply default SMCP and SMMR manifests smcp_tls_ssl_test.go:34: Wait for condition condition=Ready on smcp istio-system/basic... smcp_tls_ssl_test.go:34: SUCCESS: Condition condition=Ready met by smcp istio-system/basic === RUN TestTLSVersionSMCP/minVersion_TLSv1_0 smcp_tls_ssl_test.go:37: smcp_tls_ssl_test.go:37: STEP 1: Update SMCP spec.security.controlPlane.tls.minProtocolVersion: TLSv1_0 smcp_tls_ssl_test.go:39: Wait for condition condition=Ready on smcp istio-system/basic... smcp_tls_ssl_test.go:39: Wait for condition condition=Ready on smcp istio-system/basic... smcp_tls_ssl_test.go:39: SUCCESS: Condition condition=Ready met by smcp istio-system/basic subtest.go:25: subtest.go:32: Subtest completed in 13.48s (excluding cleanup) --- PASS: TestTLSVersionSMCP/minVersion_TLSv1_0 (13.48s) === RUN TestTLSVersionSMCP/minVersion_TLSv1_1 smcp_tls_ssl_test.go:43: smcp_tls_ssl_test.go:43: STEP 1: Check to see if the SMCP minProtocolVersion is TLSv1_1 smcp_tls_ssl_test.go:45: Wait for condition condition=Ready on smcp istio-system/basic... smcp_tls_ssl_test.go:45: Wait for condition condition=Ready on smcp istio-system/basic... smcp_tls_ssl_test.go:45: SUCCESS: Condition condition=Ready met by smcp istio-system/basic subtest.go:25: subtest.go:32: Subtest completed in 14.93s (excluding cleanup) --- PASS: TestTLSVersionSMCP/minVersion_TLSv1_1 (14.93s) === RUN TestTLSVersionSMCP/maxVersion_TLSv1_3 smcp_tls_ssl_test.go:49: smcp_tls_ssl_test.go:49: STEP 1: Check to see if the SMCP maxProtocolVersion is TLSv1_3 smcp_tls_ssl_test.go:51: Wait for condition condition=Ready on smcp istio-system/basic... smcp_tls_ssl_test.go:51: Wait for condition condition=Ready on smcp istio-system/basic... smcp_tls_ssl_test.go:51: SUCCESS: Condition condition=Ready met by smcp istio-system/basic subtest.go:25: subtest.go:32: Subtest completed in 14.21s (excluding cleanup) --- PASS: TestTLSVersionSMCP/maxVersion_TLSv1_3 (14.21s) test.go:77: test.go:84: Test completed in 55.46s (excluding cleanup) smcp_tls_ssl_test.go:26: smcp_tls_ssl_test.go:26: Performing cleanup smcp_tls_ssl_test.go:31: Wait for condition condition=Ready on smcp istio-system/basic... smcp_tls_ssl_test.go:31: Wait for condition condition=Ready on smcp istio-system/basic... smcp_tls_ssl_test.go:31: SUCCESS: Condition condition=Ready met by smcp istio-system/basic smcp_tls_ssl_test.go:26: Cleanup completed in 15.59s --- PASS: TestTLSVersionSMCP (71.05s) === RUN TestSMMRAutoCreationAndDeletion smm_test.go:17: This test verifies what happens to the SMMR when SMM is created and deleted smm_test.go:24: smm_test.go:24: STEP 1: Apply default SMCP and SMMR manifests smm_test.go:24: Wait for condition condition=Ready on smcp istio-system/basic... smm_test.go:24: SUCCESS: Condition condition=Ready met by smcp istio-system/basic smm_test.go:26: smm_test.go:26: STEP 2: Delete SMMR smm_test.go:29: smm_test.go:29: STEP 3: Create two namespaces smm_test.go:30: Creating namespaces: [foo bar] === RUN TestSMMRAutoCreationAndDeletion/create_first_SMM smm_test.go:33: This test checks if the SMMR is created when you create a ServiceMeshMember smm_test.go:35: smm_test.go:35: STEP 1: Create ServiceMeshMembers in namespaces foo and bar smm_test.go:39: smm_test.go:39: STEP 2: Wait for SMMR to be ready smm_test.go:42: smm_test.go:42: STEP 3: Check both namespaces are shown as members in SMMR smm_test.go:43: SUCCESS: SMMR has the member foo smm_test.go:43: SUCCESS: SMMR has the member bar subtest.go:25: subtest.go:32: Subtest completed in 4.28s (excluding cleanup) --- PASS: TestSMMRAutoCreationAndDeletion/create_first_SMM (4.28s) === RUN TestSMMRAutoCreationAndDeletion/delete_non-terminal_SMM smm_test.go:52: This test verifies that the SMMR isn't deleted when one SMM is deleted, but other SMMs still exist smm_test.go:53: See https://issues.redhat.com/browse/OSSM-2374 (implementation) smm_test.go:54: See https://issues.redhat.com/browse/OSSM-3450 (test) smm_test.go:56: smm_test.go:56: STEP 1: Delete one SMM, but keep the other smm_test.go:59: smm_test.go:59: STEP 2: Check if SMMR becomes ready (it won't be if it gets deleted) subtest.go:25: subtest.go:32: Subtest completed in 0.80s (excluding cleanup) --- PASS: TestSMMRAutoCreationAndDeletion/delete_non-terminal_SMM (0.80s) === RUN TestSMMRAutoCreationAndDeletion/delete_terminal_SMM smm_test.go:66: This test verifies tht the SMMR is deleted when the last SMM is deleted smm_test.go:67: See https://issues.redhat.com/browse/OSSM-2374 (implementation) smm_test.go:68: See https://issues.redhat.com/browse/OSSM-3450 (test) smm_test.go:70: smm_test.go:70: STEP 1: Delete last SMM smm_test.go:73: smm_test.go:73: STEP 2: Check that SMMR is deleted smm_test.go:74: SUCCESS: SMMR has been deleted subtest.go:25: subtest.go:32: Subtest completed in 0.88s (excluding cleanup) --- PASS: TestSMMRAutoCreationAndDeletion/delete_terminal_SMM (0.88s) test.go:77: test.go:84: Test completed in 21.05s (excluding cleanup) smm_test.go:20: smm_test.go:20: Performing cleanup smm_test.go:20: Cleanup completed in 2.00s --- PASS: TestSMMRAutoCreationAndDeletion (23.05s) === RUN TestSmoke smoke_test.go:46: Smoke Test for SMCP: deploy, upgrade, bookinfo and uninstall smoke_test.go:56: Deleting namespaces: [istio-system] smoke_test.go:56: Creating namespaces: [istio-system] === RUN TestSmoke/upgrade_v2.2_to_v2.3 smoke_test.go:59: This test checks whether SMCP becomes ready after it's upgraded from v2.2 to v2.3 and bookinfo is still working after the upgrade and also test a clean installation of the target SMCP smoke_test.go:65: smoke_test.go:65: STEP 1: Install SMCP v2.2 and verify it becomes ready smoke_test.go:187: smoke_test.go:187: STEP 2: Install SMCP smoke_test.go:189: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:189: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:189: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:189: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:189: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:189: SUCCESS: Condition condition=Ready met by smcp istio-system/basic smoke_test.go:191: smoke_test.go:191: STEP 3: Check SMCP is Ready smoke_test.go:192: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:192: SUCCESS: Condition condition=Ready met by smcp istio-system/basic smoke_test.go:68: smoke_test.go:68: STEP 4: Install bookinfo pods and sleep pod smoke_test.go:69: Install app "bookinfo" in namespace "bookinfo" smoke_test.go:69: Create Bookinfo Gateway smoke_test.go:69: Create Bookinfo Destination Rules (all) smoke_test.go:69: Create Bookinfo Deployments smoke_test.go:69: Install app "sleep" in namespace "bookinfo" smoke_test.go:69: Wait for app bookinfo/bookinfo to be ready smoke_test.go:69: Wait for app bookinfo/sleep to be ready smoke_test.go:71: smoke_test.go:71: STEP 5: Check if bookinfo traffic flows through the Proxy smoke_test.go:137: SUCCESS: ProductPage returns 200 OK smoke_test.go:137: SUCCESS: HTTP header 'server: istio-envoy' is present in the response smoke_test.go:137: SUCCESS: HTTP header 'x-envoy-decorator-operation' is present in the response smoke_test.go:74: smoke_test.go:74: STEP 6: Upgrade SMCP from v2.2 to v2.3 smoke_test.go:187: smoke_test.go:187: STEP 7: Install SMCP smoke_test.go:189: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:189: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:189: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:189: SUCCESS: Condition condition=Ready met by smcp istio-system/basic smoke_test.go:191: smoke_test.go:191: STEP 8: Check SMCP is Ready smoke_test.go:192: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:192: SUCCESS: Condition condition=Ready met by smcp istio-system/basic smoke_test.go:77: smoke_test.go:77: STEP 9: Check if bookinfo productpage is running through the Proxy after the upgrade smoke_test.go:137: SUCCESS: ProductPage returns 200 OK smoke_test.go:137: SUCCESS: HTTP header 'server: istio-envoy' is present in the response smoke_test.go:137: SUCCESS: HTTP header 'x-envoy-decorator-operation' is present in the response smoke_test.go:80: smoke_test.go:80: STEP 10: Delete Bookinfo pods to force the update of the sidecar smoke_test.go:125: smoke_test.go:125: STEP 11: Verify if all the routes are created smoke_test.go:196: Related issue: https://issues.redhat.com/browse/OSSM-4069 smoke_test.go:197: SUCCESS: Route grafana is created smoke_test.go:197: SUCCESS: Route istio-ingressgateway is created smoke_test.go:197: SUCCESS: Route jaeger is created smoke_test.go:197: SUCCESS: Route kiali is created smoke_test.go:197: SUCCESS: Route prometheus is created smoke_test.go:128: smoke_test.go:128: STEP 12: Check if bookinfo traffic flows through the Proxy smoke_test.go:137: SUCCESS: ProductPage returns 200 OK smoke_test.go:137: SUCCESS: HTTP header 'server: istio-envoy' is present in the response smoke_test.go:137: SUCCESS: HTTP header 'x-envoy-decorator-operation' is present in the response smoke_test.go:131: smoke_test.go:131: STEP 13: verify proxy startup time. Expected to be less than 10 seconds smoke_test.go:132: Jira related: https://issues.redhat.com/browse/OSSM-3586 smoke_test.go:157: Extracting proxy startup time and last transition time for all the pods in the namespace subtest.go:25: subtest.go:32: Subtest completed in 122.80s (excluding cleanup) smoke_test.go:60: smoke_test.go:60: Performing cleanup smoke_test.go:61: Uninstalling Bookinfo from namespace "bookinfo" smoke_test.go:62: Deleting namespaces: [istio-system] smoke_test.go:62: Creating namespaces: [istio-system] smoke_test.go:60: Cleanup completed in 58.00s --- PASS: TestSmoke/upgrade_v2.2_to_v2.3 (180.80s) === RUN TestSmoke/install_smcp_v2.3 smoke_test.go:87: This test checks whether SMCP v2.3 install the SMCP version smoke_test.go:92: smoke_test.go:92: STEP 1: Install SMCP v2.3 smoke_test.go:187: smoke_test.go:187: STEP 2: Install SMCP smoke_test.go:189: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:189: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:189: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:189: SUCCESS: Condition condition=Ready met by smcp istio-system/basic smoke_test.go:191: smoke_test.go:191: STEP 3: Check SMCP is Ready smoke_test.go:192: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:192: SUCCESS: Condition condition=Ready met by smcp istio-system/basic smoke_test.go:95: smoke_test.go:95: STEP 4: Install bookinfo pods and sleep pod smoke_test.go:96: Install app "bookinfo" in namespace "bookinfo" smoke_test.go:96: Create Bookinfo Gateway smoke_test.go:96: Create Bookinfo Destination Rules (all) smoke_test.go:96: Create Bookinfo Deployments smoke_test.go:96: Install app "sleep" in namespace "bookinfo" smoke_test.go:96: Wait for app bookinfo/bookinfo to be ready smoke_test.go:96: Wait for app bookinfo/sleep to be ready smoke_test.go:125: smoke_test.go:125: STEP 5: Verify if all the routes are created smoke_test.go:196: Related issue: https://issues.redhat.com/browse/OSSM-4069 smoke_test.go:197: SUCCESS: Route grafana is created smoke_test.go:197: SUCCESS: Route istio-ingressgateway is created smoke_test.go:197: SUCCESS: Route jaeger is created smoke_test.go:197: SUCCESS: Route kiali is created smoke_test.go:197: SUCCESS: Route prometheus is created smoke_test.go:128: smoke_test.go:128: STEP 6: Check if bookinfo traffic flows through the Proxy smoke_test.go:137: SUCCESS: ProductPage returns 200 OK smoke_test.go:137: SUCCESS: HTTP header 'server: istio-envoy' is present in the response smoke_test.go:137: SUCCESS: HTTP header 'x-envoy-decorator-operation' is present in the response smoke_test.go:131: smoke_test.go:131: STEP 7: verify proxy startup time. Expected to be less than 10 seconds smoke_test.go:132: Jira related: https://issues.redhat.com/browse/OSSM-3586 smoke_test.go:157: Extracting proxy startup time and last transition time for all the pods in the namespace subtest.go:25: subtest.go:32: Subtest completed in 73.32s (excluding cleanup) smoke_test.go:88: smoke_test.go:88: Performing cleanup smoke_test.go:89: Uninstalling Bookinfo from namespace "bookinfo" smoke_test.go:88: Cleanup completed in 3.02s --- PASS: TestSmoke/install_smcp_v2.3 (76.34s) === RUN TestSmoke/delete_smcp_v2.3 smoke_test.go:102: This test checks whether SMCP v2.3 deletion deletes all the resources smoke_test.go:107: smoke_test.go:107: STEP 1: Delete SMCP and SMMR in namespace istio-system smoke_test.go:110: smoke_test.go:110: STEP 2: verify SMCP resources are deleted smoke_test.go:111: SUCCESS: SMCP resources are deleted subtest.go:25: subtest.go:32: Subtest completed in 31.96s (excluding cleanup) smoke_test.go:103: smoke_test.go:103: Performing cleanup smoke_test.go:104: Deleting namespaces: [istio-system] smoke_test.go:104: Creating namespaces: [istio-system] smoke_test.go:103: Cleanup completed in 25.40s --- PASS: TestSmoke/delete_smcp_v2.3 (57.36s) test.go:77: test.go:84: Test completed in 403.20s (excluding cleanup) smoke_test.go:49: smoke_test.go:49: Performing cleanup smoke_test.go:50: Deleting namespaces: [istio-system] smoke_test.go:50: Creating namespaces: [istio-system] smoke_test.go:49: Cleanup completed in 6.50s --- PASS: TestSmoke (409.70s) === RUN TestSSL testssl_test.go:45: testssl_test.go:45: STEP 1: Apply default SMCP and SMMR manifests testssl_test.go:45: Wait for condition condition=Ready on smcp istio-system/basic... testssl_test.go:45: Wait for condition condition=Ready on smcp istio-system/basic... testssl_test.go:45: SUCCESS: Condition condition=Ready met by smcp istio-system/basic testssl_test.go:47: testssl_test.go:47: STEP 2: Patch SMCP to enable mTLS in dataPlane and controlPlane and set min/maxProtocolVersion, cipherSuites, and ecdhCurves testssl_test.go:64: Wait for condition condition=Ready on smcp istio-system/basic... testssl_test.go:64: Wait for condition condition=Ready on smcp istio-system/basic... testssl_test.go:64: SUCCESS: Condition condition=Ready met by smcp istio-system/basic testssl_test.go:66: testssl_test.go:66: STEP 3: Install bookinfo with mTLS and testssl pod testssl_test.go:68: Install app "bookinfo" in namespace "bookinfo" testssl_test.go:68: Create Bookinfo Gateway testssl_test.go:68: Create Bookinfo Destination Rules (all) testssl_test.go:68: Create Bookinfo Deployments testssl_test.go:68: Wait for app bookinfo/bookinfo to be ready testssl_test.go:71: testssl_test.go:71: STEP 4: Check testssl.sh results testssl_test.go:72: SUCCESS: Received the TLSv1.2 needed in the testssl.sh results testssl_test.go:72: SUCCESS: Results received the correct SHA256 testssl_test.go:72: SUCCESS: Results included: P-256 test.go:77: test.go:84: Test completed in 64.31s (excluding cleanup) testssl_test.go:31: testssl_test.go:31: Performing cleanup testssl_test.go:41: Uninstalling Bookinfo from namespace "bookinfo" testssl_test.go:31: Cleanup completed in 3.79s --- PASS: TestSSL (68.09s) PASS ok github.com/maistra/maistra-test-tool/pkg/tests/ossm 1478.086s test_helper_setup.go:64: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === RUN TestClusterWideMode test.go:119: This test is being skipped because it doesn't support the current SMCP version v2.3 (min version is v2.4) --- SKIP: TestClusterWideMode (0.00s) === RUN TestOperatorCanReconcileSMCPWhenIstiodOffline operator_deadlock_test.go:16: This test checks if the operator can reconcile an SMCP even if the istiod pod is missing operator_deadlock_test.go:17: See https://issues.redhat.com/browse/OSSM-3235 operator_deadlock_test.go:20: Skipped because OSSM-3235 is only fixed in 2.4+ test.go:77: test.go:84: Test completed in 0.00s (excluding cleanup) --- SKIP: TestOperatorCanReconcileSMCPWhenIstiodOffline (0.00s) === RUN TestOperatorPodHonorsReadinessProbe test.go:119: This test is being skipped because it doesn't support the current SMCP version v2.3 (min version is v2.4) --- SKIP: TestOperatorPodHonorsReadinessProbe (0.00s) PASS ok github.com/maistra/maistra-test-tool/pkg/tests/ossm/operator 2.093s === RUN TestMultiClusterFederationFailover federation_failover_test.go:41: this test only runs when the KUBECONFIG2 environment variable points to the kubeconfig of the second cluster test.go:77: test.go:84: Test completed in 0.00s (excluding cleanup) --- SKIP: TestMultiClusterFederationFailover (0.00s) === RUN TestFederation federation_traffic_splitting_test.go:38: Both OC clusters are set respectively to cluster west and east if they are provided with two kubeconfig files, if not, both are set from the same file federation_common.go:63: federation_common.go:63: STEP 1: Create projects for west-mesh and east-mesh federation_common.go:64: Creating namespaces: [west-mesh-system west-mesh-bookinfo] federation_common.go:65: Creating namespaces: [east-mesh-system east-mesh-bookinfo] federation_common.go:67: federation_common.go:67: STEP 2: Install control planes for west-mesh and east-mesh federation_common.go:159: Install ServiceMeshControlPlane west-mesh in namespace west-mesh-system federation_common.go:164: Create ServiceMeshMemberRoll federation_common.go:159: Install ServiceMeshControlPlane east-mesh in namespace east-mesh-system federation_common.go:164: Create ServiceMeshMemberRoll federation_common.go:70: federation_common.go:70: STEP 3: Wait for west-mesh and east-mesh installation to complete federation_common.go:71: Wait for condition condition=Ready on smcp west-mesh-system/west-mesh... federation_common.go:71: Wait for condition condition=Ready on smcp west-mesh-system/west-mesh... federation_common.go:71: SUCCESS: Condition condition=Ready met by smcp west-mesh-system/west-mesh federation_common.go:72: Wait for condition condition=Ready on smcp east-mesh-system/east-mesh... federation_common.go:72: SUCCESS: Condition condition=Ready met by smcp east-mesh-system/east-mesh federation_common.go:74: federation_common.go:74: STEP 4: Retrieve peer addresses and ports federation_common.go:77: Using ClusterIP service for ingress federation_common.go:88: west-mesh: address: east-mesh-ingress.west-mesh-system.svc.cluster.local; discovery port: 8188, service port: 15443 federation_common.go:89: east-mesh: address: west-mesh-ingress.east-mesh-system.svc.cluster.local; discovery port: 8188, service port: 15443 federation_common.go:91: federation_common.go:91: STEP 5: Retrieve root certificates federation_common.go:153: Get key root-cert.pem from ConfigMap istio-ca-root-cert federation_common.go:153: Get key root-cert.pem from ConfigMap istio-ca-root-cert federation_common.go:95: federation_common.go:95: STEP 6: Install ServiceMeshPeer and ExportedServiceSet in west-mesh federation_common.go:100: federation_common.go:100: STEP 7: Install ServiceMeshPeer and ImportedServiceSet in east-mesh federation_traffic_splitting_test.go:111: federation_traffic_splitting_test.go:111: STEP 8: Install ratings-v2 and mongodb in west-mesh federation_traffic_splitting_test.go:117: federation_traffic_splitting_test.go:117: STEP 9: Install full bookinfo in east-mesh federation_common.go:107: federation_common.go:107: STEP 10: Wait for all bookinfo pods in west-mesh and east-mesh to be ready federation_common.go:111: federation_common.go:111: STEP 11: Check if west-mesh and east-mesh are connected to each other federation_common.go:112: SUCCESS: west-mesh is connected to east-mesh federation_common.go:112: SUCCESS: east-mesh is connected to west-mesh federation_traffic_splitting_test.go:129: federation_traffic_splitting_test.go:129: STEP 12: Check if traffic is split between ratings-v1 in east-mesh and west-mesh federation_traffic_splitting_test.go:131: federation_traffic_splitting_test.go:131: STEP 13: Check if east-mesh can see services from west-mesh federation_traffic_splitting_test.go:132: SUCCESS: mongodb service from west-mesh successfully imported in east-mesh federation_traffic_splitting_test.go:132: SUCCESS: ratings service from west-mesh successfully imported in east-mesh federation_traffic_splitting_test.go:156: SUCCESS: ratings-v2 in east-mesh received 11 requests federation_traffic_splitting_test.go:162: SUCCESS: ratings-v2 in west-mesh received 4 requests test.go:77: test.go:84: Test completed in 77.66s (excluding cleanup) federation_common.go:53: federation_common.go:53: Performing cleanup federation_common.go:56: Deleting namespaces: [west-mesh-system east-mesh-system west-mesh-bookinfo east-mesh-bookinfo] federation_common.go:53: Cleanup completed in 23.04s --- PASS: TestFederation (100.70s) === RUN TestFederationDifferentCerts federation_common.go:63: federation_common.go:63: STEP 1: Create projects for west-mesh and east-mesh federation_common.go:64: Creating namespaces: [west-mesh-system west-mesh-bookinfo] federation_common.go:65: Creating namespaces: [east-mesh-system east-mesh-bookinfo] federation_common.go:67: federation_common.go:67: STEP 2: Install control planes for west-mesh and east-mesh federation_traffic_splitting_test.go:84: Create Secret 'cacerts' for custom CA certs in west-mesh federation_common.go:159: Install ServiceMeshControlPlane west-mesh in namespace west-mesh-system federation_common.go:164: Create ServiceMeshMemberRoll federation_common.go:159: Install ServiceMeshControlPlane east-mesh in namespace east-mesh-system federation_common.go:164: Create ServiceMeshMemberRoll federation_common.go:70: federation_common.go:70: STEP 3: Wait for west-mesh and east-mesh installation to complete federation_common.go:71: Wait for condition condition=Ready on smcp west-mesh-system/west-mesh... federation_common.go:71: Wait for condition condition=Ready on smcp west-mesh-system/west-mesh... federation_common.go:71: SUCCESS: Condition condition=Ready met by smcp west-mesh-system/west-mesh federation_common.go:72: Wait for condition condition=Ready on smcp east-mesh-system/east-mesh... federation_common.go:72: SUCCESS: Condition condition=Ready met by smcp east-mesh-system/east-mesh federation_common.go:74: federation_common.go:74: STEP 4: Retrieve peer addresses and ports federation_common.go:77: Using ClusterIP service for ingress federation_common.go:88: west-mesh: address: east-mesh-ingress.west-mesh-system.svc.cluster.local; discovery port: 8188, service port: 15443 federation_common.go:89: east-mesh: address: west-mesh-ingress.east-mesh-system.svc.cluster.local; discovery port: 8188, service port: 15443 federation_common.go:91: federation_common.go:91: STEP 5: Retrieve root certificates federation_common.go:153: Get key root-cert.pem from ConfigMap istio-ca-root-cert federation_common.go:153: Get key root-cert.pem from ConfigMap istio-ca-root-cert federation_common.go:95: federation_common.go:95: STEP 6: Install ServiceMeshPeer and ExportedServiceSet in west-mesh federation_common.go:100: federation_common.go:100: STEP 7: Install ServiceMeshPeer and ImportedServiceSet in east-mesh federation_traffic_splitting_test.go:111: federation_traffic_splitting_test.go:111: STEP 8: Install ratings-v2 and mongodb in west-mesh federation_traffic_splitting_test.go:117: federation_traffic_splitting_test.go:117: STEP 9: Install full bookinfo in east-mesh federation_common.go:107: federation_common.go:107: STEP 10: Wait for all bookinfo pods in west-mesh and east-mesh to be ready federation_common.go:111: federation_common.go:111: STEP 11: Check if west-mesh and east-mesh are connected to each other federation_common.go:112: SUCCESS: west-mesh is connected to east-mesh federation_common.go:112: SUCCESS: east-mesh is connected to west-mesh federation_traffic_splitting_test.go:129: federation_traffic_splitting_test.go:129: STEP 12: Check if traffic is split between ratings-v1 in east-mesh and west-mesh federation_traffic_splitting_test.go:131: federation_traffic_splitting_test.go:131: STEP 13: Check if east-mesh can see services from west-mesh federation_traffic_splitting_test.go:132: SUCCESS: mongodb service from west-mesh successfully imported in east-mesh federation_traffic_splitting_test.go:132: SUCCESS: ratings service from west-mesh successfully imported in east-mesh federation_traffic_splitting_test.go:156: SUCCESS: ratings-v2 in east-mesh received 14 requests federation_traffic_splitting_test.go:162: SUCCESS: ratings-v2 in west-mesh received 4 requests test.go:77: test.go:84: Test completed in 71.59s (excluding cleanup) federation_common.go:53: federation_common.go:53: Performing cleanup federation_common.go:56: Deleting namespaces: [west-mesh-system east-mesh-system west-mesh-bookinfo east-mesh-bookinfo] federation_common.go:53: Cleanup completed in 19.04s --- PASS: TestFederationDifferentCerts (90.63s) PASS ok github.com/maistra/maistra-test-tool/pkg/tests/ossm-federation 191.337s test_helper_setup.go:64: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === RUN TestCustomPrometheus custom_prometheus_test.go:29: Extension providers are not supported in OSSM older than v2.4.0 test.go:77: test.go:84: Test completed in 0.00s (excluding cleanup) --- SKIP: TestCustomPrometheus (0.00s) === RUN TestFederatedOpenShiftMonitoring federated_openshift_monitoring_test.go:36: federated_openshift_monitoring_test.go:36: STEP 1: Waiting until user workload monitoring stack is up and running federated_openshift_monitoring_test.go:38: SUCCESS: Found pods in openshift-user-workload-monitoring federated_openshift_monitoring_test.go:41: federated_openshift_monitoring_test.go:41: STEP 2: Deploying SMCP federated_openshift_monitoring_test.go:43: Wait for condition condition=Ready on smcp istio-system/basic... federated_openshift_monitoring_test.go:43: Wait for condition condition=Ready on smcp istio-system/basic... federated_openshift_monitoring_test.go:43: SUCCESS: Condition condition=Ready met by smcp istio-system/basic federated_openshift_monitoring_test.go:45: federated_openshift_monitoring_test.go:45: STEP 3: Deploy httpbin federated_openshift_monitoring_test.go:46: Install app "httpbin" in namespace "foo" federated_openshift_monitoring_test.go:46: Wait for app foo/httpbin to be ready federated_openshift_monitoring_test.go:47: SUCCESS: Found pods in foo federated_openshift_monitoring_test.go:50: federated_openshift_monitoring_test.go:50: STEP 4: Generate some ingress traffic federated_openshift_monitoring_test.go:53: SUCCESS: received expected status code 200 federated_openshift_monitoring_test.go:57: federated_openshift_monitoring_test.go:57: STEP 5: Apply federated metrics monitor federated_openshift_monitoring_test.go:60: federated_openshift_monitoring_test.go:60: STEP 6: Check istiod metrics federated_openshift_monitoring_test.go:68: federated_openshift_monitoring_test.go:68: STEP 7: Check httpbin metrics test.go:77: test.go:84: Test completed in 120.98s (excluding cleanup) federated_openshift_monitoring_test.go:30: federated_openshift_monitoring_test.go:30: Performing cleanup federated_openshift_monitoring_test.go:32: Deleting namespaces: [foo] federated_openshift_monitoring_test.go:32: Creating namespaces: [foo] federated_openshift_monitoring_test.go:33: Deleting namespaces: [istio-system] federated_openshift_monitoring_test.go:33: Creating namespaces: [istio-system] federated_openshift_monitoring_test.go:30: Cleanup completed in 34.95s --- PASS: TestFederatedOpenShiftMonitoring (155.93s) === RUN TestOpenShiftMonitoring openshift_monitoring_test.go:39: integration with OpenShift Monitoring stack is not supported in OSSM older than v2.4.0 test.go:77: test.go:84: Test completed in 0.00s (excluding cleanup) --- SKIP: TestOpenShiftMonitoring (0.00s) PASS ok github.com/maistra/maistra-test-tool/pkg/tests/tasks/observability 157.887s test_helper_setup.go:64: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === RUN TestAuthPolicy auth_test.go:45: auth_test.go:45: STEP 1: Apply default SMCP and SMMR manifests auth_test.go:45: Wait for condition condition=Ready on smcp istio-system/basic... auth_test.go:45: Wait for condition condition=Ready on smcp istio-system/basic... auth_test.go:45: Wait for condition condition=Ready on smcp istio-system/basic... auth_test.go:45: SUCCESS: Condition condition=Ready met by smcp istio-system/basic auth_test.go:47: auth_test.go:47: STEP 2: Install httpbin and sleep in multiple namespaces auth_test.go:48: Install app "httpbin" in namespace "foo" auth_test.go:48: Install app "httpbin" in namespace "bar" auth_test.go:48: Install app "httpbin" in namespace "legacy" auth_test.go:48: Install app "sleep" in namespace "foo" auth_test.go:48: Install app "sleep" in namespace "bar" auth_test.go:48: Install app "sleep" in namespace "legacy" auth_test.go:48: Wait for app foo/httpbin to be ready auth_test.go:48: Wait for app bar/httpbin to be ready auth_test.go:48: Wait for app legacy/httpbin to be ready auth_test.go:48: Wait for app foo/sleep to be ready auth_test.go:48: Wait for app bar/sleep to be ready auth_test.go:48: Wait for app legacy/sleep to be ready auth_test.go:59: auth_test.go:59: STEP 3: Check connectivity from namespaces foo, bar, and legacy to namespaces foo and bar auth_test.go:60: SUCCESS: foo connects to foo auth_test.go:60: SUCCESS: foo connects to bar auth_test.go:60: SUCCESS: bar connects to foo auth_test.go:60: SUCCESS: bar connects to bar auth_test.go:60: SUCCESS: legacy connects to foo auth_test.go:60: SUCCESS: legacy connects to bar === RUN TestAuthPolicy/enable_auto_mTLS auth_test.go:69: auth_test.go:69: STEP 1: Check if mTLS is enabled in foo auth_test.go:70: SUCCESS: mTLS is enabled in namespace foo (X-Forwarded-Client-Cert header is present) auth_test.go:80: auth_test.go:80: STEP 2: Check that mTLS is NOT enabled in legacy auth_test.go:81: SUCCESS: mTLS is not enabled in namespace legacy (X-Forwarded-Client-Cert header is not present) subtest.go:25: subtest.go:32: Subtest completed in 2.24s (excluding cleanup) --- PASS: TestAuthPolicy/enable_auto_mTLS (2.24s) === RUN TestAuthPolicy/enable_global_mTLS_STRICT_mode auth_test.go:93: auth_test.go:93: STEP 1: Enable mTLS STRICT mode globally auth_test.go:99: SUCCESS: Global mTLS expected 000 auth_test.go:99: SUCCESS: Global mTLS expected 000 subtest.go:25: subtest.go:32: Subtest completed in 3.92s (excluding cleanup) auth_test.go:95: auth_test.go:95: Performing cleanup auth_test.go:95: Cleanup completed in 0.30s --- PASS: TestAuthPolicy/enable_global_mTLS_STRICT_mode (4.22s) === RUN TestAuthPolicy/namespace_policy_mtls auth_test.go:114: auth_test.go:114: STEP 1: Enable mutual TLS per namespace auth_test.go:119: SUCCESS: foo connects to foo auth_test.go:119: SUCCESS: foo connects to bar auth_test.go:119: SUCCESS: bar connects to foo auth_test.go:119: SUCCESS: bar connects to bar auth_test.go:119: SUCCESS: legacy can't conect to foo auth_test.go:119: SUCCESS: legacy connects to bar subtest.go:25: subtest.go:32: Subtest completed in 8.52s (excluding cleanup) auth_test.go:116: auth_test.go:116: Performing cleanup auth_test.go:116: Cleanup completed in 0.30s --- PASS: TestAuthPolicy/namespace_policy_mtls (8.81s) === RUN TestAuthPolicy/workload_policy_mtls auth_test.go:133: auth_test.go:133: STEP 1: Enable mutual TLS per workload auth_test.go:138: SUCCESS: legacy can't conect to bar auth_test.go:142: auth_test.go:142: STEP 2: Refine mutual TLS per port auth_test.go:144: SUCCESS: legacy connects to bar subtest.go:25: subtest.go:32: Subtest completed in 5.33s (excluding cleanup) auth_test.go:135: auth_test.go:135: Performing cleanup auth_test.go:135: Cleanup completed in 0.31s --- PASS: TestAuthPolicy/workload_policy_mtls (5.64s) === RUN TestAuthPolicy/policy_precedence_mtls auth_test.go:150: auth_test.go:150: STEP 1: Overwrite foo namespace policy by a workload policy auth_test.go:155: SUCCESS: legacy connects to foo subtest.go:25: subtest.go:32: Subtest completed in 3.43s (excluding cleanup) auth_test.go:152: auth_test.go:152: Performing cleanup auth_test.go:152: Cleanup completed in 0.31s --- PASS: TestAuthPolicy/policy_precedence_mtls (3.75s) === RUN TestAuthPolicy/end-user_JWT auth_test.go:164: End-user authentication auth_test.go:166: auth_test.go:166: STEP 1: Apply httpbin gateway auth_test.go:169: auth_test.go:169: STEP 2: Check httpbin request is successful auth_test.go:170: SUCCESS: received expected status code 200 auth_test.go:174: auth_test.go:174: STEP 3: Apply a JWT policy auth_test.go:180: auth_test.go:180: STEP 4: Check whether request without token returns 200 auth_test.go:181: SUCCESS: received expected status code 200 auth_test.go:185: auth_test.go:185: STEP 5: Check whether request with an invalid token returns 401 auth_test.go:186: SUCCESS: received expected status code 401 auth_test.go:190: auth_test.go:190: STEP 6: Check whether request with a valid token returns 200 auth_test.go:193: SUCCESS: received expected status code 200 subtest.go:25: subtest.go:32: Subtest completed in 5.74s (excluding cleanup) auth_test.go:176: auth_test.go:176: Performing cleanup auth_test.go:176: Cleanup completed in 0.26s --- PASS: TestAuthPolicy/end-user_JWT (6.00s) === RUN TestAuthPolicy/end-user_require_JWT auth_test.go:201: Require a valid token auth_test.go:207: SUCCESS: received expected status code 403 subtest.go:25: subtest.go:32: Subtest completed in 2.75s (excluding cleanup) auth_test.go:203: auth_test.go:203: Performing cleanup auth_test.go:203: Cleanup completed in 0.33s --- PASS: TestAuthPolicy/end-user_require_JWT (3.07s) === RUN TestAuthPolicy/end-user_require_JWT_per_path auth_test.go:213: Require valid tokens per-path auth_test.go:219: SUCCESS: received expected status code 403 auth_test.go:219: SUCCESS: received expected status code 200 subtest.go:25: subtest.go:32: Subtest completed in 2.66s (excluding cleanup) auth_test.go:215: auth_test.go:215: Performing cleanup auth_test.go:215: Cleanup completed in 0.26s --- PASS: TestAuthPolicy/end-user_require_JWT_per_path (2.93s) test.go:77: test.go:84: Test completed in 86.20s (excluding cleanup) auth_test.go:41: auth_test.go:41: Performing cleanup auth_test.go:42: Deleting namespaces: [foo bar legacy] auth_test.go:42: Creating namespaces: [foo bar legacy] auth_test.go:41: Cleanup completed in 17.92s --- PASS: TestAuthPolicy (104.12s) === RUN TestMTlsMigration mtls_migration_test.go:40: mtls_migration_test.go:40: STEP 1: Apply default SMCP and SMMR manifests mtls_migration_test.go:40: Wait for condition condition=Ready on smcp istio-system/basic... mtls_migration_test.go:40: SUCCESS: Condition condition=Ready met by smcp istio-system/basic mtls_migration_test.go:42: mtls_migration_test.go:42: STEP 2: Install httpbin and sleep in multiple namespaces mtls_migration_test.go:43: Install app "httpbin" in namespace "foo" mtls_migration_test.go:43: Install app "httpbin" in namespace "bar" mtls_migration_test.go:43: Install app "sleep" in namespace "foo" mtls_migration_test.go:43: Install app "sleep" in namespace "bar" mtls_migration_test.go:43: Install app "sleep" in namespace "legacy" mtls_migration_test.go:43: Wait for app foo/httpbin to be ready mtls_migration_test.go:43: Wait for app bar/httpbin to be ready mtls_migration_test.go:43: Wait for app foo/sleep to be ready mtls_migration_test.go:43: Wait for app bar/sleep to be ready mtls_migration_test.go:43: Wait for app legacy/sleep to be ready mtls_migration_test.go:53: mtls_migration_test.go:53: STEP 3: Check connectivity from namespaces foo, bar, and legacy to namespace foo and bar mtls_migration_test.go:54: SUCCESS: foo connects to foo mtls_migration_test.go:54: SUCCESS: foo connects to bar mtls_migration_test.go:54: SUCCESS: bar connects to foo mtls_migration_test.go:54: SUCCESS: bar connects to bar mtls_migration_test.go:54: SUCCESS: legacy connects to foo mtls_migration_test.go:54: SUCCESS: legacy connects to bar === RUN TestMTlsMigration/mTLS_enabled_in_foo mtls_migration_test.go:63: mtls_migration_test.go:63: STEP 1: Apply strict mTLS in namespace foo mtls_migration_test.go:66: mtls_migration_test.go:66: STEP 2: Check connectivity from namespaces foo, bar, and legacy to namespace foo and bar (expect failure only from legacy to foo) mtls_migration_test.go:67: SUCCESS: foo connects to foo mtls_migration_test.go:67: SUCCESS: foo connects to bar mtls_migration_test.go:67: SUCCESS: bar connects to foo mtls_migration_test.go:67: SUCCESS: bar connects to bar mtls_migration_test.go:67: SUCCESS: legacy can't conect to foo mtls_migration_test.go:67: SUCCESS: legacy connects to bar subtest.go:25: subtest.go:32: Subtest completed in 8.61s (excluding cleanup) --- PASS: TestMTlsMigration/mTLS_enabled_in_foo (8.61s) === RUN TestMTlsMigration/mTLS_enabled_globally mtls_migration_test.go:81: mtls_migration_test.go:81: STEP 1: Apply strict mTLS for the entire mesh mtls_migration_test.go:87: mtls_migration_test.go:87: STEP 2: Check connectivity from namespaces foo, bar, and legacy to namespace foo and bar (expect failure from legacy) mtls_migration_test.go:88: SUCCESS: foo connects to foo mtls_migration_test.go:88: SUCCESS: foo connects to bar mtls_migration_test.go:88: SUCCESS: bar connects to foo mtls_migration_test.go:88: SUCCESS: bar connects to bar mtls_migration_test.go:88: SUCCESS: legacy can't conect to foo mtls_migration_test.go:88: SUCCESS: legacy can't conect to bar subtest.go:25: subtest.go:32: Subtest completed in 8.32s (excluding cleanup) mtls_migration_test.go:83: mtls_migration_test.go:83: Performing cleanup mtls_migration_test.go:83: Cleanup completed in 0.40s --- PASS: TestMTlsMigration/mTLS_enabled_globally (8.73s) test.go:77: test.go:84: Test completed in 50.73s (excluding cleanup) mtls_migration_test.go:36: mtls_migration_test.go:36: Performing cleanup mtls_migration_test.go:37: Deleting namespaces: [foo bar legacy] mtls_migration_test.go:37: Creating namespaces: [foo bar legacy] mtls_migration_test.go:36: Cleanup completed in 25.01s --- PASS: TestMTlsMigration (75.74s) PASS ok github.com/maistra/maistra-test-tool/pkg/tests/tasks/security/authentication 181.794s test_helper_setup.go:64: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === RUN TestAuthorizationDenyAllow deny_test.go:33: This test validates authorization policies with a deny action deny_test.go:35: deny_test.go:35: STEP 1: Apply default SMCP and SMMR manifests deny_test.go:35: Wait for condition condition=Ready on smcp istio-system/basic... deny_test.go:35: SUCCESS: Condition condition=Ready met by smcp istio-system/basic deny_test.go:37: deny_test.go:37: STEP 2: Install httpbin and sleep deny_test.go:38: Install app "httpbin" in namespace "foo" deny_test.go:38: Install app "sleep" in namespace "foo" deny_test.go:38: Wait for app foo/httpbin to be ready deny_test.go:38: Wait for app foo/sleep to be ready deny_test.go:40: deny_test.go:40: STEP 3: Check if httpbin returns 200 OK when no authorization policies are in place deny_test.go:41: SUCCESS: Got expected 200 OK from httpbin === RUN TestAuthorizationDenyAllow/explicitly_deny_request deny_test.go:47: deny_test.go:47: STEP 1: Apply policy that denies all GET requests to httpbin deny_test.go:50: deny_test.go:50: STEP 2: Verify that GET request is denied deny_test.go:51: SUCCESS: Got the expected 403 response code deny_test.go:53: deny_test.go:53: STEP 3: Verify that POST request is allowed deny_test.go:54: SUCCESS: Got the expected 200 OK response for request from httpbin subtest.go:25: subtest.go:32: Subtest completed in 4.35s (excluding cleanup) deny_test.go:44: deny_test.go:44: Performing cleanup deny_test.go:44: Cleanup completed in 0.44s --- PASS: TestAuthorizationDenyAllow/explicitly_deny_request (4.79s) === RUN TestAuthorizationDenyAllow/deny_request_header deny_test.go:61: deny_test.go:61: STEP 1: Apply policy that denies GET requests unless the HTTP header 'x-token: admin' is present deny_test.go:64: deny_test.go:64: STEP 2: Verify that GET request with HTTP header 'x-token: admin' is allowed deny_test.go:65: SUCCESS: Got the expected 200 OK response for request from httpbin deny_test.go:67: deny_test.go:67: STEP 3: Verify that GET request with HTTP header 'x-token: guest' is denied deny_test.go:68: SUCCESS: Got the expected 403 response code subtest.go:25: subtest.go:32: Subtest completed in 6.45s (excluding cleanup) deny_test.go:58: deny_test.go:58: Performing cleanup deny_test.go:58: Cleanup completed in 0.35s --- PASS: TestAuthorizationDenyAllow/deny_request_header (6.80s) === RUN TestAuthorizationDenyAllow/allow_request_path deny_test.go:76: deny_test.go:76: STEP 1: Apply policy that denies GET requests unless the HTTP header 'x-token: admin' is present deny_test.go:79: deny_test.go:79: STEP 2: Apply policy that allows requests with the path '/ip' deny_test.go:82: deny_test.go:82: STEP 3: Verify that GET request with the HTTP header 'x-token: guest' at path '/ip' is denied deny_test.go:83: SUCCESS: Got the expected 403 response code deny_test.go:85: deny_test.go:85: STEP 4: Verify that GET request with HTTP header 'x-token: admin' at path '/ip' is allowed deny_test.go:86: SUCCESS: Got the expected 200 OK response for request from httpbin deny_test.go:88: deny_test.go:88: STEP 5: Verify that GET request with HTTP header 'x-token: admin' at path '/get' is denied deny_test.go:89: SUCCESS: Got the expected 403 response code subtest.go:25: subtest.go:32: Subtest completed in 9.04s (excluding cleanup) deny_test.go:72: deny_test.go:72: Performing cleanup deny_test.go:72: Cleanup completed in 0.76s --- PASS: TestAuthorizationDenyAllow/allow_request_path (9.80s) test.go:77: test.go:84: Test completed in 43.59s (excluding cleanup) deny_test.go:29: deny_test.go:29: Performing cleanup deny_test.go:30: Deleting namespaces: [foo] deny_test.go:30: Creating namespaces: [foo] deny_test.go:29: Cleanup completed in 15.63s --- PASS: TestAuthorizationDenyAllow (59.23s) === RUN TestEnvoyExtAuthzHttpExtensionProvider ext_auth_test.go:33: This test validates authorization policies with a JWT Token ext_auth_test.go:37: ext_auth_test.go:37: STEP 1: Apply default SMCP and SMMR manifests ext_auth_test.go:37: Wait for condition condition=Ready on smcp istio-system/basic... ext_auth_test.go:37: SUCCESS: Condition condition=Ready met by smcp istio-system/basic ext_auth_test.go:39: ext_auth_test.go:39: STEP 2: Install httpbin and sleep ext_auth_test.go:40: Install app "httpbin" in namespace "foo" ext_auth_test.go:40: Install app "sleep" in namespace "foo" ext_auth_test.go:40: Wait for app foo/httpbin to be ready ext_auth_test.go:40: Wait for app foo/sleep to be ready ext_auth_test.go:45: ext_auth_test.go:45: STEP 3: Check if httpbin returns 200 OK when no authorization policies are in place ext_auth_test.go:46: SUCCESS: Got expected 200 OK from httpbin ext_auth_test.go:48: ext_auth_test.go:48: STEP 4: Deploy the External Authorizer and Verify the sample external authorizer is up and running ext_auth_test.go:56: ext_auth_test.go:56: STEP 5: Set envoyExtAuthzHttp extension provider in SMCP ext_auth_test.go:93: ext_auth_test.go:93: STEP 6: Deploy the external authorization in the Authorization policy ext_auth_test.go:99: ext_auth_test.go:99: STEP 7: Verify a request to path /headers with header x-ext-authz: deny is denied by the sample ext_authz server: ext_auth_test.go:100: SUCCESS: Got the expected 403 response code ext_auth_test.go:102: ext_auth_test.go:102: STEP 8: Verify a request to path /headers with header x-ext-authz: allow is allowed by the sample ext_authz server ext_auth_test.go:103: SUCCESS: Got the expected 200 OK response for request from httpbin ext_auth_test.go:105: ext_auth_test.go:105: STEP 9: Verify a request to path /ip is allowed and does not trigger the external authorization ext_auth_test.go:106: SUCCESS: Got expected 200 OK from httpbin test.go:77: test.go:84: Test completed in 38.78s (excluding cleanup) ext_auth_test.go:94: ext_auth_test.go:94: Performing cleanup ext_auth_test.go:94: Cleanup completed in 0.42s ext_auth_test.go:70: ext_auth_test.go:70: Performing cleanup ext_auth_test.go:70: Cleanup completed in 0.47s ext_auth_test.go:50: ext_auth_test.go:50: Performing cleanup ext_auth_test.go:50: Cleanup completed in 0.43s ext_auth_test.go:41: ext_auth_test.go:41: Performing cleanup ext_auth_test.go:41: Cleanup completed in 1.40s --- PASS: TestEnvoyExtAuthzHttpExtensionProvider (41.50s) === RUN TestEnvoyExtAuthzGrpcExtensionProvider ext_auth_test.go:115: This test validates authorization policies with a JWT Token ext_auth_test.go:119: ext_auth_test.go:119: STEP 1: Apply default SMCP and SMMR manifests ext_auth_test.go:119: Wait for condition condition=Ready on smcp istio-system/basic... ext_auth_test.go:119: SUCCESS: Condition condition=Ready met by smcp istio-system/basic ext_auth_test.go:121: ext_auth_test.go:121: STEP 2: Install httpbin and sleep ext_auth_test.go:122: Install app "httpbin" in namespace "foo" ext_auth_test.go:122: Install app "sleep" in namespace "foo" ext_auth_test.go:122: Wait for app foo/httpbin to be ready ext_auth_test.go:122: Wait for app foo/sleep to be ready ext_auth_test.go:127: ext_auth_test.go:127: STEP 3: Check if httpbin returns 200 OK when no authorization policies are in place ext_auth_test.go:128: SUCCESS: Got expected 200 OK from httpbin ext_auth_test.go:130: ext_auth_test.go:130: STEP 4: Deploy the External Authorizer and Verify the sample external authorizer is up and running ext_auth_test.go:138: ext_auth_test.go:138: STEP 5: Set envoyExtAuthzgRPC extension provider in SMCP ext_auth_test.go:175: ext_auth_test.go:175: STEP 6: Deploy the external authorization in the Authorization policy ext_auth_test.go:181: ext_auth_test.go:181: STEP 7: Verify a request to path /headers with header x-ext-authz: deny is denied by the sample ext_authz server: ext_auth_test.go:182: SUCCESS: Got the expected 403 response code ext_auth_test.go:184: ext_auth_test.go:184: STEP 8: Verify a request to path /headers with header x-ext-authz: allow is allowed by the sample ext_authz server ext_auth_test.go:185: SUCCESS: Got the expected 200 OK response for request from httpbin ext_auth_test.go:187: ext_auth_test.go:187: STEP 9: Verify a request to path /ip is allowed and does not trigger the external authorization ext_auth_test.go:188: SUCCESS: Got expected 200 OK from httpbin test.go:77: test.go:84: Test completed in 35.85s (excluding cleanup) ext_auth_test.go:176: ext_auth_test.go:176: Performing cleanup ext_auth_test.go:176: Cleanup completed in 0.42s ext_auth_test.go:152: ext_auth_test.go:152: Performing cleanup ext_auth_test.go:152: Cleanup completed in 0.58s ext_auth_test.go:132: ext_auth_test.go:132: Performing cleanup ext_auth_test.go:132: Cleanup completed in 0.41s ext_auth_test.go:123: ext_auth_test.go:123: Performing cleanup ext_auth_test.go:123: Cleanup completed in 1.41s --- PASS: TestEnvoyExtAuthzGrpcExtensionProvider (38.67s) === RUN TestAuthorizationHTTPTraffic http_test.go:42: This test validates authorization policies for HTTP traffic. http_test.go:43: Doc reference: https://istio.io/v1.14/docs/tasks/security/authorization/authz-http/ http_test.go:45: http_test.go:45: STEP 1: Apply default SMCP and SMMR manifests http_test.go:45: Wait for condition condition=Ready on smcp istio-system/basic... http_test.go:45: Wait for condition condition=Ready on smcp istio-system/basic... http_test.go:45: SUCCESS: Condition condition=Ready met by smcp istio-system/basic http_test.go:47: http_test.go:47: STEP 2: Enable Service Mesh Control Plane mTLS http_test.go:53: http_test.go:53: STEP 3: Install bookinfo with mTLS http_test.go:54: Install app "bookinfo" in namespace "bookinfo" http_test.go:54: Create Bookinfo Gateway http_test.go:54: Create Bookinfo Destination Rules (all) http_test.go:54: Create Bookinfo Deployments http_test.go:54: Wait for app bookinfo/bookinfo to be ready http_test.go:55: Wait for condition condition=Ready on smcp istio-system/basic... http_test.go:55: SUCCESS: Condition condition=Ready met by smcp istio-system/basic === RUN TestAuthorizationHTTPTraffic/deny_all_http_traffic_to_bookinfo http_test.go:63: http_test.go:63: STEP 1: Apply policy that denies all HTTP requests to bookinfo workloads http_test.go:66: http_test.go:66: STEP 2: Verify that GET request is denied http_test.go:67: SUCCESS: string 'RBAC: access denied' found in response subtest.go:25: subtest.go:32: Subtest completed in 3.32s (excluding cleanup) http_test.go:60: http_test.go:60: Performing cleanup http_test.go:60: Cleanup completed in 0.35s --- PASS: TestAuthorizationHTTPTraffic/deny_all_http_traffic_to_bookinfo (3.67s) === RUN TestAuthorizationHTTPTraffic/only_allow_HTTP_GET_request_to_the_productpage_workload http_test.go:81: http_test.go:81: STEP 1: Apply policies that allow access with GET method to the productpage workload and deny requests to other workloads http_test.go:85: http_test.go:85: STEP 2: Verify that GET request to the productpage is allowed and fetching other services is denied http_test.go:86: SUCCESS: string 'Error fetching product details' found in response http_test.go:86: SUCCESS: string 'Error fetching product reviews' found in response subtest.go:25: subtest.go:32: Subtest completed in 5.78s (excluding cleanup) http_test.go:77: http_test.go:77: Performing cleanup http_test.go:77: Cleanup completed in 0.66s --- PASS: TestAuthorizationHTTPTraffic/only_allow_HTTP_GET_request_to_the_productpage_workload (6.43s) === RUN TestAuthorizationHTTPTraffic/allow_HTTP_GET_requests_to_all_bookinfo_workloads http_test.go:104: http_test.go:104: STEP 1: Apply policies that allow HTTP GET requests to all bookinfo workloads http_test.go:111: http_test.go:111: STEP 2: Verify that GET requests are allowed to all bookinfo workloads http_test.go:112: SUCCESS: string 'RBAC: access denied' not found in response http_test.go:112: SUCCESS: string 'Error fetching product details' not found in response http_test.go:112: SUCCESS: string 'Error fetching product reviews' not found in response http_test.go:112: SUCCESS: string 'Ratings service currently unavailable' not found in response subtest.go:25: subtest.go:32: Subtest completed in 9.46s (excluding cleanup) http_test.go:97: http_test.go:97: Performing cleanup http_test.go:97: Cleanup completed in 1.91s --- PASS: TestAuthorizationHTTPTraffic/allow_HTTP_GET_requests_to_all_bookinfo_workloads (11.37s) test.go:77: test.go:84: Test completed in 54.50s (excluding cleanup) http_test.go:33: http_test.go:33: Performing cleanup http_test.go:38: Deleting namespaces: [bookinfo] http_test.go:38: Creating namespaces: [bookinfo] http_test.go:39: Wait for condition condition=Ready on smcp istio-system/basic... http_test.go:39: SUCCESS: Condition condition=Ready met by smcp istio-system/basic http_test.go:33: Cleanup completed in 18.84s --- PASS: TestAuthorizationHTTPTraffic (73.34s) === RUN TestAuthorizationJWT jwt_test.go:35: This test validates authorization policies with JWT Token jwt_test.go:37: jwt_test.go:37: STEP 1: Apply default SMCP and SMMR manifests jwt_test.go:37: Wait for condition condition=Ready on smcp istio-system/basic... jwt_test.go:37: SUCCESS: Condition condition=Ready met by smcp istio-system/basic jwt_test.go:39: jwt_test.go:39: STEP 2: Install httpbin and sleep jwt_test.go:40: Install app "httpbin" in namespace "foo" jwt_test.go:40: Install app "sleep" in namespace "foo" jwt_test.go:40: Wait for app foo/httpbin to be ready jwt_test.go:40: Wait for app foo/sleep to be ready jwt_test.go:42: jwt_test.go:42: STEP 3: Check if httpbin returns 200 OK when no authorization policies are in place jwt_test.go:43: SUCCESS: Got expected 200 OK from httpbin === RUN TestAuthorizationJWT/Allow_requests_with_valid_JWT_and_list-typed_claims jwt_test.go:57: jwt_test.go:57: STEP 1: Verify that a request with an invalid JWT is denied jwt_test.go:58: SUCCESS: Got the expected 401 response code jwt_test.go:60: jwt_test.go:60: STEP 2: Verify that a request without a JWT is allowed because there is no authorization policy jwt_test.go:61: SUCCESS: Got the expected 200 OK response for request from httpbin subtest.go:25: subtest.go:32: Subtest completed in 2.33s (excluding cleanup) --- PASS: TestAuthorizationJWT/Allow_requests_with_valid_JWT_and_list-typed_claims (2.33s) === RUN TestAuthorizationJWT/Security_authorization_allow_JWT_requestPrincipal jwt_test.go:69: jwt_test.go:69: STEP 1: Verify that a request with a valid JWT is allowed jwt_test.go:70: SUCCESS: Got the expected 200 OK response for request from httpbin jwt_test.go:72: jwt_test.go:72: STEP 2: Verify request without a JWT is denied jwt_test.go:73: SUCCESS: Got the expected 403 response code subtest.go:25: subtest.go:32: Subtest completed in 4.04s (excluding cleanup) jwt_test.go:65: jwt_test.go:65: Performing cleanup jwt_test.go:65: Cleanup completed in 0.26s --- PASS: TestAuthorizationJWT/Security_authorization_allow_JWT_requestPrincipal (4.31s) === RUN TestAuthorizationJWT/Security_authorization_allow_JWT_claims_group jwt_test.go:81: jwt_test.go:81: STEP 1: Verify that a request with the JWT that includes group1 in the groups claim is allowed jwt_test.go:82: SUCCESS: Got the expected 200 OK response for request from httpbin jwt_test.go:84: jwt_test.go:84: STEP 2: Verify that a request with a JWT, which does not have the groups claim is rejected jwt_test.go:85: SUCCESS: Got the expected 403 response code subtest.go:25: subtest.go:32: Subtest completed in 4.03s (excluding cleanup) jwt_test.go:77: jwt_test.go:77: Performing cleanup jwt_test.go:77: Cleanup completed in 0.26s --- PASS: TestAuthorizationJWT/Security_authorization_allow_JWT_claims_group (4.29s) test.go:77: test.go:84: Test completed in 33.98s (excluding cleanup) jwt_test.go:51: jwt_test.go:51: Performing cleanup jwt_test.go:51: Cleanup completed in 0.37s jwt_test.go:31: jwt_test.go:31: Performing cleanup jwt_test.go:32: Deleting namespaces: [foo] jwt_test.go:32: Creating namespaces: [foo] jwt_test.go:31: Cleanup completed in 22.00s --- PASS: TestAuthorizationJWT (56.36s) === RUN TestAuthorizationTCPTraffic tcp_test.go:38: This test validates authorization policies for TCP traffic. tcp_test.go:39: Doc reference: https://istio.io/v1.14/docs/tasks/security/authorization/authz-tcp/ tcp_test.go:41: tcp_test.go:41: STEP 1: Apply default SMCP and SMMR manifests tcp_test.go:41: Wait for condition condition=Ready on smcp istio-system/basic... tcp_test.go:41: SUCCESS: Condition condition=Ready met by smcp istio-system/basic tcp_test.go:43: tcp_test.go:43: STEP 2: Install sleep and echo tcp_test.go:44: Install app "sleep" in namespace "foo" tcp_test.go:44: Install app "echo" in namespace "foo" tcp_test.go:44: Wait for app foo/sleep to be ready tcp_test.go:44: Wait for app foo/echo to be ready tcp_test.go:46: tcp_test.go:46: STEP 3: Verify sleep to echo TCP connections tcp_test.go:47: SUCCESS: Got expected hello message on port 9000 tcp_test.go:47: SUCCESS: Got expected hello message on port 9001 === RUN TestAuthorizationTCPTraffic/TCP_invalid_policy tcp_test.go:56: tcp_test.go:56: STEP 1: Apply an invalid policy to allow requests to port 9000 and add an HTTP GET field tcp_test.go:59: SUCCESS: Got expected connection rejected on port 9000 tcp_test.go:59: SUCCESS: Got expected connection rejected on port 9001 subtest.go:25: subtest.go:32: Subtest completed in 4.03s (excluding cleanup) tcp_test.go:53: tcp_test.go:53: Performing cleanup tcp_test.go:53: Cleanup completed in 0.40s --- PASS: TestAuthorizationTCPTraffic/TCP_invalid_policy (4.43s) === RUN TestAuthorizationTCPTraffic/TCP_deny_policy tcp_test.go:69: tcp_test.go:69: STEP 1: Apply a policy to deny tcp requests to port 9000 tcp_test.go:72: SUCCESS: Got expected connection rejected on port 9000 tcp_test.go:72: SUCCESS: Got expected hello message on port 9001 subtest.go:25: subtest.go:32: Subtest completed in 4.17s (excluding cleanup) tcp_test.go:66: tcp_test.go:66: Performing cleanup tcp_test.go:66: Cleanup completed in 0.52s --- PASS: TestAuthorizationTCPTraffic/TCP_deny_policy (4.68s) === RUN TestAuthorizationTCPTraffic/TCP_ALLOW_policy tcp_test.go:82: tcp_test.go:82: STEP 1: Apply a policy to allow tcp requests to port 9000 and 9001 tcp_test.go:85: SUCCESS: Got expected hello message on port 9000 tcp_test.go:85: SUCCESS: Got expected hello message on port 9001 subtest.go:25: subtest.go:32: Subtest completed in 4.29s (excluding cleanup) tcp_test.go:79: tcp_test.go:79: Performing cleanup tcp_test.go:79: Cleanup completed in 0.31s --- PASS: TestAuthorizationTCPTraffic/TCP_ALLOW_policy (4.61s) test.go:77: test.go:84: Test completed in 39.93s (excluding cleanup) tcp_test.go:34: tcp_test.go:34: Performing cleanup tcp_test.go:35: Deleting namespaces: [foo] tcp_test.go:35: Creating namespaces: [foo] tcp_test.go:34: Cleanup completed in 21.76s --- PASS: TestAuthorizationTCPTraffic (61.69s) === RUN TestTrustDomainMigration trust_domain_test.go:49: trust_domain_test.go:49: STEP 1: Apply default SMCP and SMMR manifests trust_domain_test.go:49: Wait for condition condition=Ready on smcp istio-system/basic... trust_domain_test.go:49: SUCCESS: Condition condition=Ready met by smcp istio-system/basic trust_domain_test.go:96: Configure spec.security.trust.domain to "old-td" and alias "" trust_domain_test.go:112: Wait for condition condition=Ready on smcp istio-system/basic... trust_domain_test.go:112: Wait for condition condition=Ready on smcp istio-system/basic... trust_domain_test.go:112: SUCCESS: Condition condition=Ready met by smcp istio-system/basic trust_domain_test.go:53: Install app "httpbin" in namespace "foo" trust_domain_test.go:53: Install app "sleep" in namespace "foo" trust_domain_test.go:53: Install app "sleep" in namespace "bar" trust_domain_test.go:53: Wait for app foo/httpbin to be ready trust_domain_test.go:53: Wait for app foo/sleep to be ready trust_domain_test.go:53: Wait for app bar/sleep to be ready trust_domain_test.go:58: Apply deny all policy except sleep in bar namespace === RUN TestTrustDomainMigration/Case_1:_Verifying_policy_works trust_domain_test.go:85: Verifying curl output, expecting 403 trust_domain_test.go:86: SUCCESS: string '403' found in output trust_domain_test.go:85: Verifying curl output, expecting 200 trust_domain_test.go:86: SUCCESS: string '200' found in output subtest.go:25: subtest.go:32: Subtest completed in 2.32s (excluding cleanup) --- PASS: TestTrustDomainMigration/Case_1:_Verifying_policy_works (2.32s) === RUN TestTrustDomainMigration/Case_2:_Migrate_trust_domain_without_trust_domain_aliases trust_domain_test.go:96: Configure spec.security.trust.domain to "new-td" and alias "" trust_domain_test.go:112: Wait for condition condition=Ready on smcp istio-system/basic... trust_domain_test.go:112: Wait for condition condition=Ready on smcp istio-system/basic... trust_domain_test.go:112: SUCCESS: Condition condition=Ready met by smcp istio-system/basic trust_domain_test.go:85: Verifying curl output, expecting 403 trust_domain_test.go:86: SUCCESS: string '403' found in output trust_domain_test.go:85: Verifying curl output, expecting 403 trust_domain_test.go:86: SUCCESS: string '403' found in output subtest.go:25: subtest.go:32: Subtest completed in 27.28s (excluding cleanup) --- PASS: TestTrustDomainMigration/Case_2:_Migrate_trust_domain_without_trust_domain_aliases (27.28s) === RUN TestTrustDomainMigration/Case_3:_Migrate_trust_domain_with_trust_domain_aliases trust_domain_test.go:96: Configure spec.security.trust.domain to "new-td" and alias "old-td" trust_domain_test.go:112: Wait for condition condition=Ready on smcp istio-system/basic... trust_domain_test.go:112: Wait for condition condition=Ready on smcp istio-system/basic... trust_domain_test.go:112: SUCCESS: Condition condition=Ready met by smcp istio-system/basic trust_domain_test.go:85: Verifying curl output, expecting 403 trust_domain_test.go:86: SUCCESS: string '403' found in output trust_domain_test.go:85: Verifying curl output, expecting 200 trust_domain_test.go:86: SUCCESS: string '200' found in output subtest.go:25: subtest.go:32: Subtest completed in 26.45s (excluding cleanup) --- PASS: TestTrustDomainMigration/Case_3:_Migrate_trust_domain_with_trust_domain_aliases (26.45s) test.go:77: test.go:84: Test completed in 95.25s (excluding cleanup) trust_domain_test.go:39: trust_domain_test.go:39: Performing cleanup trust_domain_test.go:39: Cleanup completed in 2.65s --- PASS: TestTrustDomainMigration (97.91s) PASS ok github.com/maistra/maistra-test-tool/pkg/tests/tasks/security/authorization 430.695s test_helper_setup.go:64: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === RUN TestAlpnFilterDisabledForNonIstioMtls alpn_filter_non_istio_test.go:27: Deploying SMCP alpn_filter_non_istio_test.go:28: alpn_filter_non_istio_test.go:28: STEP 1: Apply default SMCP and SMMR manifests alpn_filter_non_istio_test.go:28: Wait for condition condition=Ready on smcp istio-system/basic... alpn_filter_non_istio_test.go:28: Wait for condition condition=Ready on smcp istio-system/basic... alpn_filter_non_istio_test.go:28: SUCCESS: Condition condition=Ready met by smcp istio-system/basic alpn_filter_non_istio_test.go:33: Deploying nginx app alpn_filter_non_istio_test.go:34: Install app "nginx" in namespace "foo" alpn_filter_non_istio_test.go:34: Wait for app foo/nginx to be ready === RUN TestAlpnFilterDisabledForNonIstioMtls/Testing_connection_through_gateway_with_parameters:_{Ns:foo_Subset:false_PortLevelSettings:false} alpn_filter_non_istio_test.go:68: Applying gateway, virtual service, and destination rule for the nginx app using parameters: {Ns:foo Subset:false PortLevelSettings:false} alpn_filter_non_istio_test.go:71: SUCCESS: Connection succeeded. subtest.go:25: subtest.go:32: Subtest completed in 2.64s (excluding cleanup) alpn_filter_non_istio_test.go:64: alpn_filter_non_istio_test.go:64: Performing cleanup alpn_filter_non_istio_test.go:64: Cleanup completed in 0.34s --- PASS: TestAlpnFilterDisabledForNonIstioMtls/Testing_connection_through_gateway_with_parameters:_{Ns:foo_Subset:false_PortLevelSettings:false} (2.97s) === RUN TestAlpnFilterDisabledForNonIstioMtls/Testing_connection_through_gateway_with_parameters:_{Ns:foo_Subset:true_PortLevelSettings:false} alpn_filter_non_istio_test.go:68: Applying gateway, virtual service, and destination rule for the nginx app using parameters: {Ns:foo Subset:true PortLevelSettings:false} alpn_filter_non_istio_test.go:71: SUCCESS: Connection succeeded. subtest.go:25: subtest.go:32: Subtest completed in 2.69s (excluding cleanup) alpn_filter_non_istio_test.go:64: alpn_filter_non_istio_test.go:64: Performing cleanup alpn_filter_non_istio_test.go:64: Cleanup completed in 0.34s --- PASS: TestAlpnFilterDisabledForNonIstioMtls/Testing_connection_through_gateway_with_parameters:_{Ns:foo_Subset:true_PortLevelSettings:false} (3.03s) === RUN TestAlpnFilterDisabledForNonIstioMtls/Testing_connection_through_gateway_with_parameters:_{Ns:foo_Subset:false_PortLevelSettings:true} alpn_filter_non_istio_test.go:68: Applying gateway, virtual service, and destination rule for the nginx app using parameters: {Ns:foo Subset:false PortLevelSettings:true} alpn_filter_non_istio_test.go:71: SUCCESS: Connection succeeded. subtest.go:25: subtest.go:32: Subtest completed in 3.21s (excluding cleanup) alpn_filter_non_istio_test.go:64: alpn_filter_non_istio_test.go:64: Performing cleanup alpn_filter_non_istio_test.go:64: Cleanup completed in 0.38s --- PASS: TestAlpnFilterDisabledForNonIstioMtls/Testing_connection_through_gateway_with_parameters:_{Ns:foo_Subset:false_PortLevelSettings:true} (3.60s) === RUN TestAlpnFilterDisabledForNonIstioMtls/Testing_connection_through_gateway_with_parameters:_{Ns:foo_Subset:true_PortLevelSettings:true} alpn_filter_non_istio_test.go:68: Applying gateway, virtual service, and destination rule for the nginx app using parameters: {Ns:foo Subset:true PortLevelSettings:true} alpn_filter_non_istio_test.go:71: SUCCESS: Connection succeeded. subtest.go:25: subtest.go:32: Subtest completed in 2.67s (excluding cleanup) alpn_filter_non_istio_test.go:64: alpn_filter_non_istio_test.go:64: Performing cleanup alpn_filter_non_istio_test.go:64: Cleanup completed in 0.47s --- PASS: TestAlpnFilterDisabledForNonIstioMtls/Testing_connection_through_gateway_with_parameters:_{Ns:foo_Subset:true_PortLevelSettings:true} (3.14s) test.go:77: test.go:84: Test completed in 45.63s (excluding cleanup) alpn_filter_non_istio_test.go:22: alpn_filter_non_istio_test.go:22: Performing cleanup alpn_filter_non_istio_test.go:23: Deleting namespaces: [foo] alpn_filter_non_istio_test.go:23: Creating namespaces: [foo] alpn_filter_non_istio_test.go:24: Deleting namespaces: [istio-system] alpn_filter_non_istio_test.go:24: Creating namespaces: [istio-system] alpn_filter_non_istio_test.go:22: Cleanup completed in 50.86s --- PASS: TestAlpnFilterDisabledForNonIstioMtls (96.49s) === RUN TestExternalCertificate external_ca_test.go:48: external_ca_test.go:48: STEP 1: Uninstall existing SMCP external_ca_test.go:49: Deleting namespaces: [istio-system] external_ca_test.go:49: Creating namespaces: [istio-system] external_ca_test.go:51: external_ca_test.go:51: STEP 2: Create cacerts secret external_ca_test.go:60: external_ca_test.go:60: STEP 3: Apply SMCP to configure certificate authority to use cacerts secret external_ca_test.go:62: Wait for condition condition=Ready on smcp istio-system/basic... external_ca_test.go:62: SUCCESS: Condition condition=Ready met by smcp istio-system/basic external_ca_test.go:64: external_ca_test.go:64: STEP 4: Install bookinfo external_ca_test.go:65: Install app "bookinfo" in namespace "bookinfo" external_ca_test.go:65: Create Bookinfo Gateway external_ca_test.go:65: Create Bookinfo Destination Rules (all) external_ca_test.go:65: Create Bookinfo Deployments external_ca_test.go:65: Wait for app bookinfo/bookinfo to be ready external_ca_test.go:67: external_ca_test.go:67: STEP 5: Wait for response from productpage app external_ca_test.go:68: SUCCESS: received expected status code 200 external_ca_test.go:74: external_ca_test.go:74: STEP 6: Retrieve certificates from bookinfo details service external_ca_test.go:86: SUCCESS: The cert-chain certificates are present in the certificates sent by the tested service external_ca_test.go:90: SUCCESS: Certificate trust chain successfully verified test.go:77: test.go:84: Test completed in 36.60s (excluding cleanup) external_ca_test.go:37: external_ca_test.go:37: Performing cleanup external_ca_test.go:38: Recreate namespace bookinfo external_ca_test.go:39: Deleting namespaces: [bookinfo istio-system] external_ca_test.go:39: Creating namespaces: [bookinfo istio-system] external_ca_test.go:37: Cleanup completed in 19.51s --- PASS: TestExternalCertificate (56.10s) PASS ok github.com/maistra/maistra-test-tool/pkg/tests/tasks/security/certificate 154.300s test_helper_setup.go:64: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === RUN TestIstioCsr istio_csr_test.go:31: istio-csr is not supported in SMCP older than v2.4 test.go:77: test.go:84: Test completed in 0.00s (excluding cleanup) --- SKIP: TestIstioCsr (0.00s) === RUN TestPluginCaCert plugin_ca_test.go:30: istio-csr is not supported in SMCP older than v2.4 test.go:77: test.go:84: Test completed in 0.00s (excluding cleanup) --- SKIP: TestPluginCaCert (0.00s) PASS ok github.com/maistra/maistra-test-tool/pkg/tests/tasks/security/certmanager 1.696s test_helper_setup.go:64: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === RUN TestCircuitBreaking circuit_breaking_test.go:37: This test checks whether the circuit breaker functions correctly. Check documentation: https://istio.io/latest/docs/tasks/traffic-management/circuit-breaking/ circuit_breaking_test.go:44: circuit_breaking_test.go:44: STEP 1: Apply default SMCP and SMMR manifests circuit_breaking_test.go:44: Wait for condition condition=Ready on smcp istio-system/basic... circuit_breaking_test.go:44: Wait for condition condition=Ready on smcp istio-system/basic... circuit_breaking_test.go:44: SUCCESS: Condition condition=Ready met by smcp istio-system/basic circuit_breaking_test.go:46: circuit_breaking_test.go:46: STEP 2: Install httpbin and fortio circuit_breaking_test.go:47: Install app "httpbin" in namespace "bookinfo" circuit_breaking_test.go:47: Install app "fortio" in namespace "bookinfo" circuit_breaking_test.go:47: Wait for app bookinfo/httpbin to be ready circuit_breaking_test.go:47: Wait for app bookinfo/fortio to be ready circuit_breaking_test.go:49: circuit_breaking_test.go:49: STEP 3: Configure circuit breaker destination rule circuit_breaking_test.go:52: circuit_breaking_test.go:52: STEP 4: Verify connection with curl: expect 200 OK circuit_breaking_test.go:53: SUCCESS: Got expected 200 OK response from httpbin circuit_breaking_test.go:66: circuit_breaking_test.go:66: STEP 5: Trip the circuit breaker by sending 50 requests to httpbin with 2 connections circuit_breaking_test.go:67: We expect request with response code 503 circuit_breaking_test.go:85: circuit_breaking_test.go:85: STEP 6: Validate the circuit breaker is tripped by checking the istio-proxy log circuit_breaking_test.go:122: SUCCESS: Found Upstream_rq_pending_overflow : 22 circuit_breaking_test.go:68: Success rate 200: 56% circuit_breaking_test.go:68: Success rate 503: 44% circuit_breaking_test.go:68: Verify istio-proxy pilot-agent stats, expected upstream_rq_pending_overflow value to be more than zero test.go:77: test.go:84: Test completed in 46.49s (excluding cleanup) circuit_breaking_test.go:40: circuit_breaking_test.go:40: Performing cleanup circuit_breaking_test.go:41: Deleting namespaces: [bookinfo] circuit_breaking_test.go:41: Creating namespaces: [bookinfo] circuit_breaking_test.go:40: Cleanup completed in 16.87s --- PASS: TestCircuitBreaking (63.36s) === RUN TestFaultInjection fault_injection_test.go:47: fault_injection_test.go:47: STEP 1: Apply default SMCP and SMMR manifests fault_injection_test.go:47: Wait for condition condition=Ready on smcp istio-system/basic... fault_injection_test.go:47: SUCCESS: Condition condition=Ready met by smcp istio-system/basic fault_injection_test.go:49: fault_injection_test.go:49: STEP 2: Install Bookinfo fault_injection_test.go:50: Install app "bookinfo" in namespace "bookinfo" fault_injection_test.go:50: Create Bookinfo Gateway fault_injection_test.go:50: Create Bookinfo Destination Rules (all) fault_injection_test.go:50: Create Bookinfo Deployments fault_injection_test.go:50: Wait for app bookinfo/bookinfo to be ready fault_injection_test.go:52: Logging into bookinfo as "jason" === RUN TestFaultInjection/ratings-fault-delay fault_injection_test.go:60: fault_injection_test.go:60: STEP 1: check if productpage shows 'error fetching product reviews' due to delay injection fault_injection_test.go:61: SUCCESS: request completed in 6.188s, which is within the expected range 4s - 14s fault_injection_test.go:61: SUCCESS: productpage shows 'error fetching product reviews', which is expected subtest.go:25: subtest.go:32: Subtest completed in 8.84s (excluding cleanup) --- PASS: TestFaultInjection/ratings-fault-delay (8.84s) === RUN TestFaultInjection/ratings-fault-abort fault_injection_test.go:77: fault_injection_test.go:77: STEP 1: check if productpage shows ratings service as unavailable due to abort injection fault_injection_test.go:78: SUCCESS: productpage shows 'ratings service is currently unavailable' as expected subtest.go:25: subtest.go:32: Subtest completed in 2.49s (excluding cleanup) --- PASS: TestFaultInjection/ratings-fault-abort (2.49s) test.go:77: test.go:84: Test completed in 41.22s (excluding cleanup) fault_injection_test.go:43: fault_injection_test.go:43: Performing cleanup fault_injection_test.go:44: Deleting namespaces: [bookinfo] fault_injection_test.go:44: Creating namespaces: [bookinfo] fault_injection_test.go:43: Cleanup completed in 22.26s --- PASS: TestFaultInjection (63.47s) === RUN TestRequestRouting request_routing_test.go:37: request_routing_test.go:37: STEP 1: Apply default SMCP and SMMR manifests request_routing_test.go:37: Wait for condition condition=Ready on smcp istio-system/basic... request_routing_test.go:37: Wait for condition condition=Ready on smcp istio-system/basic... request_routing_test.go:37: SUCCESS: Condition condition=Ready met by smcp istio-system/basic request_routing_test.go:39: request_routing_test.go:39: STEP 2: Install Bookinfo request_routing_test.go:40: Install app "bookinfo" in namespace "bookinfo" request_routing_test.go:40: Create Bookinfo Gateway request_routing_test.go:40: Create Bookinfo Destination Rules (all) request_routing_test.go:40: Create Bookinfo Deployments request_routing_test.go:40: Wait for app bookinfo/bookinfo to be ready request_routing_test.go:43: Logging into bookinfo as "jason" === RUN TestRequestRouting/not-logged-in request_routing_test.go:48: request_routing_test.go:48: STEP 1: get productpage without logging in; expect to get reviews-v1 (5x) request_routing_test.go:49: SUCCESS: productpage called reviews-v1 request_routing_test.go:49: SUCCESS: productpage called reviews-v1 request_routing_test.go:49: SUCCESS: productpage called reviews-v1 request_routing_test.go:49: SUCCESS: productpage called reviews-v1 request_routing_test.go:49: SUCCESS: productpage called reviews-v1 subtest.go:25: subtest.go:32: Subtest completed in 5.44s (excluding cleanup) --- PASS: TestRequestRouting/not-logged-in (5.44s) === RUN TestRequestRouting/logged-in request_routing_test.go:65: request_routing_test.go:65: STEP 1: get productpage as logged-in user; expect to get reviews-v2 (5x) request_routing_test.go:66: SUCCESS: productpage called reviews-v2 request_routing_test.go:66: SUCCESS: productpage called reviews-v2 request_routing_test.go:66: SUCCESS: productpage called reviews-v2 request_routing_test.go:66: SUCCESS: productpage called reviews-v2 request_routing_test.go:66: SUCCESS: productpage called reviews-v2 subtest.go:25: subtest.go:32: Subtest completed in 4.11s (excluding cleanup) --- PASS: TestRequestRouting/logged-in (4.11s) test.go:77: test.go:84: Test completed in 38.30s (excluding cleanup) request_routing_test.go:33: request_routing_test.go:33: Performing cleanup request_routing_test.go:34: Deleting namespaces: [bookinfo] request_routing_test.go:34: Creating namespaces: [bookinfo] request_routing_test.go:33: Cleanup completed in 16.90s --- PASS: TestRequestRouting (55.21s) === RUN TestRequestTimeouts request_timeouts_test.go:42: request_timeouts_test.go:42: STEP 1: Apply default SMCP and SMMR manifests request_timeouts_test.go:42: Wait for condition condition=Ready on smcp istio-system/basic... request_timeouts_test.go:42: SUCCESS: Condition condition=Ready met by smcp istio-system/basic request_timeouts_test.go:44: request_timeouts_test.go:44: STEP 2: Install Bookinfo request_timeouts_test.go:45: Install app "bookinfo" in namespace "bookinfo" request_timeouts_test.go:45: Create Bookinfo Gateway request_timeouts_test.go:45: Create Bookinfo Destination Rules (all) request_timeouts_test.go:45: Create Bookinfo Deployments request_timeouts_test.go:45: Wait for app bookinfo/bookinfo to be ready request_timeouts_test.go:51: request_timeouts_test.go:51: STEP 3: make sure there is no timeout before applying delay and timeout in VirtualServices request_timeouts_test.go:52: SUCCESS: received normal productpage response request_timeouts_test.go:62: request_timeouts_test.go:62: STEP 4: apply delay and timeout in VirtualServices request_timeouts_test.go:65: request_timeouts_test.go:65: STEP 5: check if productpage shows 'error fetching product reviews' due to delay and timeout injection request_timeouts_test.go:66: SUCCESS: productpage shows 'error fetching product reviews', which is expected request_timeouts_test.go:66: SUCCESS: productpage shows 'error fetching product reviews', which is expected request_timeouts_test.go:66: SUCCESS: productpage shows 'error fetching product reviews', which is expected request_timeouts_test.go:66: SUCCESS: productpage shows 'error fetching product reviews', which is expected request_timeouts_test.go:66: SUCCESS: productpage shows 'error fetching product reviews', which is expected request_timeouts_test.go:66: SUCCESS: productpage shows 'error fetching product reviews', which is expected test.go:77: test.go:84: Test completed in 42.58s (excluding cleanup) request_timeouts_test.go:38: request_timeouts_test.go:38: Performing cleanup request_timeouts_test.go:39: Deleting namespaces: [bookinfo] request_timeouts_test.go:39: Creating namespaces: [bookinfo] request_timeouts_test.go:38: Cleanup completed in 17.28s --- PASS: TestRequestTimeouts (59.86s) === RUN TestMirroring traffic_mirroring_test.go:38: traffic_mirroring_test.go:38: STEP 1: Apply default SMCP and SMMR manifests traffic_mirroring_test.go:38: Wait for condition condition=Ready on smcp istio-system/basic... traffic_mirroring_test.go:38: SUCCESS: Condition condition=Ready met by smcp istio-system/basic traffic_mirroring_test.go:40: traffic_mirroring_test.go:40: STEP 2: Install httpbin-v1, httpbin-v2, and sleep traffic_mirroring_test.go:41: Install app "httpbin-v1" in namespace "bookinfo" traffic_mirroring_test.go:41: Install app "httpbin-v2" in namespace "bookinfo" traffic_mirroring_test.go:41: Install app "sleep" in namespace "bookinfo" traffic_mirroring_test.go:41: Wait for app bookinfo/httpbin-v1 to be ready traffic_mirroring_test.go:41: Wait for app bookinfo/httpbin-v2 to be ready traffic_mirroring_test.go:41: Wait for app bookinfo/sleep to be ready === RUN TestMirroring/no_mirroring traffic_mirroring_test.go:49: traffic_mirroring_test.go:49: STEP 1: sending HTTP request from sleep to httpbin-v1, not expecting mirroring to v2 traffic_mirroring_test.go:50: SUCCESS: request received by httpbin-v1 traffic_mirroring_test.go:50: SUCCESS: request not mirrored to httpbin-v2 subtest.go:25: subtest.go:32: Subtest completed in 4.87s (excluding cleanup) --- PASS: TestMirroring/no_mirroring (4.87s) === RUN TestMirroring/mirroring_to_httpbin-v2 traffic_mirroring_test.go:79: traffic_mirroring_test.go:79: STEP 1: sending HTTP request from sleep to httpbin-v1, expecting mirroring to v2 traffic_mirroring_test.go:80: SUCCESS: request received by httpbin-v1 traffic_mirroring_test.go:80: SUCCESS: request mirrored to httpbin-v2 subtest.go:25: subtest.go:32: Subtest completed in 4.71s (excluding cleanup) --- PASS: TestMirroring/mirroring_to_httpbin-v2 (4.71s) test.go:77: test.go:84: Test completed in 32.72s (excluding cleanup) traffic_mirroring_test.go:34: traffic_mirroring_test.go:34: Performing cleanup traffic_mirroring_test.go:35: Deleting namespaces: [bookinfo] traffic_mirroring_test.go:35: Creating namespaces: [bookinfo] traffic_mirroring_test.go:34: Cleanup completed in 16.12s --- PASS: TestMirroring (48.84s) === RUN TestTrafficShifting traffic_shifting_test.go:41: traffic_shifting_test.go:41: STEP 1: Apply default SMCP and SMMR manifests traffic_shifting_test.go:41: Wait for condition condition=Ready on smcp istio-system/basic... traffic_shifting_test.go:41: SUCCESS: Condition condition=Ready met by smcp istio-system/basic traffic_shifting_test.go:43: traffic_shifting_test.go:43: STEP 2: Install Bookinfo traffic_shifting_test.go:44: Install app "bookinfo" in namespace "bookinfo" traffic_shifting_test.go:44: Create Bookinfo Gateway traffic_shifting_test.go:44: Create Bookinfo Destination Rules (all) traffic_shifting_test.go:44: Create Bookinfo Deployments traffic_shifting_test.go:44: Wait for app bookinfo/bookinfo to be ready === RUN TestTrafficShifting/50_percent_to_v3 traffic_shifting_test.go:50: traffic_shifting_test.go:50: STEP 1: configure VirtualService to split traffic 50% to v1 and 50% to v3 traffic_shifting_test.go:53: traffic_shifting_test.go:53: STEP 2: Make 100 requests and check if v1 and v3 get 50% of requests each (tolerance: 20%) traffic_shifting_test.go:116: SUCCESS: 51/100 responses matched productpage-normal-user-v1.html (actual rate 0.510000, expected 0.500000, tolerance 0.200000) traffic_shifting_test.go:116: SUCCESS: 49/100 responses matched productpage-normal-user-v3.html (actual rate 0.490000, expected 0.500000, tolerance 0.200000) traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 traffic_shifting_test.go:54: SUCCESS: received expected status code 200 subtest.go:25: subtest.go:32: Subtest completed in 9.71s (excluding cleanup) --- PASS: TestTrafficShifting/50_percent_to_v3 (9.71s) === RUN TestTrafficShifting/100_percent_to_v3 traffic_shifting_test.go:64: traffic_shifting_test.go:64: STEP 1: configure VirtualService to send all traffic to v3 traffic_shifting_test.go:67: traffic_shifting_test.go:67: STEP 2: Make 100 requests and check if all of them go to v3 (tolerance: 0%) traffic_shifting_test.go:116: SUCCESS: 100/100 responses matched productpage-normal-user-v3.html (actual rate 1.000000, expected 1.000000, tolerance 0.000000) traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 traffic_shifting_test.go:68: SUCCESS: received expected status code 200 subtest.go:25: subtest.go:32: Subtest completed in 14.10s (excluding cleanup) --- PASS: TestTrafficShifting/100_percent_to_v3 (14.10s) test.go:77: test.go:84: Test completed in 52.89s (excluding cleanup) traffic_shifting_test.go:37: traffic_shifting_test.go:37: Performing cleanup traffic_shifting_test.go:38: Deleting namespaces: [bookinfo] traffic_shifting_test.go:38: Creating namespaces: [bookinfo] traffic_shifting_test.go:37: Cleanup completed in 18.58s --- PASS: TestTrafficShifting (71.46s) === RUN TestTcpTrafficShifting traffic_tcp_shifting_test.go:41: This test validates traffic shifting for TCP traffic. traffic_tcp_shifting_test.go:42: Doc reference: https://istio.io/v1.14/docs/tasks/traffic-management/tcp-traffic-shifting/ traffic_tcp_shifting_test.go:44: traffic_tcp_shifting_test.go:44: STEP 1: Apply default SMCP and SMMR manifests traffic_tcp_shifting_test.go:44: Wait for condition condition=Ready on smcp istio-system/basic... traffic_tcp_shifting_test.go:44: SUCCESS: Condition condition=Ready met by smcp istio-system/basic traffic_tcp_shifting_test.go:46: traffic_tcp_shifting_test.go:46: STEP 2: Install sleep, echoV1 and echoV2 traffic_tcp_shifting_test.go:47: Install app "sleep" in namespace "foo" traffic_tcp_shifting_test.go:47: Install app "echo-v1" in namespace "foo" traffic_tcp_shifting_test.go:47: Install app "echo-v2" in namespace "foo" traffic_tcp_shifting_test.go:47: Wait for app foo/sleep to be ready traffic_tcp_shifting_test.go:47: Wait for app foo/echo-v1 to be ready traffic_tcp_shifting_test.go:47: Wait for app foo/echo-v2 to be ready === RUN TestTcpTrafficShifting/tcp_shift_100_percent_to_v1 traffic_tcp_shifting_test.go:54: traffic_tcp_shifting_test.go:54: STEP 1: Shifting all TCP traffic to v1 traffic_tcp_shifting_test.go:57: traffic_tcp_shifting_test.go:57: STEP 2: make 20 requests and checking if all of them go to v1 (tolerance: 0%) traffic_tcp_shifting_test.go:114: SUCCESS: 20/20 responses matched one (actual rate 1.000000, expected 1.000000, tolerance 0.000000) subtest.go:25: subtest.go:32: Subtest completed in 3.14s (excluding cleanup) traffic_tcp_shifting_test.go:50: traffic_tcp_shifting_test.go:50: Performing cleanup traffic_tcp_shifting_test.go:50: Cleanup completed in 0.40s --- PASS: TestTcpTrafficShifting/tcp_shift_100_percent_to_v1 (3.54s) === RUN TestTcpTrafficShifting/tcp_shift_20_percent_to_v2 traffic_tcp_shifting_test.go:72: traffic_tcp_shifting_test.go:72: STEP 1: Shifting 20 percent TCP traffic to v2 traffic_tcp_shifting_test.go:75: traffic_tcp_shifting_test.go:75: STEP 2: make 100 requests and checking if 20 percent of them go to v2 (tolerance: 10%) traffic_tcp_shifting_test.go:114: SUCCESS: 78/100 responses matched one (actual rate 0.780000, expected 0.800000, tolerance 0.100000) traffic_tcp_shifting_test.go:114: SUCCESS: 22/100 responses matched two (actual rate 0.220000, expected 0.200000, tolerance 0.100000) subtest.go:25: subtest.go:32: Subtest completed in 3.21s (excluding cleanup) traffic_tcp_shifting_test.go:68: traffic_tcp_shifting_test.go:68: Performing cleanup traffic_tcp_shifting_test.go:68: Cleanup completed in 0.40s --- PASS: TestTcpTrafficShifting/tcp_shift_20_percent_to_v2 (3.61s) test.go:77: test.go:84: Test completed in 28.96s (excluding cleanup) traffic_tcp_shifting_test.go:37: traffic_tcp_shifting_test.go:37: Performing cleanup traffic_tcp_shifting_test.go:37: Cleanup completed in 1.76s --- PASS: TestTcpTrafficShifting (30.72s) PASS ok github.com/maistra/maistra-test-tool/pkg/tests/tasks/traffic 394.717s test_helper_setup.go:64: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === RUN TestAccessExternalServices access_external_services_test.go:43: This test validates accesses to external services access_external_services_test.go:45: access_external_services_test.go:45: STEP 1: Apply default SMCP and SMMR manifests access_external_services_test.go:45: Wait for condition condition=Ready on smcp istio-system/basic... access_external_services_test.go:45: SUCCESS: Condition condition=Ready met by smcp istio-system/basic access_external_services_test.go:47: access_external_services_test.go:47: STEP 2: Install sleep into bookinfo access_external_services_test.go:49: Install app "sleep" in namespace "bookinfo" access_external_services_test.go:49: Wait for app bookinfo/sleep to be ready access_external_services_test.go:51: access_external_services_test.go:51: STEP 3: Install httpbin in mesh-external access_external_services_test.go:53: Install app "httpbin" in namespace "mesh-external" access_external_services_test.go:53: Wait for app mesh-external/httpbin to be ready access_external_services_test.go:55: access_external_services_test.go:55: STEP 4: Make request to external httpbin from sleep egress_common.go:24: SUCCESS: Got expected 200 OK from http://httpbin.mesh-external:8000/headers access_external_services_test.go:59: access_external_services_test.go:59: STEP 5: Make sure that external httpbin was not discovered by Istio istioctl.go:11: SUCCESS: Httpbin was not discovered access_external_services_test.go:67: access_external_services_test.go:67: STEP 6: Patch outbound traffic policy to registry only - see https://istio.io/latest/docs/tasks/traffic-management/egress/egress-control/#envoy-passthrough-to-external-services access_external_services_test.go:81: access_external_services_test.go:81: STEP 7: Make request to external httpbin from sleep again, and expect it denied egress_common.go:31: SUCCESS: Got a failure message as expected === RUN TestAccessExternalServices/allow_request_to_external_httpbin_after_applying_ServiceEntry access_external_services_test.go:89: access_external_services_test.go:89: STEP 1: Apply a ServiceEntry for external httpbin access_external_services_test.go:92: access_external_services_test.go:92: STEP 2: Send a request to external httpbin egress_common.go:24: SUCCESS: Got expected 200 OK from http://httpbin.mesh-external:8000/headers subtest.go:25: subtest.go:32: Subtest completed in 2.56s (excluding cleanup) access_external_services_test.go:85: access_external_services_test.go:85: Performing cleanup access_external_services_test.go:85: Cleanup completed in 0.31s --- PASS: TestAccessExternalServices/allow_request_to_external_httpbin_after_applying_ServiceEntry (2.87s) test.go:77: test.go:84: Test completed in 30.80s (excluding cleanup) access_external_services_test.go:35: access_external_services_test.go:35: Performing cleanup access_external_services_test.go:35: Cleanup completed in 1.40s --- PASS: TestAccessExternalServices (32.20s) === RUN TestEgressGateways egress_gateways_test.go:33: egress_gateways_test.go:33: STEP 1: Apply default SMCP and SMMR manifests egress_gateways_test.go:33: Wait for condition condition=Ready on smcp istio-system/basic... egress_gateways_test.go:33: SUCCESS: Condition condition=Ready met by smcp istio-system/basic egress_gateways_test.go:35: egress_gateways_test.go:35: STEP 2: Install sleep pod egress_gateways_test.go:37: Install app "sleep" in namespace "bookinfo" egress_gateways_test.go:37: Wait for app bookinfo/sleep to be ready === RUN TestEgressGateways/HTTP egress_gateways_test.go:40: egress_gateways_test.go:40: STEP 1: Install external httpbin egress_gateways_test.go:42: Install app "httpbin" in namespace "mesh-external" egress_gateways_test.go:42: Wait for app mesh-external/httpbin to be ready egress_gateways_test.go:44: egress_gateways_test.go:44: STEP 2: Apply a ServiceEntry for external httpbin egress_gateways_test.go:50: egress_gateways_test.go:50: STEP 3: Apply a gateway and virtual service for external httpbin egress_common.go:24: SUCCESS: Got expected 200 OK from http://httpbin.mesh-external:8000/headers subtest.go:25: subtest.go:32: Subtest completed in 6.74s (excluding cleanup) egress_gateways_test.go:52: egress_gateways_test.go:52: Performing cleanup egress_gateways_test.go:52: Cleanup completed in 0.37s egress_gateways_test.go:46: egress_gateways_test.go:46: Performing cleanup egress_gateways_test.go:46: Cleanup completed in 0.33s --- PASS: TestEgressGateways/HTTP (7.45s) === RUN TestEgressGateways/HTTPS egress_gateways_test.go:60: egress_gateways_test.go:60: STEP 1: Install external nginx egress_gateways_test.go:61: Install app "nginx" in namespace "mesh-external" egress_gateways_test.go:61: Wait for app mesh-external/nginx to be ready egress_gateways_test.go:63: egress_gateways_test.go:63: STEP 2: Create ServiceEntry for external nginx, port 80 and 443 egress_gateways_test.go:69: egress_gateways_test.go:69: STEP 3: Create a TLS ServiceEntry to external nginx egress_gateways_test.go:75: egress_gateways_test.go:75: STEP 4: Create a https Gateway to external nginx egress_gateways_test.go:81: Send HTTPS request to external nginx egress_common.go:39: SUCCESS: Got expected 200 OK from curl -sSL --insecure -o /dev/null -w "%{http_code}" https://my-nginx.mesh-external.svc.cluster.local 2>/dev/null || echo CURL_FAILED subtest.go:25: subtest.go:32: Subtest completed in 13.19s (excluding cleanup) egress_gateways_test.go:77: egress_gateways_test.go:77: Performing cleanup egress_gateways_test.go:77: Cleanup completed in 0.36s egress_gateways_test.go:71: egress_gateways_test.go:71: Performing cleanup egress_gateways_test.go:71: Cleanup completed in 0.33s egress_gateways_test.go:65: egress_gateways_test.go:65: Performing cleanup egress_gateways_test.go:65: Cleanup completed in 0.37s --- PASS: TestEgressGateways/HTTPS (14.25s) test.go:77: test.go:84: Test completed in 41.40s (excluding cleanup) egress_gateways_test.go:29: egress_gateways_test.go:29: Performing cleanup egress_gateways_test.go:30: Deleting namespaces: [bookinfo] egress_gateways_test.go:30: Creating namespaces: [bookinfo] egress_gateways_test.go:29: Cleanup completed in 16.30s --- PASS: TestEgressGateways (57.70s) === RUN TestTLSOrigination egress_gateways_tls_file_mount_test.go:33: This test verifies that TLS origination works in 2 scenarios: egress_gateways_tls_file_mount_test.go:34: 1) Egress gateway TLS Origination egress_gateways_tls_file_mount_test.go:35: 2) MTLS Origination with file mount (certificates mounted in egress gateway pod) egress_gateways_tls_file_mount_test.go:41: egress_gateways_tls_file_mount_test.go:41: STEP 1: Apply default SMCP and SMMR manifests egress_gateways_tls_file_mount_test.go:41: Wait for condition condition=Ready on smcp istio-system/basic... egress_gateways_tls_file_mount_test.go:41: SUCCESS: Condition condition=Ready met by smcp istio-system/basic egress_gateways_tls_file_mount_test.go:43: egress_gateways_tls_file_mount_test.go:43: STEP 2: Install sleep pod egress_gateways_tls_file_mount_test.go:44: Install app "sleep" in namespace "bookinfo" egress_gateways_tls_file_mount_test.go:44: Wait for app bookinfo/sleep to be ready === RUN TestTLSOrigination/Egress_Gateway_without_file_mount egress_gateways_tls_file_mount_test.go:47: Perform TLS origination with an egress gateway egress_gateways_tls_file_mount_test.go:49: egress_gateways_tls_file_mount_test.go:49: STEP 1: Install external nginx egress_gateways_tls_file_mount_test.go:50: Install app "nginx" in namespace "mesh-external" egress_gateways_tls_file_mount_test.go:50: Wait for app mesh-external/nginx to be ready egress_gateways_tls_file_mount_test.go:52: egress_gateways_tls_file_mount_test.go:52: STEP 2: Make sure that mesh external namespace is not discovered by Istio - it would happen if mesh-external namespaces was added to the SMMR istioctl.go:11: SUCCESS: mesh-external namespace was not discovered egress_gateways_tls_file_mount_test.go:60: egress_gateways_tls_file_mount_test.go:60: STEP 3: Create ServiceEntry for external nginx, port 80 and 443 egress_gateways_tls_file_mount_test.go:66: egress_gateways_tls_file_mount_test.go:66: STEP 4: Create a Gateway, DestinationRule, and VirtualService to route requests to external nginx through the egress gateway egress_gateways_tls_file_mount_test.go:74: egress_gateways_tls_file_mount_test.go:74: STEP 5: Verify that request to external nginx is routed through the egress gateway (response 200 indicates that the TLS origination is done by the egress gateway) egress_gateways_tls_file_mount_test.go:75: SUCCESS: Get expected response: Welcome to nginx subtest.go:25: subtest.go:32: Subtest completed in 11.92s (excluding cleanup) egress_gateways_tls_file_mount_test.go:69: egress_gateways_tls_file_mount_test.go:69: Performing cleanup egress_gateways_tls_file_mount_test.go:69: Cleanup completed in 0.65s egress_gateways_tls_file_mount_test.go:62: egress_gateways_tls_file_mount_test.go:62: Performing cleanup egress_gateways_tls_file_mount_test.go:62: Cleanup completed in 0.43s --- PASS: TestTLSOrigination/Egress_Gateway_without_file_mount (13.00s) === RUN TestTLSOrigination/mTLS_with_file_mount egress_gateways_tls_file_mount_test.go:84: Perform mTLS origination with an egress gateway egress_gateways_tls_file_mount_test.go:98: egress_gateways_tls_file_mount_test.go:98: STEP 1: Deploy nginx mTLS server and create secrets in the mesh namespace egress_gateways_tls_file_mount_test.go:103: Install app "nginx" in namespace "mesh-external" egress_gateways_tls_file_mount_test.go:105: egress_gateways_tls_file_mount_test.go:105: STEP 2: Patch egress gateway with File Mount configuration egress_gateways_tls_file_mount_test.go:108: egress_gateways_tls_file_mount_test.go:108: STEP 3: Configure mTLS origination for egress traffic egress_gateways_tls_file_mount_test.go:112: egress_gateways_tls_file_mount_test.go:112: STEP 4: Wait for egress gateway and nginx to be ready egress_gateways_tls_file_mount_test.go:114: Wait for app mesh-external/nginx to be ready egress_gateways_tls_file_mount_test.go:116: egress_gateways_tls_file_mount_test.go:116: STEP 5: Verify NGINX server egress_gateways_tls_file_mount_test.go:117: SUCCESS: Get expected response: Welcome to nginx subtest.go:25: subtest.go:32: Subtest completed in 12.59s (excluding cleanup) egress_gateways_tls_file_mount_test.go:85: egress_gateways_tls_file_mount_test.go:85: Performing cleanup egress_gateways_tls_file_mount_test.go:95: SUCCESS: Pod istio-ingressgateway-5bd7b74445-c97j2 is being deleted egress_gateways_tls_file_mount_test.go:85: Cleanup completed in 10.85s --- PASS: TestTLSOrigination/mTLS_with_file_mount (23.45s) test.go:77: test.go:84: Test completed in 55.77s (excluding cleanup) egress_gateways_tls_file_mount_test.go:37: egress_gateways_tls_file_mount_test.go:37: Performing cleanup egress_gateways_tls_file_mount_test.go:37: Cleanup completed in 1.00s --- PASS: TestTLSOrigination (56.77s) === RUN TestTLSOriginationSDS egress_gateways_tls_sds_test.go:37: Perform mTLS origination with an egress gateway egress_gateways_tls_sds_test.go:38: egress_gateways_tls_sds_test.go:38: STEP 1: Apply default SMCP and SMMR manifests egress_gateways_tls_sds_test.go:38: Wait for condition condition=Ready on smcp istio-system/basic... egress_gateways_tls_sds_test.go:38: Wait for condition condition=Ready on smcp istio-system/basic... egress_gateways_tls_sds_test.go:38: SUCCESS: Condition condition=Ready met by smcp istio-system/basic egress_gateways_tls_sds_test.go:40: egress_gateways_tls_sds_test.go:40: STEP 2: Install sleep pod egress_gateways_tls_sds_test.go:42: Install app "sleep" in namespace "bookinfo" egress_gateways_tls_sds_test.go:42: Wait for app bookinfo/sleep to be ready egress_gateways_tls_sds_test.go:44: egress_gateways_tls_sds_test.go:44: STEP 3: Deploy nginx mTLS server and create secrets in the mesh namespace egress_gateways_tls_sds_test.go:45: Install app "nginx" in namespace "mesh-external" egress_gateways_tls_sds_test.go:45: Wait for app mesh-external/nginx to be ready egress_gateways_tls_sds_test.go:53: Send HTTP request to external nginx to verify mTLS origination egress_common.go:24: SUCCESS: Got expected 200 OK from http://my-nginx.mesh-external.svc.cluster.local test.go:77: test.go:84: Test completed in 34.59s (excluding cleanup) egress_gateways_tls_sds_test.go:29: egress_gateways_tls_sds_test.go:29: Performing cleanup egress_gateways_tls_sds_test.go:30: Deleting namespaces: [bookinfo] egress_gateways_tls_sds_test.go:30: Creating namespaces: [bookinfo] egress_gateways_tls_sds_test.go:31: Deleting namespaces: [mesh-external] egress_gateways_tls_sds_test.go:31: Creating namespaces: [mesh-external] egress_gateways_tls_sds_test.go:29: Cleanup completed in 35.30s --- PASS: TestTLSOriginationSDS (69.89s) === RUN TestEgressTLSOrigination egress_tls_origination_test.go:35: egress_tls_origination_test.go:35: STEP 1: Apply default SMCP and SMMR manifests egress_tls_origination_test.go:35: Wait for condition condition=Ready on smcp istio-system/basic... egress_tls_origination_test.go:35: SUCCESS: Condition condition=Ready met by smcp istio-system/basic egress_tls_origination_test.go:37: egress_tls_origination_test.go:37: STEP 2: Install sleep pod egress_tls_origination_test.go:38: Install app "sleep" in namespace "bookinfo" egress_tls_origination_test.go:38: Wait for app bookinfo/sleep to be ready === RUN TestEgressTLSOrigination/TrafficManagement_egress_tls_origination egress_tls_origination_test.go:41: TLS origination for egress traffic egress_tls_origination_test.go:49: Install app "nginx" in namespace "mesh-external" egress_tls_origination_test.go:49: Wait for app mesh-external/nginx to be ready egress_common.go:24: SUCCESS: Got expected 200 OK from http://my-nginx.mesh-external.svc.cluster.local subtest.go:25: subtest.go:32: Subtest completed in 14.39s (excluding cleanup) egress_tls_origination_test.go:42: egress_tls_origination_test.go:42: Performing cleanup egress_tls_origination_test.go:42: Cleanup completed in 2.82s --- PASS: TestEgressTLSOrigination/TrafficManagement_egress_tls_origination (17.21s) test.go:77: test.go:84: Test completed in 37.54s (excluding cleanup) egress_tls_origination_test.go:30: egress_tls_origination_test.go:30: Performing cleanup egress_tls_origination_test.go:31: Deleting namespaces: [mesh-external] egress_tls_origination_test.go:31: Creating namespaces: [mesh-external] egress_tls_origination_test.go:30: Cleanup completed in 10.38s --- PASS: TestEgressTLSOrigination (47.92s) === RUN TestEgressWildcard egress_wildcard_hosts_test.go:31: This test checks if the wildcard in the ServiceEntry and Gateway works as expected for Egress traffic. egress_wildcard_hosts_test.go:35: egress_wildcard_hosts_test.go:35: STEP 1: Apply default SMCP and SMMR manifests egress_wildcard_hosts_test.go:35: Wait for condition condition=Ready on smcp istio-system/basic... egress_wildcard_hosts_test.go:35: SUCCESS: Condition condition=Ready met by smcp istio-system/basic egress_wildcard_hosts_test.go:37: egress_wildcard_hosts_test.go:37: STEP 2: Install the sleep pod egress_wildcard_hosts_test.go:38: Install app "sleep" in namespace "bookinfo" egress_wildcard_hosts_test.go:38: Wait for app bookinfo/sleep to be ready === RUN TestEgressWildcard/ServiceEntry egress_wildcard_hosts_test.go:44: egress_wildcard_hosts_test.go:44: STEP 1: Configure ServiceEntry with wildcard host *.wikipedia.org egress_wildcard_hosts_test.go:66: egress_wildcard_hosts_test.go:66: STEP 2: Check external request to en.wikipedia.org and de.wikipedia.org egress_wildcard_hosts_test.go:67: SUCCESS: Received the correct response from en.wikipedia.org egress_wildcard_hosts_test.go:67: SUCCESS: Received the correct response from de.wikipedia.org subtest.go:25: subtest.go:32: Subtest completed in 4.03s (excluding cleanup) egress_wildcard_hosts_test.go:46: egress_wildcard_hosts_test.go:46: Performing cleanup egress_wildcard_hosts_test.go:46: Cleanup completed in 0.36s --- PASS: TestEgressWildcard/ServiceEntry (4.39s) === RUN TestEgressWildcard/Gateway egress_wildcard_hosts_test.go:54: egress_wildcard_hosts_test.go:54: STEP 1: Configure egress Gateway with wildcard host *.wikipedia.org egress_wildcard_hosts_test.go:66: egress_wildcard_hosts_test.go:66: STEP 2: Check external request to en.wikipedia.org and de.wikipedia.org egress_wildcard_hosts_test.go:67: SUCCESS: Received the correct response from en.wikipedia.org egress_wildcard_hosts_test.go:67: SUCCESS: Received the correct response from de.wikipedia.org subtest.go:25: subtest.go:32: Subtest completed in 4.44s (excluding cleanup) egress_wildcard_hosts_test.go:56: egress_wildcard_hosts_test.go:56: Performing cleanup egress_wildcard_hosts_test.go:56: Cleanup completed in 0.33s --- PASS: TestEgressWildcard/Gateway (4.77s) test.go:77: test.go:84: Test completed in 28.72s (excluding cleanup) egress_wildcard_hosts_test.go:39: egress_wildcard_hosts_test.go:39: Performing cleanup egress_wildcard_hosts_test.go:39: Cleanup completed in 0.91s --- PASS: TestEgressWildcard (29.63s) PASS ok github.com/maistra/maistra-test-tool/pkg/tests/tasks/traffic/egress 295.914s test_helper_setup.go:64: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === RUN TestGatewayApi gatewayapi_test.go:28: gatewayapi_test.go:28: STEP 1: Apply default SMCP and SMMR manifests gatewayapi_test.go:28: Wait for condition condition=Ready on smcp istio-system/basic... gatewayapi_test.go:28: SUCCESS: Condition condition=Ready met by smcp istio-system/basic gatewayapi_test.go:30: gatewayapi_test.go:30: STEP 2: Install Gateway API CRD's gatewayapi_test.go:33: Creating namespaces: [foo] === RUN TestGatewayApi/Deploy_the_Kubernetes_Gateway_API gatewayapi_test.go:42: gatewayapi_test.go:42: STEP 1: Install httpbin gatewayapi_test.go:43: Install app "httpbin" in namespace "foo" gatewayapi_test.go:43: Wait for app foo/httpbin to be ready gatewayapi_test.go:45: gatewayapi_test.go:45: STEP 2: Deploy the Gateway SMCP gatewayapi_test.go:78: gatewayapi_test.go:78: STEP 3: Deploy the Gateway API configuration including a single exposed route (i.e., /get) gatewayapi_test.go:84: gatewayapi_test.go:84: STEP 4: Wait for Gateway to be ready gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: FAILURE: Command failed: oc wait -n foo Gateway/gateway --for condition=Ready --timeout 10s error: timed out waiting for the condition on gateways/gateway error: exit status 1 gatewayapi_test.go:85: Running oc describe -n foo Gateway/gateway Name: gateway Namespace: foo Labels: Annotations: API Version: gateway.networking.k8s.io/v1beta1 Kind: Gateway Metadata: Creation Timestamp: 2023-09-13T16:06:24Z Generation: 1 Managed Fields: API Version: gateway.networking.k8s.io/v1alpha2 Fields Type: FieldsV1 fieldsV1: f:status: f:conditions: k:{"type":"Scheduled"}: .: f:lastTransitionTime: f:message: f:observedGeneration: f:reason: f:status: f:type: Manager: istio.io/gateway-controller Operation: Apply Subresource: status Time: 2023-09-13T16:06:27Z API Version: gateway.networking.k8s.io/v1beta1 Fields Type: FieldsV1 fieldsV1: f:spec: Manager: kubectl-client-side-apply Operation: Update Time: 2023-09-13T16:06:24Z API Version: gateway.networking.k8s.io/v1alpha2 Fields Type: FieldsV1 fieldsV1: f:status: f:conditions: k:{"type":"Ready"}: .: f:lastTransitionTime: f:message: f:observedGeneration: f:reason: f:status: f:type: f:listeners: .: k:{"name":"default"}: .: f:attachedRoutes: f:conditions: .: k:{"type":"Conflicted"}: .: f:lastTransitionTime: f:message: f:observedGeneration: f:reason: f:status: f:type: k:{"type":"Detached"}: .: f:lastTransitionTime: f:message: f:observedGeneration: f:reason: f:status: f:type: k:{"type":"Ready"}: .: f:lastTransitionTime: f:message: f:observedGeneration: f:reason: f:status: f:type: k:{"type":"ResolvedRefs"}: .: f:lastTransitionTime: f:message: f:observedGeneration: f:reason: f:status: f:type: f:name: f:supportedKinds: Manager: pilot-discovery Operation: Update Subresource: status Time: 2023-09-13T16:06:27Z Resource Version: 73945892 UID: c661bd29-2169-4a0e-8068-771d6c7a600a Spec: Gateway Class Name: istio Listeners: Allowed Routes: Namespaces: From: All Hostname: *.example.com Name: default Port: 8080 Protocol: HTTP Status: Conditions: Last Transition Time: 2023-09-13T16:06:27Z Message: Deployed gateway to the cluster Observed Generation: 1 Reason: ResourcesAvailable Status: True Type: Scheduled Last Transition Time: 2023-09-13T16:06:27Z Message: failed to assign to any requested addresses: no instances found for hostname "gateway.foo.svc.cluster.local" Observed Generation: 1 Reason: AddressNotAssigned Status: False Type: Ready Listeners: Attached Routes: 1 Conditions: Last Transition Time: 2023-09-13T16:06:27Z Message: No errors found Observed Generation: 1 Reason: ListenerReady Status: False Type: Conflicted Last Transition Time: 2023-09-13T16:06:27Z Message: No errors found Observed Generation: 1 Reason: ListenerReady Status: False Type: Detached Last Transition Time: 2023-09-13T16:06:27Z Message: No errors found Observed Generation: 1 Reason: ListenerReady Status: True Type: Ready Last Transition Time: 2023-09-13T16:06:27Z Message: No errors found Observed Generation: 1 Reason: ListenerReady Status: True Type: ResolvedRefs Name: default Supported Kinds: Group: gateway.networking.k8s.io Kind: HTTPRoute Events: subtest.go:25: subtest.go:27: Subtest failed in 321.70s (excluding cleanup) test.go:97: Capturing cluster state using must-gather registry.redhat.io/openshift-service-mesh/istio-must-gather-rhel8:2.4 test.go:101: /home/jenkins/workspace/maistra/maistra-test-tool/maistra-test-tool/tests/result-20230913150715/v2.3/failures-must-gather/20230913161136-TestGatewayApi-Deploy_the_Kubernetes_Gateway_API gatewayapi_test.go:80: gatewayapi_test.go:80: Performing cleanup gatewayapi_test.go:80: Cleanup completed in 0.42s gatewayapi_test.go:59: gatewayapi_test.go:59: Performing cleanup gatewayapi_test.go:59: Cleanup completed in 0.45s gatewayapi_test.go:37: gatewayapi_test.go:37: Performing cleanup gatewayapi_test.go:38: Deleting namespaces: [istio-system] gatewayapi_test.go:38: Creating namespaces: [istio-system] gatewayapi_test.go:39: Deleting namespaces: [foo] gatewayapi_test.go:39: Creating namespaces: [foo] gatewayapi_test.go:37: Cleanup completed in 57.09s --- FAIL: TestGatewayApi/Deploy_the_Kubernetes_Gateway_API (494.50s) === RUN TestGatewayApi/Deploy_the_Gateway-Controller_Profile gatewayapi_test.go:101: Gateway-Controller Profile was added in v2.4 subtest.go:25: subtest.go:32: Subtest completed in 0.00s (excluding cleanup) --- SKIP: TestGatewayApi/Deploy_the_Gateway-Controller_Profile (0.00s) test.go:77: test.go:79: Test failed in 508.89s (excluding cleanup) test.go:97: Capturing cluster state using must-gather registry.redhat.io/openshift-service-mesh/istio-must-gather-rhel8:2.4 test.go:101: /home/jenkins/workspace/maistra/maistra-test-tool/maistra-test-tool/tests/result-20230913150715/v2.3/failures-must-gather/20230913161429-TestGatewayApi --- FAIL: TestGatewayApi (541.10s) === RUN TestIngressGateways ingress_gateways_test.go:42: ingress_gateways_test.go:42: STEP 1: Apply default SMCP and SMMR manifests ingress_gateways_test.go:42: Wait for condition condition=Ready on smcp istio-system/basic... ingress_gateways_test.go:42: Wait for condition condition=Ready on smcp istio-system/basic... ingress_gateways_test.go:42: SUCCESS: Condition condition=Ready met by smcp istio-system/basic ingress_gateways_test.go:44: ingress_gateways_test.go:44: STEP 2: Install httpbin ingress_gateways_test.go:45: Install app "httpbin" in namespace "bookinfo" ingress_gateways_test.go:45: Wait for app bookinfo/httpbin to be ready === RUN TestIngressGateways/TrafficManagement_ingress_status_200_test ingress_gateways_test.go:50: ingress_gateways_test.go:50: STEP 1: Create httpbin Gateway and VirtualService with host set to httpbin.example.com ingress_gateways_test.go:57: ingress_gateways_test.go:57: STEP 2: Check if httpbin service is reachable through istio-ingressgateway ingress_gateways_test.go:58: SUCCESS: received expected status code 200 subtest.go:25: subtest.go:32: Subtest completed in 3.05s (excluding cleanup) --- PASS: TestIngressGateways/TrafficManagement_ingress_status_200_test (3.05s) === RUN TestIngressGateways/TrafficManagement_ingress_headers_test ingress_gateways_test.go:67: ingress_gateways_test.go:67: STEP 1: Create httpbin Gateway and VirtualService with host set to * ingress_gateways_test.go:70: ingress_gateways_test.go:70: STEP 2: Check if httpbin service is reachable through istio-ingressgateway ingress_gateways_test.go:71: SUCCESS: received expected status code 200 subtest.go:25: subtest.go:32: Subtest completed in 2.69s (excluding cleanup) --- PASS: TestIngressGateways/TrafficManagement_ingress_headers_test (2.69s) test.go:77: test.go:84: Test completed in 39.53s (excluding cleanup) ingress_gateways_test.go:38: ingress_gateways_test.go:38: Performing cleanup ingress_gateways_test.go:39: Deleting namespaces: [bookinfo] ingress_gateways_test.go:39: Creating namespaces: [bookinfo] ingress_gateways_test.go:38: Cleanup completed in 21.56s --- PASS: TestIngressGateways (61.09s) === RUN TestIngressWithoutTlsTermination ingress_without_tls_termination_test.go:36: This test validates configuring an Gateway with TLS PassThrough ingress_without_tls_termination_test.go:37: Doc reference: https://istio.io/v1.14/docs/tasks/traffic-management/ingress/ingress-sni-passthrough/ ingress_without_tls_termination_test.go:46: ingress_without_tls_termination_test.go:46: STEP 1: Apply default SMCP and SMMR manifests ingress_without_tls_termination_test.go:46: Wait for condition condition=Ready on smcp istio-system/basic... ingress_without_tls_termination_test.go:46: SUCCESS: Condition condition=Ready met by smcp istio-system/basic ingress_without_tls_termination_test.go:48: ingress_without_tls_termination_test.go:48: STEP 2: Create NGINX Deployment ingress_without_tls_termination_test.go:49: Install app "nginx" in namespace "bookinfo" ingress_without_tls_termination_test.go:49: Wait for app bookinfo/nginx to be ready ingress_without_tls_termination_test.go:51: ingress_without_tls_termination_test.go:51: STEP 3: Verify NGINX server is running by connecting to it via loopback ingress_without_tls_termination_test.go:52: SUCCESS: Got expected Welcome to nginx response ingress_without_tls_termination_test.go:63: ingress_without_tls_termination_test.go:63: STEP 4: Configure Gateway resource with TLS passthrough for host nginx.example.com ingress_without_tls_termination_test.go:70: ingress_without_tls_termination_test.go:70: STEP 5: Verify NGINX is reachable from outside the cluster through the ingressgateway ingress_without_tls_termination_test.go:73: SUCCESS: string 'Welcome to nginx' found in response test.go:77: test.go:84: Test completed in 26.33s (excluding cleanup) ingress_without_tls_termination_test.go:41: ingress_without_tls_termination_test.go:41: Performing cleanup ingress_without_tls_termination_test.go:41: Cleanup completed in 2.68s --- PASS: TestIngressWithoutTlsTermination (29.00s) === RUN TestSecureGateways secure_gateways_test.go:59: secure_gateways_test.go:59: STEP 1: Apply default SMCP and SMMR manifests secure_gateways_test.go:59: Wait for condition condition=Ready on smcp istio-system/basic... secure_gateways_test.go:59: SUCCESS: Condition condition=Ready met by smcp istio-system/basic secure_gateways_test.go:61: secure_gateways_test.go:61: STEP 2: Install httpbin secure_gateways_test.go:62: Install app "httpbin" in namespace "bookinfo" secure_gateways_test.go:62: Wait for app bookinfo/httpbin to be ready secure_gateways_test.go:66: secure_gateways_test.go:66: STEP 3: Create TLS secrets === RUN TestSecureGateways/tls_single_host secure_gateways_test.go:76: secure_gateways_test.go:76: STEP 1: Configure a TLS ingress gateway for a single host secure_gateways_test.go:83: SUCCESS: string '-=[ teapot ]=-' found in response subtest.go:25: subtest.go:32: Subtest completed in 12.90s (excluding cleanup) --- PASS: TestSecureGateways/tls_single_host (12.90s) === RUN TestSecureGateways/tls_multiple_hosts secure_gateways_test.go:93: secure_gateways_test.go:93: STEP 1: configure Gateway with multiple TLS hosts secure_gateways_test.go:101: secure_gateways_test.go:101: STEP 2: check if helloworld-v1 responds with 200 OK secure_gateways_test.go:102: SUCCESS: received expected status code 200 secure_gateways_test.go:109: secure_gateways_test.go:109: STEP 3: check if httpbin responds with teapot secure_gateways_test.go:110: SUCCESS: string '-=[ teapot ]=-' found in response subtest.go:25: subtest.go:32: Subtest completed in 8.16s (excluding cleanup) --- PASS: TestSecureGateways/tls_multiple_hosts (8.16s) === RUN TestSecureGateways/mutual_tls secure_gateways_test.go:119: secure_gateways_test.go:119: STEP 1: configure Gateway with tls.mode=Mutual secure_gateways_test.go:130: secure_gateways_test.go:130: STEP 2: check if SSL handshake fails when no client certificate is given secure_gateways_test.go:131: failed to get HTTP Response: Get "https://httpbin.example.com:443/status/418": remote error: tls: certificate required secure_gateways_test.go:131: SUCCESS: request failed as expected secure_gateways_test.go:140: secure_gateways_test.go:140: STEP 3: check if SSL handshake succeeds when client certificate is given secure_gateways_test.go:141: SUCCESS: string '-=[ teapot ]=-' found in response subtest.go:25: subtest.go:32: Subtest completed in 3.55s (excluding cleanup) --- PASS: TestSecureGateways/mutual_tls (3.55s) test.go:77: test.go:84: Test completed in 73.14s (excluding cleanup) secure_gateways_test.go:53: secure_gateways_test.go:53: Performing cleanup secure_gateways_test.go:56: Deleting namespaces: [bookinfo] secure_gateways_test.go:56: Creating namespaces: [bookinfo] secure_gateways_test.go:53: Cleanup completed in 16.66s --- PASS: TestSecureGateways (89.80s) FAIL FAIL github.com/maistra/maistra-test-tool/pkg/tests/tasks/traffic/ingress 722.906s DONE 131 tests, 14 skipped, 2 failures in 4236.494s test_helper_setup.go:64: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === RUN TestGatewayApi gatewayapi_test.go:28: gatewayapi_test.go:28: STEP 1: Apply default SMCP and SMMR manifests gatewayapi_test.go:28: Wait for condition condition=Ready on smcp istio-system/basic... gatewayapi_test.go:28: SUCCESS: Condition condition=Ready met by smcp istio-system/basic gatewayapi_test.go:30: gatewayapi_test.go:30: STEP 2: Install Gateway API CRD's gatewayapi_test.go:33: Creating namespaces: [foo] === RUN TestGatewayApi/Deploy_the_Kubernetes_Gateway_API gatewayapi_test.go:42: gatewayapi_test.go:42: STEP 1: Install httpbin gatewayapi_test.go:43: Install app "httpbin" in namespace "foo" gatewayapi_test.go:43: Wait for app foo/httpbin to be ready gatewayapi_test.go:45: gatewayapi_test.go:45: STEP 2: Deploy the Gateway SMCP gatewayapi_test.go:78: gatewayapi_test.go:78: STEP 3: Deploy the Gateway API configuration including a single exposed route (i.e., /get) gatewayapi_test.go:84: gatewayapi_test.go:84: STEP 4: Wait for Gateway to be ready gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: FAILURE: Command failed: oc wait -n foo Gateway/gateway --for condition=Ready --timeout 10s error: timed out waiting for the condition on gateways/gateway error: exit status 1 gatewayapi_test.go:85: Running oc describe -n foo Gateway/gateway Name: gateway Namespace: foo Labels: Annotations: API Version: gateway.networking.k8s.io/v1beta1 Kind: Gateway Metadata: Creation Timestamp: 2023-09-13T16:18:31Z Generation: 1 Managed Fields: API Version: gateway.networking.k8s.io/v1alpha2 Fields Type: FieldsV1 fieldsV1: f:status: f:conditions: k:{"type":"Scheduled"}: .: f:lastTransitionTime: f:message: f:observedGeneration: f:reason: f:status: f:type: Manager: istio.io/gateway-controller Operation: Apply Subresource: status Time: 2023-09-13T16:18:35Z API Version: gateway.networking.k8s.io/v1beta1 Fields Type: FieldsV1 fieldsV1: f:spec: Manager: kubectl-client-side-apply Operation: Update Time: 2023-09-13T16:18:31Z API Version: gateway.networking.k8s.io/v1alpha2 Fields Type: FieldsV1 fieldsV1: f:status: f:conditions: k:{"type":"Ready"}: .: f:lastTransitionTime: f:message: f:observedGeneration: f:reason: f:status: f:type: f:listeners: .: k:{"name":"default"}: .: f:attachedRoutes: f:conditions: .: k:{"type":"Conflicted"}: .: f:lastTransitionTime: f:message: f:observedGeneration: f:reason: f:status: f:type: k:{"type":"Detached"}: .: f:lastTransitionTime: f:message: f:observedGeneration: f:reason: f:status: f:type: k:{"type":"Ready"}: .: f:lastTransitionTime: f:message: f:observedGeneration: f:reason: f:status: f:type: k:{"type":"ResolvedRefs"}: .: f:lastTransitionTime: f:message: f:observedGeneration: f:reason: f:status: f:type: f:name: f:supportedKinds: Manager: pilot-discovery Operation: Update Subresource: status Time: 2023-09-13T16:18:35Z Resource Version: 73954175 UID: c34c3881-8c74-49c1-9094-47582a359818 Spec: Gateway Class Name: istio Listeners: Allowed Routes: Namespaces: From: All Hostname: *.example.com Name: default Port: 8080 Protocol: HTTP Status: Conditions: Last Transition Time: 2023-09-13T16:18:35Z Message: Deployed gateway to the cluster Observed Generation: 1 Reason: ResourcesAvailable Status: True Type: Scheduled Last Transition Time: 2023-09-13T16:18:35Z Message: failed to assign to any requested addresses: no instances found for hostname "gateway.foo.svc.cluster.local" Observed Generation: 1 Reason: AddressNotAssigned Status: False Type: Ready Listeners: Attached Routes: 1 Conditions: Last Transition Time: 2023-09-13T16:18:35Z Message: No errors found Observed Generation: 1 Reason: ListenerReady Status: False Type: Conflicted Last Transition Time: 2023-09-13T16:18:35Z Message: No errors found Observed Generation: 1 Reason: ListenerReady Status: False Type: Detached Last Transition Time: 2023-09-13T16:18:35Z Message: No errors found Observed Generation: 1 Reason: ListenerReady Status: True Type: Ready Last Transition Time: 2023-09-13T16:18:35Z Message: No errors found Observed Generation: 1 Reason: ListenerReady Status: True Type: ResolvedRefs Name: default Supported Kinds: Group: gateway.networking.k8s.io Kind: HTTPRoute Events: subtest.go:25: subtest.go:27: Subtest failed in 322.34s (excluding cleanup) test.go:97: Capturing cluster state using must-gather registry.redhat.io/openshift-service-mesh/istio-must-gather-rhel8:2.4 test.go:101: /home/jenkins/workspace/maistra/maistra-test-tool/maistra-test-tool/tests/result-20230913150715/v2.3/failures-must-gather/20230913162344-TestGatewayApi-Deploy_the_Kubernetes_Gateway_API gatewayapi_test.go:80: gatewayapi_test.go:80: Performing cleanup gatewayapi_test.go:80: Cleanup completed in 0.39s gatewayapi_test.go:59: gatewayapi_test.go:59: Performing cleanup gatewayapi_test.go:59: Cleanup completed in 0.53s gatewayapi_test.go:37: gatewayapi_test.go:37: Performing cleanup gatewayapi_test.go:38: Deleting namespaces: [istio-system] gatewayapi_test.go:38: Creating namespaces: [istio-system] gatewayapi_test.go:39: Deleting namespaces: [foo] gatewayapi_test.go:39: Creating namespaces: [foo] gatewayapi_test.go:37: Cleanup completed in 59.18s --- FAIL: TestGatewayApi/Deploy_the_Kubernetes_Gateway_API (489.10s) === RUN TestGatewayApi/Deploy_the_Gateway-Controller_Profile gatewayapi_test.go:101: Gateway-Controller Profile was added in v2.4 subtest.go:25: subtest.go:32: Subtest completed in 0.00s (excluding cleanup) --- SKIP: TestGatewayApi/Deploy_the_Gateway-Controller_Profile (0.00s) test.go:77: test.go:79: Test failed in 503.90s (excluding cleanup) test.go:97: Capturing cluster state using must-gather registry.redhat.io/openshift-service-mesh/istio-must-gather-rhel8:2.4 test.go:101: /home/jenkins/workspace/maistra/maistra-test-tool/maistra-test-tool/tests/result-20230913150715/v2.3/failures-must-gather/20230913162630-TestGatewayApi --- FAIL: TestGatewayApi (536.73s) FAIL FAIL github.com/maistra/maistra-test-tool/pkg/tests/tasks/traffic/ingress 538.585s DONE 2 runs, 134 tests, 15 skipped, 4 failures in 4778.493s test_helper_setup.go:64: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === RUN TestGatewayApi gatewayapi_test.go:28: gatewayapi_test.go:28: STEP 1: Apply default SMCP and SMMR manifests gatewayapi_test.go:28: Wait for condition condition=Ready on smcp istio-system/basic... gatewayapi_test.go:28: Wait for condition condition=Ready on smcp istio-system/basic... gatewayapi_test.go:28: SUCCESS: Condition condition=Ready met by smcp istio-system/basic gatewayapi_test.go:30: gatewayapi_test.go:30: STEP 2: Install Gateway API CRD's gatewayapi_test.go:33: Creating namespaces: [foo] === RUN TestGatewayApi/Deploy_the_Kubernetes_Gateway_API gatewayapi_test.go:42: gatewayapi_test.go:42: STEP 1: Install httpbin gatewayapi_test.go:43: Install app "httpbin" in namespace "foo" gatewayapi_test.go:43: Wait for app foo/httpbin to be ready gatewayapi_test.go:45: gatewayapi_test.go:45: STEP 2: Deploy the Gateway SMCP gatewayapi_test.go:78: gatewayapi_test.go:78: STEP 3: Deploy the Gateway API configuration including a single exposed route (i.e., /get) gatewayapi_test.go:84: gatewayapi_test.go:84: STEP 4: Wait for Gateway to be ready gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: FAILURE: Command failed: oc wait -n foo Gateway/gateway --for condition=Ready --timeout 10s error: timed out waiting for the condition on gateways/gateway error: exit status 1 gatewayapi_test.go:85: Running oc describe -n foo Gateway/gateway Name: gateway Namespace: foo Labels: Annotations: API Version: gateway.networking.k8s.io/v1beta1 Kind: Gateway Metadata: Creation Timestamp: 2023-09-13T16:27:46Z Generation: 1 Managed Fields: API Version: gateway.networking.k8s.io/v1alpha2 Fields Type: FieldsV1 fieldsV1: f:status: f:conditions: k:{"type":"Scheduled"}: .: f:lastTransitionTime: f:message: f:observedGeneration: f:reason: f:status: f:type: Manager: istio.io/gateway-controller Operation: Apply Subresource: status Time: 2023-09-13T16:27:49Z API Version: gateway.networking.k8s.io/v1beta1 Fields Type: FieldsV1 fieldsV1: f:spec: Manager: kubectl-client-side-apply Operation: Update Time: 2023-09-13T16:27:46Z API Version: gateway.networking.k8s.io/v1alpha2 Fields Type: FieldsV1 fieldsV1: f:status: f:conditions: k:{"type":"Ready"}: .: f:lastTransitionTime: f:message: f:observedGeneration: f:reason: f:status: f:type: f:listeners: .: k:{"name":"default"}: .: f:attachedRoutes: f:conditions: .: k:{"type":"Conflicted"}: .: f:lastTransitionTime: f:message: f:observedGeneration: f:reason: f:status: f:type: k:{"type":"Detached"}: .: f:lastTransitionTime: f:message: f:observedGeneration: f:reason: f:status: f:type: k:{"type":"Ready"}: .: f:lastTransitionTime: f:message: f:observedGeneration: f:reason: f:status: f:type: k:{"type":"ResolvedRefs"}: .: f:lastTransitionTime: f:message: f:observedGeneration: f:reason: f:status: f:type: f:name: f:supportedKinds: Manager: pilot-discovery Operation: Update Subresource: status Time: 2023-09-13T16:27:49Z Resource Version: 73959836 UID: e3190037-468f-47c7-b259-d778a6b9c47f Spec: Gateway Class Name: istio Listeners: Allowed Routes: Namespaces: From: All Hostname: *.example.com Name: default Port: 8080 Protocol: HTTP Status: Conditions: Last Transition Time: 2023-09-13T16:27:49Z Message: Deployed gateway to the cluster Observed Generation: 1 Reason: ResourcesAvailable Status: True Type: Scheduled Last Transition Time: 2023-09-13T16:27:49Z Message: failed to assign to any requested addresses: no instances found for hostname "gateway.foo.svc.cluster.local" Observed Generation: 1 Reason: AddressNotAssigned Status: False Type: Ready Listeners: Attached Routes: 1 Conditions: Last Transition Time: 2023-09-13T16:27:49Z Message: No errors found Observed Generation: 1 Reason: ListenerReady Status: False Type: Conflicted Last Transition Time: 2023-09-13T16:27:49Z Message: No errors found Observed Generation: 1 Reason: ListenerReady Status: False Type: Detached Last Transition Time: 2023-09-13T16:27:49Z Message: No errors found Observed Generation: 1 Reason: ListenerReady Status: True Type: Ready Last Transition Time: 2023-09-13T16:27:49Z Message: No errors found Observed Generation: 1 Reason: ListenerReady Status: True Type: ResolvedRefs Name: default Supported Kinds: Group: gateway.networking.k8s.io Kind: HTTPRoute Events: subtest.go:25: subtest.go:27: Subtest failed in 321.09s (excluding cleanup) test.go:97: Capturing cluster state using must-gather registry.redhat.io/openshift-service-mesh/istio-must-gather-rhel8:2.4 test.go:101: /home/jenkins/workspace/maistra/maistra-test-tool/maistra-test-tool/tests/result-20230913150715/v2.3/failures-must-gather/20230913163257-TestGatewayApi-Deploy_the_Kubernetes_Gateway_API gatewayapi_test.go:80: gatewayapi_test.go:80: Performing cleanup gatewayapi_test.go:80: Cleanup completed in 0.33s gatewayapi_test.go:59: gatewayapi_test.go:59: Performing cleanup gatewayapi_test.go:59: Cleanup completed in 0.60s gatewayapi_test.go:37: gatewayapi_test.go:37: Performing cleanup gatewayapi_test.go:38: Deleting namespaces: [istio-system] gatewayapi_test.go:38: Creating namespaces: [istio-system] gatewayapi_test.go:39: Deleting namespaces: [foo] gatewayapi_test.go:39: Creating namespaces: [foo] gatewayapi_test.go:37: Cleanup completed in 58.97s --- FAIL: TestGatewayApi/Deploy_the_Kubernetes_Gateway_API (490.60s) === RUN TestGatewayApi/Deploy_the_Gateway-Controller_Profile gatewayapi_test.go:101: Gateway-Controller Profile was added in v2.4 subtest.go:25: subtest.go:32: Subtest completed in 0.00s (excluding cleanup) --- SKIP: TestGatewayApi/Deploy_the_Gateway-Controller_Profile (0.00s) test.go:77: test.go:79: Test failed in 516.50s (excluding cleanup) test.go:97: Capturing cluster state using must-gather registry.redhat.io/openshift-service-mesh/istio-must-gather-rhel8:2.4 test.go:101: /home/jenkins/workspace/maistra/maistra-test-tool/maistra-test-tool/tests/result-20230913150715/v2.3/failures-must-gather/20230913163546-TestGatewayApi --- FAIL: TestGatewayApi (550.56s) FAIL FAIL github.com/maistra/maistra-test-tool/pkg/tests/tasks/traffic/ingress 554.077s === Skipped === SKIP: pkg/tests/ossm TestDiscoverySelectors (0.00s) discovery_selectors_test.go:34: This test checks if discoverySelectors are being honored discovery_selectors_test.go:35: See https://issues.redhat.com/browse/OSSM-3802 discovery_selectors_test.go:36: Test case is based on https://istio.io/latest/blog/2021/discovery-selectors/ discovery_selectors_test.go:38: Skipped because spec.meshConfig.discoverySelectors is only available in v2.4+ test.go:77: test.go:84: Test completed in 0.00s (excluding cleanup) === SKIP: pkg/tests/ossm TestIOR/check_IOR_off_by_default_v2.5 (0.00s) ior_test.go:82: Skipping until 2.5 subtest.go:25: subtest.go:32: Subtest completed in 0.00s (excluding cleanup) === SKIP: pkg/tests/ossm TestIOR/check_routes_aren't_deleted_during_v2.3_to_v2.4_upgrade (0.00s) ior_test.go:116: This test only applies for v2.3 to v2.4 upgrade subtest.go:25: subtest.go:32: Subtest completed in 0.00s (excluding cleanup) === SKIP: pkg/tests/ossm TestOperatorCanUpdatePrometheusConfigMap (0.00s) prometheus_scoped_scraping_test.go:28: This test checks if the operator can update Prometheus ConfigMap when the SMMR is updated prometheus_scoped_scraping_test.go:31: Test only valid in SMCP versions v2.4+ test.go:77: test.go:84: Test completed in 0.00s (excluding cleanup) === SKIP: pkg/tests/ossm TestRateLimiting (0.00s) test.go:122: This test is being skipped because it doesn't support the current SMCP version v2.3 (max version is v2.2) === SKIP: pkg/tests/ossm-federation TestMultiClusterFederationFailover (0.00s) federation_failover_test.go:41: this test only runs when the KUBECONFIG2 environment variable points to the kubeconfig of the second cluster test.go:77: test.go:84: Test completed in 0.00s (excluding cleanup) === SKIP: pkg/tests/ossm/operator TestClusterWideMode (0.00s) test.go:119: This test is being skipped because it doesn't support the current SMCP version v2.3 (min version is v2.4) === SKIP: pkg/tests/ossm/operator TestOperatorCanReconcileSMCPWhenIstiodOffline (0.00s) operator_deadlock_test.go:16: This test checks if the operator can reconcile an SMCP even if the istiod pod is missing operator_deadlock_test.go:17: See https://issues.redhat.com/browse/OSSM-3235 operator_deadlock_test.go:20: Skipped because OSSM-3235 is only fixed in 2.4+ test.go:77: test.go:84: Test completed in 0.00s (excluding cleanup) === SKIP: pkg/tests/ossm/operator TestOperatorPodHonorsReadinessProbe (0.00s) test.go:119: This test is being skipped because it doesn't support the current SMCP version v2.3 (min version is v2.4) === SKIP: pkg/tests/tasks/observability TestCustomPrometheus (0.00s) custom_prometheus_test.go:29: Extension providers are not supported in OSSM older than v2.4.0 test.go:77: test.go:84: Test completed in 0.00s (excluding cleanup) === SKIP: pkg/tests/tasks/observability TestOpenShiftMonitoring (0.00s) openshift_monitoring_test.go:39: integration with OpenShift Monitoring stack is not supported in OSSM older than v2.4.0 test.go:77: test.go:84: Test completed in 0.00s (excluding cleanup) === SKIP: pkg/tests/tasks/security/certmanager TestIstioCsr (0.00s) istio_csr_test.go:31: istio-csr is not supported in SMCP older than v2.4 test.go:77: test.go:84: Test completed in 0.00s (excluding cleanup) === SKIP: pkg/tests/tasks/security/certmanager TestPluginCaCert (0.00s) plugin_ca_test.go:30: istio-csr is not supported in SMCP older than v2.4 test.go:77: test.go:84: Test completed in 0.00s (excluding cleanup) === SKIP: pkg/tests/tasks/traffic/ingress TestGatewayApi/Deploy_the_Gateway-Controller_Profile (0.00s) gatewayapi_test.go:101: Gateway-Controller Profile was added in v2.4 subtest.go:25: subtest.go:32: Subtest completed in 0.00s (excluding cleanup) === SKIP: pkg/tests/tasks/traffic/ingress TestGatewayApi/Deploy_the_Gateway-Controller_Profile (re-run 1) (0.00s) gatewayapi_test.go:101: Gateway-Controller Profile was added in v2.4 subtest.go:25: subtest.go:32: Subtest completed in 0.00s (excluding cleanup) === SKIP: pkg/tests/tasks/traffic/ingress TestGatewayApi/Deploy_the_Gateway-Controller_Profile (re-run 2) (0.00s) gatewayapi_test.go:101: Gateway-Controller Profile was added in v2.4 subtest.go:25: subtest.go:32: Subtest completed in 0.00s (excluding cleanup) === Failed === FAIL: pkg/tests/tasks/traffic/ingress TestGatewayApi/Deploy_the_Kubernetes_Gateway_API (494.50s) gatewayapi_test.go:42: gatewayapi_test.go:42: STEP 1: Install httpbin gatewayapi_test.go:43: Install app "httpbin" in namespace "foo" gatewayapi_test.go:43: Wait for app foo/httpbin to be ready gatewayapi_test.go:45: gatewayapi_test.go:45: STEP 2: Deploy the Gateway SMCP gatewayapi_test.go:78: gatewayapi_test.go:78: STEP 3: Deploy the Gateway API configuration including a single exposed route (i.e., /get) gatewayapi_test.go:84: gatewayapi_test.go:84: STEP 4: Wait for Gateway to be ready gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: FAILURE: Command failed: oc wait -n foo Gateway/gateway --for condition=Ready --timeout 10s error: timed out waiting for the condition on gateways/gateway error: exit status 1 gatewayapi_test.go:85: Running oc describe -n foo Gateway/gateway Name: gateway Namespace: foo Labels: Annotations: API Version: gateway.networking.k8s.io/v1beta1 Kind: Gateway Metadata: Creation Timestamp: 2023-09-13T16:06:24Z Generation: 1 Managed Fields: API Version: gateway.networking.k8s.io/v1alpha2 Fields Type: FieldsV1 fieldsV1: f:status: f:conditions: k:{"type":"Scheduled"}: .: f:lastTransitionTime: f:message: f:observedGeneration: f:reason: f:status: f:type: Manager: istio.io/gateway-controller Operation: Apply Subresource: status Time: 2023-09-13T16:06:27Z API Version: gateway.networking.k8s.io/v1beta1 Fields Type: FieldsV1 fieldsV1: f:spec: Manager: kubectl-client-side-apply Operation: Update Time: 2023-09-13T16:06:24Z API Version: gateway.networking.k8s.io/v1alpha2 Fields Type: FieldsV1 fieldsV1: f:status: f:conditions: k:{"type":"Ready"}: .: f:lastTransitionTime: f:message: f:observedGeneration: f:reason: f:status: f:type: f:listeners: .: k:{"name":"default"}: .: f:attachedRoutes: f:conditions: .: k:{"type":"Conflicted"}: .: f:lastTransitionTime: f:message: f:observedGeneration: f:reason: f:status: f:type: k:{"type":"Detached"}: .: f:lastTransitionTime: f:message: f:observedGeneration: f:reason: f:status: f:type: k:{"type":"Ready"}: .: f:lastTransitionTime: f:message: f:observedGeneration: f:reason: f:status: f:type: k:{"type":"ResolvedRefs"}: .: f:lastTransitionTime: f:message: f:observedGeneration: f:reason: f:status: f:type: f:name: f:supportedKinds: Manager: pilot-discovery Operation: Update Subresource: status Time: 2023-09-13T16:06:27Z Resource Version: 73945892 UID: c661bd29-2169-4a0e-8068-771d6c7a600a Spec: Gateway Class Name: istio Listeners: Allowed Routes: Namespaces: From: All Hostname: *.example.com Name: default Port: 8080 Protocol: HTTP Status: Conditions: Last Transition Time: 2023-09-13T16:06:27Z Message: Deployed gateway to the cluster Observed Generation: 1 Reason: ResourcesAvailable Status: True Type: Scheduled Last Transition Time: 2023-09-13T16:06:27Z Message: failed to assign to any requested addresses: no instances found for hostname "gateway.foo.svc.cluster.local" Observed Generation: 1 Reason: AddressNotAssigned Status: False Type: Ready Listeners: Attached Routes: 1 Conditions: Last Transition Time: 2023-09-13T16:06:27Z Message: No errors found Observed Generation: 1 Reason: ListenerReady Status: False Type: Conflicted Last Transition Time: 2023-09-13T16:06:27Z Message: No errors found Observed Generation: 1 Reason: ListenerReady Status: False Type: Detached Last Transition Time: 2023-09-13T16:06:27Z Message: No errors found Observed Generation: 1 Reason: ListenerReady Status: True Type: Ready Last Transition Time: 2023-09-13T16:06:27Z Message: No errors found Observed Generation: 1 Reason: ListenerReady Status: True Type: ResolvedRefs Name: default Supported Kinds: Group: gateway.networking.k8s.io Kind: HTTPRoute Events: subtest.go:25: subtest.go:27: Subtest failed in 321.70s (excluding cleanup) test.go:97: Capturing cluster state using must-gather registry.redhat.io/openshift-service-mesh/istio-must-gather-rhel8:2.4 test.go:101: /home/jenkins/workspace/maistra/maistra-test-tool/maistra-test-tool/tests/result-20230913150715/v2.3/failures-must-gather/20230913161136-TestGatewayApi-Deploy_the_Kubernetes_Gateway_API gatewayapi_test.go:80: gatewayapi_test.go:80: Performing cleanup gatewayapi_test.go:80: Cleanup completed in 0.42s gatewayapi_test.go:59: gatewayapi_test.go:59: Performing cleanup gatewayapi_test.go:59: Cleanup completed in 0.45s gatewayapi_test.go:37: gatewayapi_test.go:37: Performing cleanup gatewayapi_test.go:38: Deleting namespaces: [istio-system] gatewayapi_test.go:38: Creating namespaces: [istio-system] gatewayapi_test.go:39: Deleting namespaces: [foo] gatewayapi_test.go:39: Creating namespaces: [foo] gatewayapi_test.go:37: Cleanup completed in 57.09s === FAIL: pkg/tests/tasks/traffic/ingress TestGatewayApi (541.10s) gatewayapi_test.go:28: gatewayapi_test.go:28: STEP 1: Apply default SMCP and SMMR manifests gatewayapi_test.go:28: Wait for condition condition=Ready on smcp istio-system/basic... gatewayapi_test.go:28: SUCCESS: Condition condition=Ready met by smcp istio-system/basic gatewayapi_test.go:30: gatewayapi_test.go:30: STEP 2: Install Gateway API CRD's gatewayapi_test.go:33: Creating namespaces: [foo] test.go:77: test.go:79: Test failed in 508.89s (excluding cleanup) test.go:97: Capturing cluster state using must-gather registry.redhat.io/openshift-service-mesh/istio-must-gather-rhel8:2.4 test.go:101: /home/jenkins/workspace/maistra/maistra-test-tool/maistra-test-tool/tests/result-20230913150715/v2.3/failures-must-gather/20230913161429-TestGatewayApi === FAIL: pkg/tests/tasks/traffic/ingress TestGatewayApi/Deploy_the_Kubernetes_Gateway_API (re-run 1) (489.10s) gatewayapi_test.go:42: gatewayapi_test.go:42: STEP 1: Install httpbin gatewayapi_test.go:43: Install app "httpbin" in namespace "foo" gatewayapi_test.go:43: Wait for app foo/httpbin to be ready gatewayapi_test.go:45: gatewayapi_test.go:45: STEP 2: Deploy the Gateway SMCP gatewayapi_test.go:78: gatewayapi_test.go:78: STEP 3: Deploy the Gateway API configuration including a single exposed route (i.e., /get) gatewayapi_test.go:84: gatewayapi_test.go:84: STEP 4: Wait for Gateway to be ready gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: FAILURE: Command failed: oc wait -n foo Gateway/gateway --for condition=Ready --timeout 10s error: timed out waiting for the condition on gateways/gateway error: exit status 1 gatewayapi_test.go:85: Running oc describe -n foo Gateway/gateway Name: gateway Namespace: foo Labels: Annotations: API Version: gateway.networking.k8s.io/v1beta1 Kind: Gateway Metadata: Creation Timestamp: 2023-09-13T16:18:31Z Generation: 1 Managed Fields: API Version: gateway.networking.k8s.io/v1alpha2 Fields Type: FieldsV1 fieldsV1: f:status: f:conditions: k:{"type":"Scheduled"}: .: f:lastTransitionTime: f:message: f:observedGeneration: f:reason: f:status: f:type: Manager: istio.io/gateway-controller Operation: Apply Subresource: status Time: 2023-09-13T16:18:35Z API Version: gateway.networking.k8s.io/v1beta1 Fields Type: FieldsV1 fieldsV1: f:spec: Manager: kubectl-client-side-apply Operation: Update Time: 2023-09-13T16:18:31Z API Version: gateway.networking.k8s.io/v1alpha2 Fields Type: FieldsV1 fieldsV1: f:status: f:conditions: k:{"type":"Ready"}: .: f:lastTransitionTime: f:message: f:observedGeneration: f:reason: f:status: f:type: f:listeners: .: k:{"name":"default"}: .: f:attachedRoutes: f:conditions: .: k:{"type":"Conflicted"}: .: f:lastTransitionTime: f:message: f:observedGeneration: f:reason: f:status: f:type: k:{"type":"Detached"}: .: f:lastTransitionTime: f:message: f:observedGeneration: f:reason: f:status: f:type: k:{"type":"Ready"}: .: f:lastTransitionTime: f:message: f:observedGeneration: f:reason: f:status: f:type: k:{"type":"ResolvedRefs"}: .: f:lastTransitionTime: f:message: f:observedGeneration: f:reason: f:status: f:type: f:name: f:supportedKinds: Manager: pilot-discovery Operation: Update Subresource: status Time: 2023-09-13T16:18:35Z Resource Version: 73954175 UID: c34c3881-8c74-49c1-9094-47582a359818 Spec: Gateway Class Name: istio Listeners: Allowed Routes: Namespaces: From: All Hostname: *.example.com Name: default Port: 8080 Protocol: HTTP Status: Conditions: Last Transition Time: 2023-09-13T16:18:35Z Message: Deployed gateway to the cluster Observed Generation: 1 Reason: ResourcesAvailable Status: True Type: Scheduled Last Transition Time: 2023-09-13T16:18:35Z Message: failed to assign to any requested addresses: no instances found for hostname "gateway.foo.svc.cluster.local" Observed Generation: 1 Reason: AddressNotAssigned Status: False Type: Ready Listeners: Attached Routes: 1 Conditions: Last Transition Time: 2023-09-13T16:18:35Z Message: No errors found Observed Generation: 1 Reason: ListenerReady Status: False Type: Conflicted Last Transition Time: 2023-09-13T16:18:35Z Message: No errors found Observed Generation: 1 Reason: ListenerReady Status: False Type: Detached Last Transition Time: 2023-09-13T16:18:35Z Message: No errors found Observed Generation: 1 Reason: ListenerReady Status: True Type: Ready Last Transition Time: 2023-09-13T16:18:35Z Message: No errors found Observed Generation: 1 Reason: ListenerReady Status: True Type: ResolvedRefs Name: default Supported Kinds: Group: gateway.networking.k8s.io Kind: HTTPRoute Events: subtest.go:25: subtest.go:27: Subtest failed in 322.34s (excluding cleanup) test.go:97: Capturing cluster state using must-gather registry.redhat.io/openshift-service-mesh/istio-must-gather-rhel8:2.4 test.go:101: /home/jenkins/workspace/maistra/maistra-test-tool/maistra-test-tool/tests/result-20230913150715/v2.3/failures-must-gather/20230913162344-TestGatewayApi-Deploy_the_Kubernetes_Gateway_API gatewayapi_test.go:80: gatewayapi_test.go:80: Performing cleanup gatewayapi_test.go:80: Cleanup completed in 0.39s gatewayapi_test.go:59: gatewayapi_test.go:59: Performing cleanup gatewayapi_test.go:59: Cleanup completed in 0.53s gatewayapi_test.go:37: gatewayapi_test.go:37: Performing cleanup gatewayapi_test.go:38: Deleting namespaces: [istio-system] gatewayapi_test.go:38: Creating namespaces: [istio-system] gatewayapi_test.go:39: Deleting namespaces: [foo] gatewayapi_test.go:39: Creating namespaces: [foo] gatewayapi_test.go:37: Cleanup completed in 59.18s === FAIL: pkg/tests/tasks/traffic/ingress TestGatewayApi (re-run 1) (536.73s) gatewayapi_test.go:28: gatewayapi_test.go:28: STEP 1: Apply default SMCP and SMMR manifests gatewayapi_test.go:28: Wait for condition condition=Ready on smcp istio-system/basic... gatewayapi_test.go:28: SUCCESS: Condition condition=Ready met by smcp istio-system/basic gatewayapi_test.go:30: gatewayapi_test.go:30: STEP 2: Install Gateway API CRD's gatewayapi_test.go:33: Creating namespaces: [foo] test.go:77: test.go:79: Test failed in 503.90s (excluding cleanup) test.go:97: Capturing cluster state using must-gather registry.redhat.io/openshift-service-mesh/istio-must-gather-rhel8:2.4 test.go:101: /home/jenkins/workspace/maistra/maistra-test-tool/maistra-test-tool/tests/result-20230913150715/v2.3/failures-must-gather/20230913162630-TestGatewayApi === FAIL: pkg/tests/tasks/traffic/ingress TestGatewayApi/Deploy_the_Kubernetes_Gateway_API (re-run 2) (490.60s) gatewayapi_test.go:42: gatewayapi_test.go:42: STEP 1: Install httpbin gatewayapi_test.go:43: Install app "httpbin" in namespace "foo" gatewayapi_test.go:43: Wait for app foo/httpbin to be ready gatewayapi_test.go:45: gatewayapi_test.go:45: STEP 2: Deploy the Gateway SMCP gatewayapi_test.go:78: gatewayapi_test.go:78: STEP 3: Deploy the Gateway API configuration including a single exposed route (i.e., /get) gatewayapi_test.go:84: gatewayapi_test.go:84: STEP 4: Wait for Gateway to be ready gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:85: FAILURE: Command failed: oc wait -n foo Gateway/gateway --for condition=Ready --timeout 10s error: timed out waiting for the condition on gateways/gateway error: exit status 1 gatewayapi_test.go:85: Running oc describe -n foo Gateway/gateway Name: gateway Namespace: foo Labels: Annotations: API Version: gateway.networking.k8s.io/v1beta1 Kind: Gateway Metadata: Creation Timestamp: 2023-09-13T16:27:46Z Generation: 1 Managed Fields: API Version: gateway.networking.k8s.io/v1alpha2 Fields Type: FieldsV1 fieldsV1: f:status: f:conditions: k:{"type":"Scheduled"}: .: f:lastTransitionTime: f:message: f:observedGeneration: f:reason: f:status: f:type: Manager: istio.io/gateway-controller Operation: Apply Subresource: status Time: 2023-09-13T16:27:49Z API Version: gateway.networking.k8s.io/v1beta1 Fields Type: FieldsV1 fieldsV1: f:spec: Manager: kubectl-client-side-apply Operation: Update Time: 2023-09-13T16:27:46Z API Version: gateway.networking.k8s.io/v1alpha2 Fields Type: FieldsV1 fieldsV1: f:status: f:conditions: k:{"type":"Ready"}: .: f:lastTransitionTime: f:message: f:observedGeneration: f:reason: f:status: f:type: f:listeners: .: k:{"name":"default"}: .: f:attachedRoutes: f:conditions: .: k:{"type":"Conflicted"}: .: f:lastTransitionTime: f:message: f:observedGeneration: f:reason: f:status: f:type: k:{"type":"Detached"}: .: f:lastTransitionTime: f:message: f:observedGeneration: f:reason: f:status: f:type: k:{"type":"Ready"}: .: f:lastTransitionTime: f:message: f:observedGeneration: f:reason: f:status: f:type: k:{"type":"ResolvedRefs"}: .: f:lastTransitionTime: f:message: f:observedGeneration: f:reason: f:status: f:type: f:name: f:supportedKinds: Manager: pilot-discovery Operation: Update Subresource: status Time: 2023-09-13T16:27:49Z Resource Version: 73959836 UID: e3190037-468f-47c7-b259-d778a6b9c47f Spec: Gateway Class Name: istio Listeners: Allowed Routes: Namespaces: From: All Hostname: *.example.com Name: default Port: 8080 Protocol: HTTP Status: Conditions: Last Transition Time: 2023-09-13T16:27:49Z Message: Deployed gateway to the cluster Observed Generation: 1 Reason: ResourcesAvailable Status: True Type: Scheduled Last Transition Time: 2023-09-13T16:27:49Z Message: failed to assign to any requested addresses: no instances found for hostname "gateway.foo.svc.cluster.local" Observed Generation: 1 Reason: AddressNotAssigned Status: False Type: Ready Listeners: Attached Routes: 1 Conditions: Last Transition Time: 2023-09-13T16:27:49Z Message: No errors found Observed Generation: 1 Reason: ListenerReady Status: False Type: Conflicted Last Transition Time: 2023-09-13T16:27:49Z Message: No errors found Observed Generation: 1 Reason: ListenerReady Status: False Type: Detached Last Transition Time: 2023-09-13T16:27:49Z Message: No errors found Observed Generation: 1 Reason: ListenerReady Status: True Type: Ready Last Transition Time: 2023-09-13T16:27:49Z Message: No errors found Observed Generation: 1 Reason: ListenerReady Status: True Type: ResolvedRefs Name: default Supported Kinds: Group: gateway.networking.k8s.io Kind: HTTPRoute Events: subtest.go:25: subtest.go:27: Subtest failed in 321.09s (excluding cleanup) test.go:97: Capturing cluster state using must-gather registry.redhat.io/openshift-service-mesh/istio-must-gather-rhel8:2.4 test.go:101: /home/jenkins/workspace/maistra/maistra-test-tool/maistra-test-tool/tests/result-20230913150715/v2.3/failures-must-gather/20230913163257-TestGatewayApi-Deploy_the_Kubernetes_Gateway_API gatewayapi_test.go:80: gatewayapi_test.go:80: Performing cleanup gatewayapi_test.go:80: Cleanup completed in 0.33s gatewayapi_test.go:59: gatewayapi_test.go:59: Performing cleanup gatewayapi_test.go:59: Cleanup completed in 0.60s gatewayapi_test.go:37: gatewayapi_test.go:37: Performing cleanup gatewayapi_test.go:38: Deleting namespaces: [istio-system] gatewayapi_test.go:38: Creating namespaces: [istio-system] gatewayapi_test.go:39: Deleting namespaces: [foo] gatewayapi_test.go:39: Creating namespaces: [foo] gatewayapi_test.go:37: Cleanup completed in 58.97s === FAIL: pkg/tests/tasks/traffic/ingress TestGatewayApi (re-run 2) (550.56s) gatewayapi_test.go:28: gatewayapi_test.go:28: STEP 1: Apply default SMCP and SMMR manifests gatewayapi_test.go:28: Wait for condition condition=Ready on smcp istio-system/basic... gatewayapi_test.go:28: Wait for condition condition=Ready on smcp istio-system/basic... gatewayapi_test.go:28: SUCCESS: Condition condition=Ready met by smcp istio-system/basic gatewayapi_test.go:30: gatewayapi_test.go:30: STEP 2: Install Gateway API CRD's gatewayapi_test.go:33: Creating namespaces: [foo] test.go:77: test.go:79: Test failed in 516.50s (excluding cleanup) test.go:97: Capturing cluster state using must-gather registry.redhat.io/openshift-service-mesh/istio-must-gather-rhel8:2.4 test.go:101: /home/jenkins/workspace/maistra/maistra-test-tool/maistra-test-tool/tests/result-20230913150715/v2.3/failures-must-gather/20230913163546-TestGatewayApi DONE 3 runs, 137 tests, 16 skipped, 6 failures in 5335.792s ====== JUnit report file(s) v2.3: /home/jenkins/workspace/maistra/maistra-test-tool/maistra-test-tool/tests/result-20230913150715/v2.3/report.xml ====== Test summary v2.3: DONE 3 runs, 137 tests, 16 skipped, 6 failures in 5335.792s real 89m9.080s user 9m7.197s sys 3m7.158s