WARNING: Using insecure TLS client config. Setting this option is not supported! Login successful. You have access to 79 projects, the list has been suppressed. You can list all projects with 'oc projects' Using project "default". scripts/runtests.sh OSSM Operator version is 2.6.0 Output dir: /go/src/maistra-test-tool/tests/result-20240829190724 Executing tests against SMCP version 2.6 Resetting cluster by deleting namespaces used in the test suite Output dir: /go/src/maistra-test-tool/tests/result-20240829190724/v2.6 ====== Executing tests in group 'interop' against SMCP v2.6 test_helper_setup.go:78: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === RUN TestSMCPMultiple test.go:128: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestSMCPMultiple (0.00s) === RUN TestOlmWebhookCreation test.go:128: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestOlmWebhookCreation (0.00s) PASS ok github.com/maistra/maistra-test-tool/pkg/tests/non-dependant 1.120s test_helper_setup.go:78: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === RUN TestIstiodPodFailsAfterRestarts test.go:128: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestIstiodPodFailsAfterRestarts (0.00s) === RUN TestIstiodPodFailsWithValidationMessages test.go:128: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestIstiodPodFailsWithValidationMessages (0.00s) === RUN TestDeployOnInfraNodes test.go:128: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestDeployOnInfraNodes (0.00s) === RUN TestExcludeCniFromNode test.go:128: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestExcludeCniFromNode (0.00s) === RUN TestDiscoverySelectors test.go:128: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestDiscoverySelectors (0.00s) === RUN TestInitContainerNotRemovedDuringInjection test.go:128: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestInitContainerNotRemovedDuringInjection (0.00s) === RUN TestIOR test.go:128: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestIOR (0.00s) === RUN TestOperatorCanUpdatePrometheusConfigMap test.go:128: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestOperatorCanUpdatePrometheusConfigMap (0.00s) === RUN TestRateLimiting test.go:128: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestRateLimiting (0.00s) === RUN TestRoutePreventAdditionalIngress test.go:128: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestRoutePreventAdditionalIngress (0.00s) === RUN TestSMCPAddons test.go:128: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestSMCPAddons (0.00s) === RUN TestSMCPAnnotations test.go:128: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestSMCPAnnotations (0.00s) === RUN TestLogging test.go:128: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestLogging (0.00s) === RUN TestMustGather test.go:128: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestMustGather (0.00s) === RUN TestSMCPSecret test.go:128: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestSMCPSecret (0.00s) === 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: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s error: timed out waiting for the condition on servicemeshcontrolplanes/basic error: exit status 1 smcp_tls_ssl_test.go:34: Wait for condition condition=Ready on smcp istio-system/basic... smcp_tls_ssl_test.go:34: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s error: timed out waiting for the condition on servicemeshcontrolplanes/basic error: exit status 1 smcp_tls_ssl_test.go:34: Wait for condition condition=Ready on smcp istio-system/basic... smcp_tls_ssl_test.go:34: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s error: timed out waiting for the condition on servicemeshcontrolplanes/basic error: exit status 1 smcp_tls_ssl_test.go:34: Wait for condition condition=Ready on smcp istio-system/basic... smcp_tls_ssl_test.go:34: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s error: timed out waiting for the condition on servicemeshcontrolplanes/basic error: exit status 1 smcp_tls_ssl_test.go:34: Wait for condition condition=Ready on smcp istio-system/basic... smcp_tls_ssl_test.go:34: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s error: timed out waiting for the condition on servicemeshcontrolplanes/basic error: exit status 1 smcp_tls_ssl_test.go:34: Wait for condition condition=Ready on smcp istio-system/basic... smcp_tls_ssl_test.go:34: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s error: timed out waiting for the condition on servicemeshcontrolplanes/basic error: exit status 1 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 smcp_tls_ssl_test.go:34: Wait for smmr/default to be ready in namespace istio-system === 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: SUCCESS: Condition condition=Ready met by smcp istio-system/basic subtest.go:39: subtest.go:46: Subtest completed in 10.17s (excluding cleanup) --- PASS: TestTLSVersionSMCP/minVersion_TLSv1_0 (10.17s) === 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: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s error: timed out waiting for the condition on servicemeshcontrolplanes/basic error: exit status 1 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:39: subtest.go:46: Subtest completed in 11.39s (excluding cleanup) --- PASS: TestTLSVersionSMCP/minVersion_TLSv1_1 (11.39s) === 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: SUCCESS: Condition condition=Ready met by smcp istio-system/basic subtest.go:39: subtest.go:46: Subtest completed in 10.54s (excluding cleanup) --- PASS: TestTLSVersionSMCP/maxVersion_TLSv1_3 (10.54s) test.go:91: test.go:98: Test completed in 111.27s (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: SUCCESS: Condition condition=Ready met by smcp istio-system/basic smcp_tls_ssl_test.go:26: Cleanup completed in 10.62s --- PASS: TestTLSVersionSMCP (121.89s) === RUN TestSMMRAutoCreationAndDeletion test.go:128: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestSMMRAutoCreationAndDeletion (0.00s) === RUN TestSMMReconciliation test.go:128: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestSMMReconciliation (0.00s) === RUN TestSmoke smoke_test.go:50: Smoke Test for SMCP: deploy, upgrade, bookinfo and uninstall smoke_test.go:59: Deleting namespaces: [istio-system] smoke_test.go:59: Creating namespaces: [istio-system] === RUN TestSmoke/upgrade_v2.5_to_v2.6 smoke_test.go:62: This test checks whether SMCP becomes ready after it's upgraded from v2.5 to v2.6 and bookinfo is still working after the upgrade and also test a clean installation of the target SMCP smoke_test.go:68: smoke_test.go:68: STEP 1: Install SMCP v2.5 and verify it becomes ready smoke_test.go:234: smoke_test.go:234: STEP 2: Install SMCP smoke_test.go:236: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:236: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s error: timed out waiting for the condition on servicemeshcontrolplanes/basic error: exit status 1 smoke_test.go:236: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:236: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s error: timed out waiting for the condition on servicemeshcontrolplanes/basic error: exit status 1 smoke_test.go:236: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:236: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s error: timed out waiting for the condition on servicemeshcontrolplanes/basic error: exit status 1 smoke_test.go:236: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:236: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s error: timed out waiting for the condition on servicemeshcontrolplanes/basic error: exit status 1 smoke_test.go:236: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:236: SUCCESS: Condition condition=Ready met by smcp istio-system/basic smoke_test.go:238: smoke_test.go:238: STEP 3: Check SMCP is Ready smoke_test.go:239: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:239: SUCCESS: Condition condition=Ready met by smcp istio-system/basic smoke_test.go:71: smoke_test.go:71: STEP 4: Install bookinfo pods and sleep pod smoke_test.go:72: Install app "bookinfo" in namespace "bookinfo" smoke_test.go:72: Create Bookinfo Gateway smoke_test.go:72: Create Bookinfo Destination Rules (all) smoke_test.go:72: Create Bookinfo Deployments smoke_test.go:72: Install app "sleep" in namespace "bookinfo" smoke_test.go:72: Wait for app bookinfo/bookinfo to be ready smoke_test.go:72: Wait for app bookinfo/sleep to be ready smoke_test.go:74: smoke_test.go:74: STEP 5: Check if bookinfo traffic flows through the Proxy smoke_test.go:188: SUCCESS: ProductPage returns 200 OK smoke_test.go:188: SUCCESS: HTTP header 'server: istio-envoy' is present in the response smoke_test.go:188: SUCCESS: HTTP header 'x-envoy-decorator-operation' is present in the response smoke_test.go:77: smoke_test.go:77: STEP 6: Upgrade SMCP from v2.5 to v2.6 smoke_test.go:234: smoke_test.go:234: STEP 7: Install SMCP smoke_test.go:236: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:236: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s error: timed out waiting for the condition on servicemeshcontrolplanes/basic error: exit status 1 smoke_test.go:236: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:236: SUCCESS: Condition condition=Ready met by smcp istio-system/basic smoke_test.go:238: smoke_test.go:238: STEP 8: Check SMCP is Ready smoke_test.go:239: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:239: SUCCESS: Condition condition=Ready met by smcp istio-system/basic smoke_test.go:80: smoke_test.go:80: STEP 9: Check if bookinfo productpage is running through the Proxy after the upgrade smoke_test.go:188: SUCCESS: ProductPage returns 200 OK smoke_test.go:188: SUCCESS: HTTP header 'server: istio-envoy' is present in the response smoke_test.go:188: SUCCESS: HTTP header 'x-envoy-decorator-operation' is present in the response smoke_test.go:83: smoke_test.go:83: STEP 10: Delete Bookinfo pods to force the update of the sidecar smoke_test.go:142: smoke_test.go:142: STEP 11: Verify if all the routes are created smoke_test.go:243: Related issue: https://issues.redhat.com/browse/OSSM-4069 smoke_test.go:245: SUCCESS: Route grafana is created smoke_test.go:245: SUCCESS: Route istio-ingressgateway is created smoke_test.go:245: SUCCESS: Route kiali is created smoke_test.go:245: SUCCESS: Route prometheus is created smoke_test.go:145: smoke_test.go:145: STEP 12: Check if bookinfo traffic flows through the Proxy smoke_test.go:188: SUCCESS: ProductPage returns 200 OK smoke_test.go:188: SUCCESS: HTTP header 'server: istio-envoy' is present in the response smoke_test.go:188: SUCCESS: HTTP header 'x-envoy-decorator-operation' is present in the response smoke_test.go:148: smoke_test.go:148: STEP 13: verify proxy startup time. Expected to be less than 10 seconds smoke_test.go:149: Jira related: https://issues.redhat.com/browse/OSSM-3586 smoke_test.go:204: Extracting proxy startup time and last transition time for all the pods in the namespace smoke_test.go:88: smoke_test.go:88: STEP 14: Check that previous version CNI resources were pruned and needed resources were preserved smoke_test.go:89: Related issue: https://issues.redhat.com/browse/OSSM-2101 smoke_test.go:292: SUCCESS: Resource ClusterRole/ossm-cni was preserved smoke_test.go:292: SUCCESS: Resource ClusterRoleBinding/ossm-cni was preserved smoke_test.go:301: SUCCESS: Resource ConfigMap/ossm-cni-config-v2-5 was pruned smoke_test.go:292: SUCCESS: Resource ConfigMap/ossm-cni-config-v2-6 was preserved smoke_test.go:301: SUCCESS: Resource DaemonSet/istio-cni-node-v2-5 was pruned smoke_test.go:292: SUCCESS: Resource DaemonSet/istio-cni-node-v2-6 was preserved smoke_test.go:292: SUCCESS: Resource ServiceAccount/ossm-cni was preserved subtest.go:39: subtest.go:46: Subtest completed in 118.89s (excluding cleanup) smoke_test.go:63: smoke_test.go:63: Performing cleanup smoke_test.go:64: Uninstalling Bookinfo from namespace "bookinfo" smoke_test.go:64: Deleting resources from namespace bookinfo smoke_test.go:64: Deleting resources from namespace bookinfo smoke_test.go:64: Deleting resources from namespace bookinfo smoke_test.go:64: Deleting resources from namespace bookinfo smoke_test.go:65: Deleting namespaces: [istio-system] smoke_test.go:65: Creating namespaces: [istio-system] smoke_test.go:63: Cleanup completed in 35.24s --- PASS: TestSmoke/upgrade_v2.5_to_v2.6 (154.13s) === RUN TestSmoke/install_smcp_v2.6 smoke_test.go:95: This test checks whether SMCP v2.6 install the SMCP version smoke_test.go:100: smoke_test.go:100: STEP 1: Install SMCP v2.6 smoke_test.go:234: smoke_test.go:234: STEP 2: Install SMCP smoke_test.go:236: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:236: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s error: timed out waiting for the condition on servicemeshcontrolplanes/basic error: exit status 1 smoke_test.go:236: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:236: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s error: timed out waiting for the condition on servicemeshcontrolplanes/basic error: exit status 1 smoke_test.go:236: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:236: SUCCESS: Condition condition=Ready met by smcp istio-system/basic smoke_test.go:238: smoke_test.go:238: STEP 3: Check SMCP is Ready smoke_test.go:239: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:239: SUCCESS: Condition condition=Ready met by smcp istio-system/basic smoke_test.go:103: smoke_test.go:103: STEP 4: Install bookinfo pods and sleep pod smoke_test.go:104: Install app "bookinfo" in namespace "bookinfo" smoke_test.go:104: Create Bookinfo Gateway smoke_test.go:104: Create Bookinfo Destination Rules (all) smoke_test.go:104: Create Bookinfo Deployments smoke_test.go:104: Install app "sleep" in namespace "bookinfo" smoke_test.go:104: Wait for app bookinfo/bookinfo to be ready smoke_test.go:104: Wait for app bookinfo/sleep to be ready smoke_test.go:142: smoke_test.go:142: STEP 5: Verify if all the routes are created smoke_test.go:243: Related issue: https://issues.redhat.com/browse/OSSM-4069 smoke_test.go:245: SUCCESS: Route grafana is created smoke_test.go:245: SUCCESS: Route istio-ingressgateway is created smoke_test.go:245: FAILURE: Still waiting for route kiali to be created in namespace; expected to find the string 'kiali' in the output, but it wasn't found smoke_test.go:245: SUCCESS: Route prometheus is created smoke_test.go:244: --- Attempt 1/60 failed. Retrying... smoke_test.go:245: SUCCESS: Route grafana is created smoke_test.go:245: SUCCESS: Route istio-ingressgateway is created smoke_test.go:245: FAILURE: Still waiting for route kiali to be created in namespace; expected to find the string 'kiali' in the output, but it wasn't found smoke_test.go:245: SUCCESS: Route prometheus is created smoke_test.go:244: --- Attempt 2/60 failed. Retrying... smoke_test.go:245: SUCCESS: Route grafana is created smoke_test.go:245: SUCCESS: Route istio-ingressgateway is created smoke_test.go:245: SUCCESS: Route kiali is created smoke_test.go:245: SUCCESS: Route prometheus is created smoke_test.go:244: --- Attempt 3/60 successful; total time: 3.03s smoke_test.go:145: smoke_test.go:145: STEP 6: Check if bookinfo traffic flows through the Proxy smoke_test.go:188: SUCCESS: ProductPage returns 200 OK smoke_test.go:188: SUCCESS: HTTP header 'server: istio-envoy' is present in the response smoke_test.go:188: SUCCESS: HTTP header 'x-envoy-decorator-operation' is present in the response smoke_test.go:148: smoke_test.go:148: STEP 7: verify proxy startup time. Expected to be less than 10 seconds smoke_test.go:149: Jira related: https://issues.redhat.com/browse/OSSM-3586 smoke_test.go:204: Extracting proxy startup time and last transition time for all the pods in the namespace smoke_test.go:154: smoke_test.go:154: STEP 8: Verify Jaeger and SMCP tracing settings smoke_test.go:155: Related issue: https://issues.redhat.com/browse/OSSM-6391 smoke_test.go:157: Verify SMCP tracing settings smoke_test.go:158: SUCCESS: smcp .status.appliedValues.istio.tracing.enabled is false smoke_test.go:167: SUCCESS: smcp .status.appliedValues.istio.tracing.provider is none smoke_test.go:177: Verify that Jaeger resources (Route, Deployment, and Pod) were not created smoke_test.go:178: SUCCESS: Jaeger resources (pod, deployment, route) were not found subtest.go:39: subtest.go:46: Subtest completed in 47.58s (excluding cleanup) smoke_test.go:96: smoke_test.go:96: Performing cleanup smoke_test.go:97: Uninstalling Bookinfo from namespace "bookinfo" smoke_test.go:97: Deleting resources from namespace bookinfo smoke_test.go:97: Deleting resources from namespace bookinfo smoke_test.go:97: Deleting resources from namespace bookinfo smoke_test.go:97: Deleting resources from namespace bookinfo smoke_test.go:96: Cleanup completed in 4.48s --- PASS: TestSmoke/install_smcp_v2.6 (52.06s) === RUN TestSmoke/delete_smcp_v2.6 smoke_test.go:114: This test checks whether SMCP v2.6 deletion deletes all the resources smoke_test.go:119: smoke_test.go:119: STEP 1: Delete SMCP and SMMR in namespace istio-system smoke_test.go:120: Deleting resources from namespace istio-system setup.go:136: Deleting resources from namespace istio-system smoke_test.go:122: smoke_test.go:122: STEP 2: verify SMCP resources are deleted smoke_test.go:124: FAILURE: Still waiting for resources to be deleted from namespace; expected to find the string 'No resources found in' in the output, but it wasn't found smoke_test.go:123: --- Attempt 1/60 failed. Retrying... smoke_test.go:124: FAILURE: Still waiting for resources to be deleted from namespace; expected to find the string 'No resources found in' in the output, but it wasn't found smoke_test.go:123: --- Attempt 2/60 failed. Retrying... smoke_test.go:124: FAILURE: Still waiting for resources to be deleted from namespace; expected to find the string 'No resources found in' in the output, but it wasn't found smoke_test.go:123: --- Attempt 3/60 failed. Retrying... smoke_test.go:124: FAILURE: Still waiting for resources to be deleted from namespace; expected to find the string 'No resources found in' in the output, but it wasn't found smoke_test.go:123: --- Attempt 4/60 failed. Retrying... smoke_test.go:124: FAILURE: Still waiting for resources to be deleted from namespace; expected to find the string 'No resources found in' in the output, but it wasn't found smoke_test.go:123: --- Attempt 5/60 failed. Retrying... smoke_test.go:124: FAILURE: Still waiting for resources to be deleted from namespace; expected to find the string 'No resources found in' in the output, but it wasn't found smoke_test.go:123: --- Attempt 6/60 failed. Retrying... smoke_test.go:124: FAILURE: Still waiting for resources to be deleted from namespace; expected to find the string 'No resources found in' in the output, but it wasn't found smoke_test.go:123: --- Attempt 7/60 failed. Retrying... smoke_test.go:124: FAILURE: Still waiting for resources to be deleted from namespace; expected to find the string 'No resources found in' in the output, but it wasn't found smoke_test.go:123: --- Attempt 8/60 failed. Retrying... smoke_test.go:124: FAILURE: Still waiting for resources to be deleted from namespace; expected to find the string 'No resources found in' in the output, but it wasn't found smoke_test.go:123: --- Attempt 9/60 failed. Retrying... smoke_test.go:124: FAILURE: Still waiting for resources to be deleted from namespace; expected to find the string 'No resources found in' in the output, but it wasn't found smoke_test.go:123: --- Attempt 10/60 failed. Retrying... smoke_test.go:124: FAILURE: Still waiting for resources to be deleted from namespace; expected to find the string 'No resources found in' in the output, but it wasn't found smoke_test.go:123: --- Attempt 11/60 failed. Retrying... smoke_test.go:124: FAILURE: Still waiting for resources to be deleted from namespace; expected to find the string 'No resources found in' in the output, but it wasn't found smoke_test.go:123: --- Attempt 12/60 failed. Retrying... smoke_test.go:124: FAILURE: Still waiting for resources to be deleted from namespace; expected to find the string 'No resources found in' in the output, but it wasn't found smoke_test.go:123: --- Attempt 13/60 failed. Retrying... smoke_test.go:124: FAILURE: Still waiting for resources to be deleted from namespace; expected to find the string 'No resources found in' in the output, but it wasn't found smoke_test.go:123: --- Attempt 14/60 failed. Retrying... smoke_test.go:124: FAILURE: Still waiting for resources to be deleted from namespace; expected to find the string 'No resources found in' in the output, but it wasn't found smoke_test.go:123: --- Attempt 15/60 failed. Retrying... smoke_test.go:124: FAILURE: Still waiting for resources to be deleted from namespace; expected to find the string 'No resources found in' in the output, but it wasn't found smoke_test.go:123: --- Attempt 16/60 failed. Retrying... smoke_test.go:124: FAILURE: Still waiting for resources to be deleted from namespace; expected to find the string 'No resources found in' in the output, but it wasn't found smoke_test.go:123: --- Attempt 17/60 failed. Retrying... smoke_test.go:124: FAILURE: Still waiting for resources to be deleted from namespace; expected to find the string 'No resources found in' in the output, but it wasn't found smoke_test.go:123: --- Attempt 18/60 failed. Retrying... smoke_test.go:124: FAILURE: Still waiting for resources to be deleted from namespace; expected to find the string 'No resources found in' in the output, but it wasn't found smoke_test.go:123: --- Attempt 19/60 failed. Retrying... smoke_test.go:124: FAILURE: Still waiting for resources to be deleted from namespace; expected to find the string 'No resources found in' in the output, but it wasn't found smoke_test.go:123: --- Attempt 20/60 failed. Retrying... smoke_test.go:124: SUCCESS: SMCP resources are deleted smoke_test.go:123: --- Attempt 21/60 successful; total time: 30.44s smoke_test.go:132: smoke_test.go:132: STEP 3: Check that CNI resources were pruned smoke_test.go:133: Related issue: https://issues.redhat.com/browse/OSSM-2101 smoke_test.go:317: SUCCESS: Resource ClusterRole/ossm-cni was pruned smoke_test.go:317: SUCCESS: Resource ClusterRoleBinding/ossm-cni was pruned smoke_test.go:317: SUCCESS: Resource ConfigMap/ossm-cni-config-v2-6 was pruned smoke_test.go:317: SUCCESS: Resource DaemonSet/istio-cni-node-v2-6 was pruned smoke_test.go:317: SUCCESS: Resource ServiceAccount/ossm-cni was pruned subtest.go:39: subtest.go:46: Subtest completed in 34.29s (excluding cleanup) smoke_test.go:115: smoke_test.go:115: Performing cleanup smoke_test.go:116: Deleting namespaces: [istio-system] smoke_test.go:116: Creating namespaces: [istio-system] smoke_test.go:115: Cleanup completed in 7.53s --- PASS: TestSmoke/delete_smcp_v2.6 (41.82s) test.go:91: test.go:98: Test completed in 584.72s (excluding cleanup) smoke_test.go:52: smoke_test.go:52: Performing cleanup smoke_test.go:53: Deleting namespaces: [istio-system] smoke_test.go:53: Creating namespaces: [istio-system] smoke_test.go:52: Cleanup completed in 6.20s --- PASS: TestSmoke (590.92s) === RUN TestTempoTracing test.go:128: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestTempoTracing (0.00s) === 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: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s error: timed out waiting for the condition on servicemeshcontrolplanes/basic error: exit status 1 testssl_test.go:45: Wait for condition condition=Ready on smcp istio-system/basic... testssl_test.go:45: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s error: timed out waiting for the condition on servicemeshcontrolplanes/basic error: exit status 1 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:45: Wait for smmr/default to be ready in namespace istio-system 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: 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:75: SUCCESS: Received the TLSv1.2 needed in the testssl.sh results testssl_test.go:75: SUCCESS: Results received the correct SHA256 testssl_test.go:75: SUCCESS: Results included: prime256v1 test.go:91: test.go:98: Test completed in 51.54s (excluding cleanup) testssl_test.go:31: testssl_test.go:31: Performing cleanup testssl_test.go:41: Uninstalling Bookinfo from namespace "bookinfo" testssl_test.go:41: Deleting resources from namespace bookinfo testssl_test.go:41: Deleting resources from namespace bookinfo testssl_test.go:41: Deleting resources from namespace bookinfo testssl_test.go:42: Deleting resources from namespace bookinfo testssl_test.go:31: Cleanup completed in 5.06s --- PASS: TestSSL (56.60s) PASS ok github.com/maistra/maistra-test-tool/pkg/tests/ossm 771.001s test_helper_setup.go:78: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === RUN TestClusterWideMode test.go:128: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestClusterWideMode (0.00s) === RUN TestOperatorCanReconcileSMCPWhenIstiodOffline test.go:128: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestOperatorCanReconcileSMCPWhenIstiodOffline (0.00s) === RUN TestOperatorPodHonorsReadinessProbe test.go:128: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestOperatorPodHonorsReadinessProbe (0.00s) PASS ok github.com/maistra/maistra-test-tool/pkg/tests/ossm/operator 1.055s === RUN TestMultiClusterFederationFailover test.go:128: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestMultiClusterFederationFailover (0.00s) === RUN TestFederation test.go:128: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestFederation (0.00s) === RUN TestFederationDifferentCerts test.go:128: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestFederationDifferentCerts (0.00s) PASS ok github.com/maistra/maistra-test-tool/pkg/tests/ossm-federation 0.003s test_helper_setup.go:78: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === RUN TestThreeScaleWasmPlugin test.go:128: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestThreeScaleWasmPlugin (0.00s) PASS ok github.com/maistra/maistra-test-tool/pkg/tests/tasks/extensions 1.039s test_helper_setup.go:78: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === RUN TestNativeSidecars native_sidecars_test.go:52: native_sidecars_test.go:52: STEP 1: Deploying SMCP native_sidecars_test.go:54: Wait for condition condition=Ready on smcp istio-system/basic... native_sidecars_test.go:54: SUCCESS: Condition condition=Ready met by smcp istio-system/basic native_sidecars_test.go:56: native_sidecars_test.go:56: STEP 2: Install httpbin and sleep in mode native_sidecars_test.go:57: Install app "httpbin" in namespace "foo" native_sidecars_test.go:57: Install app "sleep" in namespace "foo" native_sidecars_test.go:57: Wait for app foo/httpbin to be ready native_sidecars_test.go:57: Wait for app foo/sleep to be ready === RUN TestNativeSidecars/HTTP_request_from_ingress_gateway_to_httpbin_in_mode native_sidecars_test.go:63: SUCCESS: received expected status code 200 subtest.go:39: subtest.go:46: Subtest completed in 1.26s (excluding cleanup) --- PASS: TestNativeSidecars/HTTP_request_from_ingress_gateway_to_httpbin_in_mode (1.26s) === RUN TestNativeSidecars/HTTP_request_from_sleep_to_httpbin native_sidecars_test.go:68: SUCCESS: Request succeeded subtest.go:39: subtest.go:46: Subtest completed in 1.20s (excluding cleanup) --- PASS: TestNativeSidecars/HTTP_request_from_sleep_to_httpbin (1.20s) test.go:91: test.go:98: Test completed in 25.13s (excluding cleanup) native_sidecars_test.go:47: native_sidecars_test.go:47: Performing cleanup native_sidecars_test.go:48: Deleting resources from namespace istio-system native_sidecars_test.go:49: Deleting namespaces: [foo] native_sidecars_test.go:49: Creating namespaces: [foo] native_sidecars_test.go:47: Cleanup completed in 31.84s --- PASS: TestNativeSidecars (56.97s) === RUN TestTproxy tproxy_test.go:46: tproxy_test.go:46: STEP 1: Apply default SMCP and SMMR manifests tproxy_test.go:46: Wait for condition condition=Ready on smcp istio-system/basic... tproxy_test.go:46: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s error: timed out waiting for the condition on servicemeshcontrolplanes/basic error: exit status 1 tproxy_test.go:46: Wait for condition condition=Ready on smcp istio-system/basic... tproxy_test.go:46: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s error: timed out waiting for the condition on servicemeshcontrolplanes/basic error: exit status 1 tproxy_test.go:46: Wait for condition condition=Ready on smcp istio-system/basic... tproxy_test.go:46: SUCCESS: Condition condition=Ready met by smcp istio-system/basic tproxy_test.go:46: Wait for smmr/default to be ready in namespace istio-system tproxy_test.go:48: tproxy_test.go:48: STEP 2: Add privileged SCC to the app namespace tproxy_test.go:51: tproxy_test.go:51: STEP 3: Install httpbin and sleep in tproxy mode tproxy_test.go:52: Install app "httpbin" in namespace "foo" tproxy_test.go:52: Install app "sleep" in namespace "foo" tproxy_test.go:52: Wait for app foo/httpbin to be ready tproxy_test.go:52: Wait for app foo/sleep to be ready === RUN TestTproxy/HTTP_request_from_ingress_gateway_to_httpbin_in_tproxy_mode tproxy_test.go:58: SUCCESS: received expected status code 200 subtest.go:39: subtest.go:46: Subtest completed in 21.26s (excluding cleanup) --- PASS: TestTproxy/HTTP_request_from_ingress_gateway_to_httpbin_in_tproxy_mode (21.26s) === RUN TestTproxy/HTTP_request_from_tproxy_sleep_to_tproxy_httpbin tproxy_test.go:63: SUCCESS: Request succeeded subtest.go:39: subtest.go:46: Subtest completed in 1.21s (excluding cleanup) --- PASS: TestTproxy/HTTP_request_from_tproxy_sleep_to_tproxy_httpbin (1.21s) test.go:91: test.go:98: Test completed in 63.27s (excluding cleanup) tproxy_test.go:42: tproxy_test.go:42: Performing cleanup tproxy_test.go:43: Deleting namespaces: [foo] tproxy_test.go:43: Creating namespaces: [foo] tproxy_test.go:42: Cleanup completed in 19.34s --- PASS: TestTproxy (82.61s) PASS ok github.com/maistra/maistra-test-tool/pkg/tests/tasks/injection 140.645s test_helper_setup.go:78: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === RUN TestCustomPrometheus test.go:128: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestCustomPrometheus (0.00s) === RUN TestFederatedOpenShiftMonitoring test.go:128: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestFederatedOpenShiftMonitoring (0.00s) === RUN TestOpenShiftMonitoring test.go:128: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestOpenShiftMonitoring (0.00s) PASS ok github.com/maistra/maistra-test-tool/pkg/tests/tasks/observability 1.054s test_helper_setup.go:78: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === RUN TestAuthPolicy auth_test.go:41: This test validates authentication policies. auth_test.go:42: Doc reference: https://istio.io/latest/docs/tasks/security/authentication/authn-policy/ auth_test.go:48: auth_test.go:48: STEP 1: Apply default SMCP and SMMR manifests auth_test.go:48: Wait for condition condition=Ready on smcp istio-system/basic... auth_test.go:48: SUCCESS: Condition condition=Ready met by smcp istio-system/basic auth_test.go:48: Wait for smmr/default to be ready in namespace istio-system auth_test.go:50: auth_test.go:50: STEP 2: Install httpbin and sleep in multiple namespaces auth_test.go:51: Install app "httpbin" in namespace "foo" auth_test.go:51: Install app "httpbin" in namespace "bar" auth_test.go:51: Install app "httpbin" in namespace "legacy" auth_test.go:51: Install app "sleep" in namespace "foo" auth_test.go:51: Install app "sleep" in namespace "bar" auth_test.go:51: Install app "sleep" in namespace "legacy" auth_test.go:51: Wait for app foo/httpbin to be ready auth_test.go:51: Wait for app bar/httpbin to be ready auth_test.go:51: Wait for app legacy/httpbin to be ready auth_test.go:51: Wait for app foo/sleep to be ready auth_test.go:51: Wait for app bar/sleep to be ready auth_test.go:51: Wait for app legacy/sleep to be ready auth_test.go:62: auth_test.go:62: STEP 3: Check connectivity from namespaces foo, bar, and legacy to namespaces foo and bar sleep.go:117: SUCCESS: Got expected "200" sleep.go:117: SUCCESS: Got expected "200" sleep.go:117: SUCCESS: Got expected "200" sleep.go:117: SUCCESS: Got expected "200" sleep.go:117: SUCCESS: Got expected "200" sleep.go:117: SUCCESS: Got expected "200" === RUN TestAuthPolicy/enable_auto_mTLS auth_test.go:72: auth_test.go:72: STEP 1: Check if mTLS is enabled in foo auth_test.go:73: SUCCESS: mTLS is enabled in namespace foo (X-Forwarded-Client-Cert header is present) auth_test.go:78: auth_test.go:78: STEP 2: Check that mTLS is NOT enabled in legacy auth_test.go:79: SUCCESS: mTLS is not enabled in namespace legacy (X-Forwarded-Client-Cert header is not present) subtest.go:39: subtest.go:46: Subtest completed in 2.30s (excluding cleanup) --- PASS: TestAuthPolicy/enable_auto_mTLS (2.30s) === RUN TestAuthPolicy/enable_global_mTLS_STRICT_mode auth_test.go:86: auth_test.go:86: STEP 1: Enable mTLS STRICT mode globally auth_test.go:91: auth_test.go:91: STEP 2: Check whether requests from legacy namespace to foo and bar namespace return 000 placeholder sleep.go:117: SUCCESS: Got expected "000" sleep.go:117: SUCCESS: Got expected "000" subtest.go:39: subtest.go:46: Subtest completed in 3.00s (excluding cleanup) auth_test.go:88: auth_test.go:88: Performing cleanup auth_test.go:89: Deleting resources from namespace istio-system auth_test.go:88: Cleanup completed in 0.36s --- PASS: TestAuthPolicy/enable_global_mTLS_STRICT_mode (3.35s) === RUN TestAuthPolicy/namespace_policy_mtls auth_test.go:101: auth_test.go:101: STEP 1: Enable mutual TLS per namespace auth_test.go:107: auth_test.go:107: STEP 2: Check whether requests succeed except from sleep namespace to foo namespace sleep.go:117: SUCCESS: Got expected "200" sleep.go:117: SUCCESS: Got expected "200" sleep.go:117: SUCCESS: Got expected "200" sleep.go:117: SUCCESS: Got expected "200" sleep.go:117: SUCCESS: Got expected "CURL_FAILED" sleep.go:117: SUCCESS: Got expected "200" subtest.go:39: subtest.go:46: Subtest completed in 7.38s (excluding cleanup) auth_test.go:103: auth_test.go:103: Performing cleanup auth_test.go:104: Deleting resources from namespace foo auth_test.go:103: Cleanup completed in 0.36s --- PASS: TestAuthPolicy/namespace_policy_mtls (7.74s) === RUN TestAuthPolicy/workload_policy_mtls auth_test.go:123: auth_test.go:123: STEP 1: Enable mutual TLS per workload auth_test.go:129: auth_test.go:129: STEP 2: Check whether request failed from legacy namespace to bar namespace sleep.go:117: SUCCESS: Got expected "CURL_FAILED" auth_test.go:134: auth_test.go:134: STEP 3: Refine mutual TLS per port auth_test.go:137: auth_test.go:137: STEP 4: Check whether request succeed from legacy namespace to bar namespace sleep.go:117: SUCCESS: Got expected "200" subtest.go:39: subtest.go:46: Subtest completed in 3.88s (excluding cleanup) auth_test.go:125: auth_test.go:125: Performing cleanup auth_test.go:126: Deleting resources from namespace bar auth_test.go:125: Cleanup completed in 0.50s --- PASS: TestAuthPolicy/workload_policy_mtls (4.38s) === RUN TestAuthPolicy/policy_precedence_mtls auth_test.go:144: auth_test.go:144: STEP 1: Overwrite foo namespace policy by a workload policy auth_test.go:150: auth_test.go:150: STEP 2: Check whether request succeed legacy namespace to foo namespace sleep.go:117: SUCCESS: Got expected "200" subtest.go:39: subtest.go:46: Subtest completed in 1.72s (excluding cleanup) auth_test.go:146: auth_test.go:146: Performing cleanup auth_test.go:147: Deleting resources from namespace foo auth_test.go:146: Cleanup completed in 0.49s --- PASS: TestAuthPolicy/policy_precedence_mtls (2.20s) === RUN TestAuthPolicy/end-user_JWT auth_test.go:160: End-user authentication auth_test.go:162: auth_test.go:162: STEP 1: Apply httpbin gateway auth_test.go:165: auth_test.go:165: STEP 2: Check httpbin request is successful auth_test.go:226: SUCCESS: received expected status code 200 auth_test.go:170: auth_test.go:170: STEP 3: Apply a JWT policy auth_test.go:176: auth_test.go:176: STEP 4: Check whether request without token returns 200 auth_test.go:226: SUCCESS: received expected status code 200 auth_test.go:181: auth_test.go:181: STEP 5: Check whether request with an invalid token returns 401 auth_test.go:226: FAILURE: expected status code 401 but got 200 OK auth_test.go:182: --- Attempt 1/60 failed. Retrying... auth_test.go:226: FAILURE: expected status code 401 but got 200 OK auth_test.go:182: --- Attempt 2/60 failed. Retrying... auth_test.go:226: SUCCESS: received expected status code 401 auth_test.go:182: --- Attempt 3/60 successful; total time: 2.20s auth_test.go:186: auth_test.go:186: STEP 6: Check whether request with a valid token returns 200 auth_test.go:226: SUCCESS: received expected status code 200 subtest.go:39: subtest.go:46: Subtest completed in 3.70s (excluding cleanup) auth_test.go:172: auth_test.go:172: Performing cleanup auth_test.go:173: Deleting resources from namespace istio-system auth_test.go:172: Cleanup completed in 0.35s --- PASS: TestAuthPolicy/end-user_JWT (4.05s) === RUN TestAuthPolicy/end-user_require_JWT auth_test.go:197: Require a valid token auth_test.go:226: FAILURE: expected status code 403 but got 200 OK auth_test.go:203: --- Attempt 1/60 failed. Retrying... auth_test.go:226: SUCCESS: received expected status code 403 auth_test.go:203: --- Attempt 2/60 successful; total time: 1.13s subtest.go:39: subtest.go:46: Subtest completed in 1.56s (excluding cleanup) auth_test.go:199: auth_test.go:199: Performing cleanup auth_test.go:200: Deleting resources from namespace istio-system auth_test.go:199: Cleanup completed in 0.36s --- PASS: TestAuthPolicy/end-user_require_JWT (1.92s) === RUN TestAuthPolicy/end-user_require_JWT_per_path auth_test.go:209: Require valid tokens per-path auth_test.go:226: SUCCESS: received expected status code 403 auth_test.go:226: SUCCESS: received expected status code 200 subtest.go:39: subtest.go:46: Subtest completed in 0.57s (excluding cleanup) auth_test.go:211: auth_test.go:211: Performing cleanup auth_test.go:212: Deleting resources from namespace istio-system auth_test.go:211: Cleanup completed in 0.35s --- PASS: TestAuthPolicy/end-user_require_JWT_per_path (0.93s) test.go:91: test.go:98: Test completed in 45.14s (excluding cleanup) auth_test.go:44: auth_test.go:44: Performing cleanup auth_test.go:45: Deleting namespaces: [foo bar legacy] auth_test.go:45: Creating namespaces: [foo bar legacy] auth_test.go:44: Cleanup completed in 37.57s --- PASS: TestAuthPolicy (82.71s) === RUN TestMTlsMigration mtls_migration_test.go:38: mtls_migration_test.go:38: STEP 1: Apply default SMCP and SMMR manifests mtls_migration_test.go:38: Wait for condition condition=Ready on smcp istio-system/basic... mtls_migration_test.go:38: SUCCESS: Condition condition=Ready met by smcp istio-system/basic mtls_migration_test.go:38: Wait for smmr/default to be ready in namespace istio-system mtls_migration_test.go:40: mtls_migration_test.go:40: STEP 2: Install httpbin and sleep in multiple namespaces mtls_migration_test.go:41: Install app "httpbin" in namespace "foo" mtls_migration_test.go:41: Install app "httpbin" in namespace "bar" mtls_migration_test.go:41: Install app "sleep" in namespace "foo" mtls_migration_test.go:41: Install app "sleep" in namespace "bar" mtls_migration_test.go:41: Install app "sleep" in namespace "legacy" mtls_migration_test.go:41: Wait for app foo/httpbin to be ready mtls_migration_test.go:41: Wait for app bar/httpbin to be ready mtls_migration_test.go:41: Wait for app foo/sleep to be ready mtls_migration_test.go:41: Wait for app bar/sleep to be ready mtls_migration_test.go:41: Wait for app legacy/sleep to be ready mtls_migration_test.go:51: mtls_migration_test.go:51: STEP 3: Check connectivity from namespaces foo, bar, and legacy to namespace foo and bar sleep.go:117: SUCCESS: Got expected "200" sleep.go:117: SUCCESS: Got expected "200" sleep.go:117: SUCCESS: Got expected "200" sleep.go:117: SUCCESS: Got expected "200" sleep.go:117: SUCCESS: Got expected "200" sleep.go:117: SUCCESS: Got expected "200" === RUN TestMTlsMigration/mTLS_enabled_in_foo mtls_migration_test.go:61: mtls_migration_test.go:61: STEP 1: Apply strict mTLS in namespace foo mtls_migration_test.go:64: mtls_migration_test.go:64: STEP 2: Check connectivity from namespaces foo, bar, and legacy to namespace foo and bar (expect failure only from legacy to foo) sleep.go:117: SUCCESS: Got expected "200" sleep.go:117: SUCCESS: Got expected "200" sleep.go:117: SUCCESS: Got expected "200" sleep.go:117: SUCCESS: Got expected "200" sleep.go:117: SUCCESS: Got expected "CURL_FAILED" sleep.go:117: SUCCESS: Got expected "200" subtest.go:39: subtest.go:46: Subtest completed in 7.39s (excluding cleanup) --- PASS: TestMTlsMigration/mTLS_enabled_in_foo (7.39s) === RUN TestMTlsMigration/mTLS_enabled_globally mtls_migration_test.go:80: mtls_migration_test.go:80: STEP 1: Apply strict mTLS for the entire mesh mtls_migration_test.go:86: mtls_migration_test.go:86: STEP 2: Check connectivity from namespaces foo, bar, and legacy to namespace foo and bar (expect failure from legacy) sleep.go:117: SUCCESS: Got expected "200" sleep.go:117: SUCCESS: Got expected "200" sleep.go:117: SUCCESS: Got expected "200" sleep.go:117: SUCCESS: Got expected "200" sleep.go:117: SUCCESS: Got expected "CURL_FAILED" sleep.go:117: SUCCESS: Got expected "CURL_FAILED" subtest.go:39: subtest.go:46: Subtest completed in 7.30s (excluding cleanup) mtls_migration_test.go:82: mtls_migration_test.go:82: Performing cleanup mtls_migration_test.go:83: Deleting resources from namespace istio-system mtls_migration_test.go:82: Cleanup completed in 0.36s --- PASS: TestMTlsMigration/mTLS_enabled_globally (7.66s) test.go:91: test.go:98: Test completed in 31.90s (excluding cleanup) mtls_migration_test.go:34: mtls_migration_test.go:34: Performing cleanup mtls_migration_test.go:35: Deleting namespaces: [foo bar legacy] mtls_migration_test.go:35: Creating namespaces: [foo bar legacy] mtls_migration_test.go:34: Cleanup completed in 31.61s --- PASS: TestMTlsMigration (63.50s) PASS ok github.com/maistra/maistra-test-tool/pkg/tests/tasks/security/authentication 147.273s test_helper_setup.go:78: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === RUN TestAuthorizationDenyAllow deny_test.go:35: This test validates authorization policies with a deny action deny_test.go:37: deny_test.go:37: STEP 1: Apply default SMCP and SMMR manifests deny_test.go:37: Wait for condition condition=Ready on smcp istio-system/basic... deny_test.go:37: SUCCESS: Condition condition=Ready met by smcp istio-system/basic deny_test.go:37: Wait for smmr/default to be ready in namespace istio-system deny_test.go:39: deny_test.go:39: STEP 2: Install httpbin and sleep deny_test.go:40: Install app "httpbin" in namespace "foo" deny_test.go:40: Install app "sleep" in namespace "foo" deny_test.go:40: Wait for app foo/httpbin to be ready deny_test.go:40: Wait for app foo/sleep to be ready deny_test.go:42: deny_test.go:42: STEP 3: Check if httpbin returns 200 OK when no authorization policies are in place sleep.go:117: SUCCESS: Got expected "200" === RUN TestAuthorizationDenyAllow/explicitly_deny_request deny_test.go:49: deny_test.go:49: STEP 1: Apply policy that denies all GET requests to httpbin deny_test.go:52: deny_test.go:52: STEP 2: Verify that GET request is denied sleep.go:117: FAILURE: Expect "403", but got a different response; expected to find the string '403' in the output, but it wasn't found sleep.go:117: --- Attempt 1/60 failed. Retrying... sleep.go:117: SUCCESS: Got expected "403" sleep.go:117: --- Attempt 2/60 successful; total time: 3.42s deny_test.go:55: deny_test.go:55: STEP 3: Verify that POST request is allowed sleep.go:117: SUCCESS: Got expected "200" subtest.go:39: subtest.go:46: Subtest completed in 5.12s (excluding cleanup) deny_test.go:46: deny_test.go:46: Performing cleanup deny_test.go:47: Deleting resources from namespace foo deny_test.go:46: Cleanup completed in 0.35s --- PASS: TestAuthorizationDenyAllow/explicitly_deny_request (5.46s) === RUN TestAuthorizationDenyAllow/deny_request_header deny_test.go:63: deny_test.go:63: STEP 1: Apply policy that denies GET requests unless the HTTP header 'x-token: admin' is present deny_test.go:66: deny_test.go:66: STEP 2: Verify that GET request with HTTP header 'x-token: admin' is allowed sleep.go:117: FAILURE: Expect "200", but got a different response; expected to find the string '200' in the output, but it wasn't found sleep.go:117: --- Attempt 1/60 failed. Retrying... sleep.go:117: SUCCESS: Got expected "200" sleep.go:117: --- Attempt 2/60 successful; total time: 3.39s deny_test.go:69: deny_test.go:69: STEP 3: Verify that GET request with HTTP header 'x-token: guest' is denied sleep.go:117: SUCCESS: Got expected "403" subtest.go:39: subtest.go:46: Subtest completed in 5.08s (excluding cleanup) deny_test.go:60: deny_test.go:60: Performing cleanup deny_test.go:61: Deleting resources from namespace foo deny_test.go:60: Cleanup completed in 0.36s --- PASS: TestAuthorizationDenyAllow/deny_request_header (5.45s) === RUN TestAuthorizationDenyAllow/allow_request_path deny_test.go:78: deny_test.go:78: STEP 1: Apply policy that denies GET requests unless the HTTP header 'x-token: admin' is present deny_test.go:81: deny_test.go:81: STEP 2: Apply policy that allows requests with the path '/ip' deny_test.go:84: deny_test.go:84: STEP 3: Verify that GET request with the HTTP header 'x-token: guest' at path '/ip' is denied sleep.go:117: SUCCESS: Got expected "403" deny_test.go:87: deny_test.go:87: STEP 4: Verify that GET request with HTTP header 'x-token: admin' at path '/ip' is allowed sleep.go:117: SUCCESS: Got expected "200" deny_test.go:90: deny_test.go:90: STEP 5: Verify that GET request with HTTP header 'x-token: admin' at path '/get' is denied sleep.go:117: SUCCESS: Got expected "403" subtest.go:39: subtest.go:46: Subtest completed in 4.47s (excluding cleanup) deny_test.go:74: deny_test.go:74: Performing cleanup deny_test.go:75: Deleting resources from namespace foo deny_test.go:76: Deleting resources from namespace foo deny_test.go:74: Cleanup completed in 0.71s --- PASS: TestAuthorizationDenyAllow/allow_request_path (5.18s) test.go:91: test.go:98: Test completed in 24.43s (excluding cleanup) deny_test.go:31: deny_test.go:31: Performing cleanup deny_test.go:32: Deleting namespaces: [foo] deny_test.go:32: Creating namespaces: [foo] deny_test.go:31: Cleanup completed in 19.30s --- PASS: TestAuthorizationDenyAllow (43.73s) === 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:37: Wait for smmr/default to be ready in namespace istio-system 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 sleep.go:117: SUCCESS: Got expected "200" 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:121: ext_auth_test.go:121: STEP 6: Deploy the external authorization in the Authorization policy ext_auth_test.go:127: ext_auth_test.go:127: STEP 7: Verify a request to path /headers with header x-ext-authz: deny is denied by the sample ext_authz server: sleep.go:117: SUCCESS: Got expected "403" ext_auth_test.go:130: ext_auth_test.go:130: STEP 8: Verify a request to path /headers with header x-ext-authz: allow is allowed by the sample ext_authz server sleep.go:117: SUCCESS: Got expected "200" ext_auth_test.go:133: ext_auth_test.go:133: STEP 9: Verify a request to path /ip is allowed and does not trigger the external authorization sleep.go:117: SUCCESS: Got expected "200" test.go:91: test.go:98: Test completed in 20.11s (excluding cleanup) ext_auth_test.go:122: ext_auth_test.go:122: Performing cleanup ext_auth_test.go:123: Deleting resources from namespace foo ext_auth_test.go:122: Cleanup completed in 0.35s ext_auth_test.go:115: ext_auth_test.go:115: Performing cleanup ext_auth_test.go:115: Cleanup completed in 0.53s ext_auth_test.go:50: ext_auth_test.go:50: Performing cleanup ext_auth_test.go:51: Deleting resources from namespace foo ext_auth_test.go:50: Cleanup completed in 0.53s ext_auth_test.go:41: ext_auth_test.go:41: Performing cleanup ext_auth_test.go:42: Deleting resources from namespace foo ext_auth_test.go:42: Deleting resources from namespace foo ext_auth_test.go:41: Cleanup completed in 1.61s --- PASS: TestEnvoyExtAuthzHttpExtensionProvider (23.12s) === RUN TestEnvoyExtAuthzGrpcExtensionProvider ext_auth_test.go:143: This test validates authorization policies with a JWT Token ext_auth_test.go:147: ext_auth_test.go:147: STEP 1: Apply default SMCP and SMMR manifests ext_auth_test.go:147: Wait for condition condition=Ready on smcp istio-system/basic... ext_auth_test.go:147: SUCCESS: Condition condition=Ready met by smcp istio-system/basic ext_auth_test.go:147: Wait for smmr/default to be ready in namespace istio-system ext_auth_test.go:149: ext_auth_test.go:149: STEP 2: Install httpbin and sleep ext_auth_test.go:150: Install app "httpbin" in namespace "foo" ext_auth_test.go:150: Install app "sleep" in namespace "foo" ext_auth_test.go:150: Wait for app foo/httpbin to be ready ext_auth_test.go:150: Wait for app foo/sleep to be ready ext_auth_test.go:155: ext_auth_test.go:155: STEP 3: Check if httpbin returns 200 OK when no authorization policies are in place sleep.go:117: SUCCESS: Got expected "200" ext_auth_test.go:158: ext_auth_test.go:158: STEP 4: Deploy the External Authorizer and Verify the sample external authorizer is up and running ext_auth_test.go:166: ext_auth_test.go:166: STEP 5: Set envoyExtAuthzgRPC extension provider in SMCP ext_auth_test.go:203: ext_auth_test.go:203: STEP 6: Deploy the external authorization in the Authorization policy ext_auth_test.go:209: ext_auth_test.go:209: STEP 7: Verify a request to path /headers with header x-ext-authz: deny is denied by the sample ext_authz server: sleep.go:117: SUCCESS: Got expected "403" ext_auth_test.go:212: ext_auth_test.go:212: STEP 8: Verify a request to path /headers with header x-ext-authz: allow is allowed by the sample ext_authz server sleep.go:117: SUCCESS: Got expected "200" ext_auth_test.go:215: ext_auth_test.go:215: STEP 9: Verify a request to path /ip is allowed and does not trigger the external authorization sleep.go:117: SUCCESS: Got expected "200" test.go:91: test.go:98: Test completed in 19.04s (excluding cleanup) ext_auth_test.go:204: ext_auth_test.go:204: Performing cleanup ext_auth_test.go:205: Deleting resources from namespace foo ext_auth_test.go:204: Cleanup completed in 0.35s ext_auth_test.go:197: ext_auth_test.go:197: Performing cleanup ext_auth_test.go:197: Cleanup completed in 0.56s ext_auth_test.go:160: ext_auth_test.go:160: Performing cleanup ext_auth_test.go:161: Deleting resources from namespace foo ext_auth_test.go:160: Cleanup completed in 0.50s ext_auth_test.go:151: ext_auth_test.go:151: Performing cleanup ext_auth_test.go:152: Deleting resources from namespace foo ext_auth_test.go:152: Deleting resources from namespace foo ext_auth_test.go:151: Cleanup completed in 1.62s --- PASS: TestEnvoyExtAuthzGrpcExtensionProvider (22.08s) === 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: SUCCESS: Condition condition=Ready met by smcp istio-system/basic http_test.go:45: Wait for smmr/default to be ready in namespace istio-system 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:68: SUCCESS: string 'RBAC: access denied' found in response subtest.go:39: subtest.go:46: Subtest completed in 0.59s (excluding cleanup) http_test.go:60: http_test.go:60: Performing cleanup http_test.go:61: Deleting resources from namespace bookinfo http_test.go:60: Cleanup completed in 0.35s --- PASS: TestAuthorizationHTTPTraffic/deny_all_http_traffic_to_bookinfo (0.94s) === 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:87: FAILURE: expected to find the string 'Error fetching product details' in the response, but it wasn't found http_test.go:87: FAILURE: expected to find the string 'Error fetching product reviews' in the response, but it wasn't found http_test.go:86: --- Attempt 1/60 failed. Retrying... http_test.go:87: SUCCESS: string 'Error fetching product details' found in response http_test.go:87: SUCCESS: string 'Error fetching product reviews' found in response http_test.go:86: --- Attempt 2/60 successful; total time: 1.18s subtest.go:39: subtest.go:46: Subtest completed in 2.03s (excluding cleanup) http_test.go:77: http_test.go:77: Performing cleanup http_test.go:78: Deleting resources from namespace bookinfo http_test.go:79: Deleting resources from namespace bookinfo http_test.go:77: Cleanup completed in 0.71s --- PASS: TestAuthorizationHTTPTraffic/only_allow_HTTP_GET_request_to_the_productpage_workload (2.74s) === 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:113: SUCCESS: string 'RBAC: access denied' not found in response http_test.go:113: FAILURE: expected the string 'Error fetching product details' to be absent from the response, but it was present http_test.go:113: SUCCESS: string 'Error fetching product reviews' not found in response http_test.go:113: SUCCESS: string 'Ratings service currently unavailable' not found in response http_test.go:112: --- Attempt 1/60 failed. Retrying... http_test.go:113: SUCCESS: string 'RBAC: access denied' not found in response http_test.go:113: SUCCESS: string 'Error fetching product details' not found in response http_test.go:113: SUCCESS: string 'Error fetching product reviews' not found in response http_test.go:113: SUCCESS: string 'Ratings service currently unavailable' not found in response http_test.go:112: --- Attempt 2/60 successful; total time: 1.60s subtest.go:39: subtest.go:46: Subtest completed in 3.70s (excluding cleanup) http_test.go:97: http_test.go:97: Performing cleanup http_test.go:98: Deleting resources from namespace bookinfo http_test.go:99: Deleting resources from namespace bookinfo http_test.go:100: Deleting resources from namespace bookinfo http_test.go:101: Deleting resources from namespace bookinfo http_test.go:102: Deleting resources from namespace bookinfo http_test.go:97: Cleanup completed in 1.76s --- PASS: TestAuthorizationHTTPTraffic/allow_HTTP_GET_requests_to_all_bookinfo_workloads (5.46s) test.go:91: test.go:98: Test completed in 27.16s (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 13.87s --- PASS: TestAuthorizationHTTPTraffic (41.02s) === 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:37: Wait for smmr/default to be ready in namespace istio-system 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 sleep.go:117: SUCCESS: Got expected "200" === RUN TestAuthorizationJWT/Allow_requests_with_valid_JWT_and_list-typed_claims jwt_test.go:59: jwt_test.go:59: STEP 1: Verify that a request with an invalid JWT is denied sleep.go:117: SUCCESS: Got expected "401" jwt_test.go:62: jwt_test.go:62: STEP 2: Verify that a request without a JWT is allowed because there is no authorization policy sleep.go:117: SUCCESS: Got expected "200" subtest.go:39: subtest.go:46: Subtest completed in 2.41s (excluding cleanup) --- PASS: TestAuthorizationJWT/Allow_requests_with_valid_JWT_and_list-typed_claims (2.41s) === RUN TestAuthorizationJWT/Security_authorization_allow_JWT_requestPrincipal jwt_test.go:71: jwt_test.go:71: STEP 1: Verify that a request with a valid JWT is allowed sleep.go:117: SUCCESS: Got expected "200" jwt_test.go:74: jwt_test.go:74: STEP 2: Verify request without a JWT is denied sleep.go:117: FAILURE: Expect "403", but got a different response; expected to find the string '403' in the output, but it wasn't found sleep.go:117: --- Attempt 1/60 failed. Retrying... sleep.go:117: SUCCESS: Got expected "403" sleep.go:117: --- Attempt 2/60 successful; total time: 3.39s subtest.go:39: subtest.go:46: Subtest completed in 5.04s (excluding cleanup) jwt_test.go:67: jwt_test.go:67: Performing cleanup jwt_test.go:68: Deleting resources from namespace foo jwt_test.go:67: Cleanup completed in 0.37s --- PASS: TestAuthorizationJWT/Security_authorization_allow_JWT_requestPrincipal (5.40s) === RUN TestAuthorizationJWT/Security_authorization_allow_JWT_claims_group jwt_test.go:83: jwt_test.go:83: STEP 1: Verify that a request with the JWT that includes group1 in the groups claim is allowed sleep.go:117: SUCCESS: Got expected "200" jwt_test.go:86: jwt_test.go:86: STEP 2: Verify that a request with a JWT, which does not have the groups claim is rejected sleep.go:117: FAILURE: Expect "403", but got a different response; expected to find the string '403' in the output, but it wasn't found sleep.go:117: --- Attempt 1/60 failed. Retrying... sleep.go:117: SUCCESS: Got expected "403" sleep.go:117: --- Attempt 2/60 successful; total time: 3.38s subtest.go:39: subtest.go:46: Subtest completed in 5.01s (excluding cleanup) jwt_test.go:79: jwt_test.go:79: Performing cleanup jwt_test.go:80: Deleting resources from namespace foo jwt_test.go:79: Cleanup completed in 0.35s --- PASS: TestAuthorizationJWT/Security_authorization_allow_JWT_claims_group (5.36s) test.go:91: test.go:98: Test completed in 21.44s (excluding cleanup) jwt_test.go:53: jwt_test.go:53: Performing cleanup jwt_test.go:54: Deleting resources from namespace foo jwt_test.go:53: Cleanup completed in 0.36s 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 13.92s --- PASS: TestAuthorizationJWT (35.71s) === RUN TestAuthorizationTCPTraffic tcp_test.go:36: This test validates authorization policies for TCP traffic. tcp_test.go:37: Doc reference: https://istio.io/latest/docs/tasks/security/authorization/authz-tcp/ tcp_test.go:39: tcp_test.go:39: STEP 1: Apply default SMCP and SMMR manifests tcp_test.go:39: Wait for condition condition=Ready on smcp istio-system/basic... tcp_test.go:39: SUCCESS: Condition condition=Ready met by smcp istio-system/basic tcp_test.go:39: Wait for smmr/default to be ready in namespace istio-system tcp_test.go:41: tcp_test.go:41: STEP 2: Install sleep and echo tcp_test.go:42: Install app "sleep" in namespace "foo" tcp_test.go:42: Install app "echo" in namespace "foo" tcp_test.go:42: Wait for app foo/sleep to be ready tcp_test.go:42: Wait for app foo/echo to be ready tcp_test.go:44: tcp_test.go:44: STEP 3: Verify sleep to echo TCP connections tcp_test.go:87: SUCCESS: Got expected hello message on port 9000 tcp_test.go:87: SUCCESS: Got expected hello message on port 9001 === RUN TestAuthorizationTCPTraffic/TCP_invalid_policy tcp_test.go:52: tcp_test.go:52: STEP 1: Apply an invalid policy to allow requests to port 9000 and add an HTTP GET field tcp_test.go:55: tcp_test.go:55: STEP 2: Check whether the requests to port 9000 and 9001 are denied tcp_test.go:98: SUCCESS: Got expected connection rejected on port 9000 tcp_test.go:98: SUCCESS: Got expected connection rejected on port 9001 subtest.go:39: subtest.go:46: Subtest completed in 2.81s (excluding cleanup) tcp_test.go:49: tcp_test.go:49: Performing cleanup tcp_test.go:50: Deleting resources from namespace foo tcp_test.go:49: Cleanup completed in 0.36s --- PASS: TestAuthorizationTCPTraffic/TCP_invalid_policy (3.16s) === RUN TestAuthorizationTCPTraffic/TCP_deny_policy tcp_test.go:64: tcp_test.go:64: STEP 1: Apply a policy to deny tcp requests to port 9000 tcp_test.go:67: tcp_test.go:67: STEP 2: Check whether the request to port 9000 is denied and request to port 9001 is accepted tcp_test.go:98: SUCCESS: Got expected connection rejected on port 9000 tcp_test.go:87: SUCCESS: Got expected hello message on port 9001 subtest.go:39: subtest.go:46: Subtest completed in 2.85s (excluding cleanup) tcp_test.go:61: tcp_test.go:61: Performing cleanup tcp_test.go:62: Deleting resources from namespace foo tcp_test.go:61: Cleanup completed in 0.35s --- PASS: TestAuthorizationTCPTraffic/TCP_deny_policy (3.20s) === RUN TestAuthorizationTCPTraffic/TCP_ALLOW_policy tcp_test.go:76: tcp_test.go:76: STEP 1: Apply a policy to allow tcp requests to port 9000 and 9001 tcp_test.go:79: tcp_test.go:79: STEP 2: Check whether the requests to port 9000 and 9001 are accepted tcp_test.go:87: SUCCESS: Got expected hello message on port 9000 tcp_test.go:87: SUCCESS: Got expected hello message on port 9001 subtest.go:39: subtest.go:46: Subtest completed in 2.79s (excluding cleanup) tcp_test.go:73: tcp_test.go:73: Performing cleanup tcp_test.go:74: Deleting resources from namespace foo tcp_test.go:73: Cleanup completed in 0.35s --- PASS: TestAuthorizationTCPTraffic/TCP_ALLOW_policy (3.15s) test.go:91: test.go:98: Test completed in 20.69s (excluding cleanup) tcp_test.go:32: tcp_test.go:32: Performing cleanup tcp_test.go:33: Deleting namespaces: [foo] tcp_test.go:33: Creating namespaces: [foo] tcp_test.go:32: Cleanup completed in 13.29s --- PASS: TestAuthorizationTCPTraffic (33.98s) === RUN TestTrustDomainMigration trust_domain_test.go:35: This test verifies trust domain migration trust_domain_test.go:36: Doc reference: https://istio.io/latest/docs/tasks/security/authorization/authz-td-migration/ trust_domain_test.go:48: trust_domain_test.go:48: STEP 1: Apply default SMCP and SMMR manifests trust_domain_test.go:48: Wait for condition condition=Ready on smcp istio-system/basic... trust_domain_test.go:48: SUCCESS: Condition condition=Ready met by smcp istio-system/basic trust_domain_test.go:48: Wait for smmr/default to be ready in namespace istio-system trust_domain_test.go:50: trust_domain_test.go:50: STEP 2: Apply old-td trust domain trust_domain_test.go:91: Configure spec.security.trust.domain to "old-td" and alias "" trust_domain_test.go:107: Wait for condition condition=Ready on smcp istio-system/basic... trust_domain_test.go:107: SUCCESS: Condition condition=Ready met by smcp istio-system/basic trust_domain_test.go:53: trust_domain_test.go:53: STEP 3: Install httpbin and sleep in multiple namespaces trust_domain_test.go:54: Install app "httpbin" in namespace "foo" trust_domain_test.go:54: Install app "sleep" in namespace "foo" trust_domain_test.go:54: Install app "sleep" in namespace "bar" trust_domain_test.go:54: Wait for app foo/httpbin to be ready trust_domain_test.go:54: Wait for app foo/sleep to be ready trust_domain_test.go:54: Wait for app bar/sleep to be ready trust_domain_test.go:59: trust_domain_test.go:59: STEP 4: Apply trust domain policy to foo namespace === RUN TestTrustDomainMigration/Case_1:_Verifying_policy_works trust_domain_test.go:63: trust_domain_test.go:63: STEP 1: Check whether requests to foo namespace return 403 to foo namespace and 200 to bar namespace sleep.go:117: SUCCESS: Got expected "403" sleep.go:117: SUCCESS: Got expected "200" subtest.go:39: subtest.go:46: Subtest completed in 2.40s (excluding cleanup) --- PASS: TestTrustDomainMigration/Case_1:_Verifying_policy_works (2.40s) === RUN TestTrustDomainMigration/Case_2:_Migrate_trust_domain_without_trust_domain_aliases trust_domain_test.go:69: trust_domain_test.go:69: STEP 1: Apply new-td trust domain trust_domain_test.go:91: Configure spec.security.trust.domain to "new-td" and alias "" trust_domain_test.go:107: Wait for condition condition=Ready on smcp istio-system/basic... trust_domain_test.go:107: SUCCESS: Condition condition=Ready met by smcp istio-system/basic trust_domain_test.go:73: trust_domain_test.go:73: STEP 2: Check whether requests to foo namespace return 403 to foo and bar namespaces sleep.go:117: SUCCESS: Got expected "403" sleep.go:117: SUCCESS: Got expected "403" subtest.go:39: subtest.go:46: Subtest completed in 21.58s (excluding cleanup) --- PASS: TestTrustDomainMigration/Case_2:_Migrate_trust_domain_without_trust_domain_aliases (21.58s) === RUN TestTrustDomainMigration/Case_3:_Migrate_trust_domain_with_trust_domain_aliases trust_domain_test.go:79: trust_domain_test.go:79: STEP 1: Apply new-td trust domain with alias old-td trust_domain_test.go:91: Configure spec.security.trust.domain to "new-td" and alias "old-td" trust_domain_test.go:107: Wait for condition condition=Ready on smcp istio-system/basic... trust_domain_test.go:107: SUCCESS: Condition condition=Ready met by smcp istio-system/basic trust_domain_test.go:83: trust_domain_test.go:83: STEP 2: Check whether requests to foo namespace return 403 to foo and 200 to bar namespaces sleep.go:117: SUCCESS: Got expected "403" sleep.go:117: SUCCESS: Got expected "200" subtest.go:39: subtest.go:46: Subtest completed in 25.10s (excluding cleanup) --- PASS: TestTrustDomainMigration/Case_3:_Migrate_trust_domain_with_trust_domain_aliases (25.10s) test.go:91: test.go:98: Test completed in 66.60s (excluding cleanup) trust_domain_test.go:38: trust_domain_test.go:38: Performing cleanup trust_domain_test.go:39: Deleting resources from namespace foo trust_domain_test.go:42: Deleting resources from namespace foo trust_domain_test.go:42: Deleting resources from namespace foo trust_domain_test.go:42: Deleting resources from namespace bar trust_domain_test.go:38: Cleanup completed in 3.44s --- PASS: TestTrustDomainMigration (70.04s) PASS ok github.com/maistra/maistra-test-tool/pkg/tests/tasks/security/authorization 270.752s test_helper_setup.go:78: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === RUN TestAlpnFilterDisabledForNonIstioMtls test.go:128: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestAlpnFilterDisabledForNonIstioMtls (0.00s) === 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:69: 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:81: FAILURE: failed to parse certificate: %!w(*errors.errorString=&{x509: malformed algorithm identifier}) external_ca_test.go:77: --- Attempt 1/60 failed. Retrying... external_ca_test.go:77: --- Attempt 2/60 successful; total time: 3.55s 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:91: test.go:98: Test completed in 51.03s (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 14.36s --- PASS: TestExternalCertificate (65.40s) PASS ok github.com/maistra/maistra-test-tool/pkg/tests/tasks/security/certificate 66.473s test_helper_setup.go:78: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === RUN TestIstioCsr test.go:128: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestIstioCsr (0.00s) === RUN TestPluginCaCert test.go:128: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestPluginCaCert (0.00s) PASS ok github.com/maistra/maistra-test-tool/pkg/tests/tasks/security/certmanager 1.054s test_helper_setup.go:78: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === RUN TestCircuitBreaking circuit_breaking_test.go:38: 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: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s error: timed out waiting for the condition on servicemeshcontrolplanes/basic error: exit status 1 circuit_breaking_test.go:44: Wait for condition condition=Ready on smcp istio-system/basic... circuit_breaking_test.go:44: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s error: timed out waiting for the condition on servicemeshcontrolplanes/basic error: exit status 1 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:44: Wait for smmr/default to be ready in namespace istio-system 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:55: 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:79: Success rate 200: 38% circuit_breaking_test.go:80: Success rate 503: 62% 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:86: Verify istio-proxy pilot-agent stats, expected upstream_rq_pending_overflow value to be more than zero circuit_breaking_test.go:122: SUCCESS: Found Upstream_rq_pending_overflow : 31 test.go:91: test.go:98: Test completed in 34.93s (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 19.36s --- PASS: TestCircuitBreaking (54.28s) === RUN TestFaultInjection fault_injection_test.go:50: fault_injection_test.go:50: STEP 1: Apply default SMCP and SMMR manifests fault_injection_test.go:50: Wait for condition condition=Ready on smcp istio-system/basic... fault_injection_test.go:50: SUCCESS: Condition condition=Ready met by smcp istio-system/basic fault_injection_test.go:50: Wait for smmr/default to be ready in namespace istio-system fault_injection_test.go:52: fault_injection_test.go:52: STEP 2: Install Bookinfo fault_injection_test.go:53: Install app "bookinfo" in namespace "bookinfo" fault_injection_test.go:53: Create Bookinfo Gateway fault_injection_test.go:53: Create Bookinfo Destination Rules (all) fault_injection_test.go:53: Create Bookinfo Deployments fault_injection_test.go:53: Wait for app bookinfo/bookinfo to be ready fault_injection_test.go:55: Logging into bookinfo as "jason" === RUN TestFaultInjection/ratings-fault-delay fault_injection_test.go:63: fault_injection_test.go:63: STEP 1: check if productpage shows 'error fetching product reviews' due to delay injection fault_injection_test.go:65: SUCCESS: request completed in 6.112s, which is within the expected range 4s - 14s fault_injection_test.go:65: SUCCESS: productpage shows 'error fetching product reviews', which is expected subtest.go:39: subtest.go:46: Subtest completed in 7.08s (excluding cleanup) --- PASS: TestFaultInjection/ratings-fault-delay (7.08s) === RUN TestFaultInjection/ratings-fault-abort fault_injection_test.go:82: fault_injection_test.go:82: STEP 1: check if productpage shows ratings service as unavailable due to abort injection fault_injection_test.go:84: SUCCESS: productpage shows 'ratings service is currently unavailable' as expected subtest.go:39: subtest.go:46: Subtest completed in 1.49s (excluding cleanup) --- PASS: TestFaultInjection/ratings-fault-abort (1.49s) test.go:91: test.go:98: Test completed in 22.21s (excluding cleanup) fault_injection_test.go:45: fault_injection_test.go:45: Performing cleanup fault_injection_test.go:46: Deleting namespaces: [bookinfo] fault_injection_test.go:46: Creating namespaces: [bookinfo] fault_injection_test.go:45: Cleanup completed in 14.00s --- PASS: TestFaultInjection (36.20s) === RUN TestRequestRouting request_routing_test.go:41: request_routing_test.go:41: STEP 1: Apply default SMCP and SMMR manifests request_routing_test.go:41: Wait for condition condition=Ready on smcp istio-system/basic... request_routing_test.go:41: SUCCESS: Condition condition=Ready met by smcp istio-system/basic request_routing_test.go:41: Wait for smmr/default to be ready in namespace istio-system request_routing_test.go:43: request_routing_test.go:43: STEP 2: Install Bookinfo request_routing_test.go:44: Install app "bookinfo" in namespace "bookinfo" request_routing_test.go:44: Create Bookinfo Gateway request_routing_test.go:44: Create Bookinfo Destination Rules (all) request_routing_test.go:44: Create Bookinfo Deployments request_routing_test.go:44: Wait for app bookinfo/bookinfo to be ready request_routing_test.go:47: Logging into bookinfo as "jason" === RUN TestRequestRouting/not-logged-in Simple Bookstore App

The Comedy of Errors

Summary: Wikipedia Summary: The Comedy of Errors is one of William Shakespeare's early plays. It is his shortest and one of his most farcical comedies, with a major part of the humour coming from slapstick and mistaken identity, in addition to puns and word play.

Book Details

Type:
paperback
Pages:
200
Publisher:
PublisherA
Language:
English
ISBN-10:
1234567890
ISBN-13:
123-1234567890

Book Reviews

An extremely entertaining play by Shakespeare. The slapstick humour is refreshing!

Reviewer1

Absolutely fun and entertaining. The play lacks thematic depth when compared to other plays by Shakespeare.

Reviewer2
Reviews served by:
reviews-v1-686cd989df-245tx
request_routing_test.go:54: request_routing_test.go:54: STEP 1: get productpage without logging in; expect to get reviews-v1 (5x) request_routing_test.go:57: SUCCESS: productpage called reviews-v1 request_routing_test.go:57: SUCCESS: productpage called reviews-v1 request_routing_test.go:57: SUCCESS: productpage called reviews-v1 request_routing_test.go:57: SUCCESS: productpage called reviews-v1 request_routing_test.go:57: SUCCESS: productpage called reviews-v1 subtest.go:39: subtest.go:46: Subtest completed in 2.30s (excluding cleanup) --- PASS: TestRequestRouting/not-logged-in (2.30s) === RUN TestRequestRouting/logged-in request_routing_test.go:73: request_routing_test.go:73: STEP 1: get productpage as logged-in user; expect to get reviews-v2 (5x) request_routing_test.go:76: SUCCESS: productpage called reviews-v2 request_routing_test.go:76: SUCCESS: productpage called reviews-v2 request_routing_test.go:76: SUCCESS: productpage called reviews-v2 request_routing_test.go:76: SUCCESS: productpage called reviews-v2 request_routing_test.go:76: SUCCESS: productpage called reviews-v2 subtest.go:39: subtest.go:46: Subtest completed in 1.97s (excluding cleanup) --- PASS: TestRequestRouting/logged-in (1.97s) test.go:91: test.go:98: Test completed in 16.33s (excluding cleanup) request_routing_test.go:35: request_routing_test.go:35: Performing cleanup request_routing_test.go:36: Deleting namespaces: [bookinfo] request_routing_test.go:36: Creating namespaces: [bookinfo] request_routing_test.go:35: Cleanup completed in 13.92s --- PASS: TestRequestRouting (30.25s) === RUN TestRequestTimeouts request_timeouts_test.go:45: request_timeouts_test.go:45: STEP 1: Apply default SMCP and SMMR manifests request_timeouts_test.go:45: Wait for condition condition=Ready on smcp istio-system/basic... request_timeouts_test.go:45: SUCCESS: Condition condition=Ready met by smcp istio-system/basic request_timeouts_test.go:45: Wait for smmr/default to be ready in namespace istio-system request_timeouts_test.go:47: request_timeouts_test.go:47: STEP 2: Install Bookinfo request_timeouts_test.go:48: Install app "bookinfo" in namespace "bookinfo" request_timeouts_test.go:48: Create Bookinfo Gateway request_timeouts_test.go:48: Create Bookinfo Destination Rules (all) request_timeouts_test.go:48: Create Bookinfo Deployments request_timeouts_test.go:48: Wait for app bookinfo/bookinfo to be ready request_timeouts_test.go:54: request_timeouts_test.go:54: STEP 3: make sure there is no timeout before applying delay and timeout in VirtualServices Simple Bookstore App

The Comedy of Errors

Summary: Wikipedia Summary: The Comedy of Errors is one of William Shakespeare's early plays. It is his shortest and one of his most farcical comedies, with a major part of the humour coming from slapstick and mistaken identity, in addition to puns and word play.

Book Details

Type:
paperback
Pages:
200
Publisher:
PublisherA
Language:
English
ISBN-10:
1234567890
ISBN-13:
123-1234567890

Book Reviews

An extremely entertaining play by Shakespeare. The slapstick humour is refreshing!

Reviewer1

Absolutely fun and entertaining. The play lacks thematic depth when compared to other plays by Shakespeare.

Reviewer2
Reviews served by:
reviews-v1-686cd989df-9pzwh
request_timeouts_test.go:59: SUCCESS: received normal productpage response request_timeouts_test.go:68: request_timeouts_test.go:68: STEP 4: apply delay and timeout in VirtualServices request_timeouts_test.go:71: request_timeouts_test.go:71: STEP 5: check if productpage shows 'error fetching product reviews' due to delay and timeout injection request_timeouts_test.go:74: SUCCESS: productpage shows 'error fetching product reviews', which is expected request_timeouts_test.go:74: SUCCESS: productpage shows 'error fetching product reviews', which is expected request_timeouts_test.go:74: SUCCESS: productpage shows 'error fetching product reviews', which is expected request_timeouts_test.go:74: SUCCESS: productpage shows 'error fetching product reviews', which is expected request_timeouts_test.go:74: SUCCESS: productpage shows 'error fetching product reviews', which is expected request_timeouts_test.go:74: SUCCESS: productpage shows 'error fetching product reviews', which is expected test.go:91: test.go:98: Test completed in 21.79s (excluding cleanup) request_timeouts_test.go:40: request_timeouts_test.go:40: Performing cleanup request_timeouts_test.go:41: Deleting namespaces: [bookinfo] request_timeouts_test.go:41: Creating namespaces: [bookinfo] request_timeouts_test.go:40: Cleanup completed in 13.76s --- PASS: TestRequestTimeouts (35.55s) === 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:38: Wait for smmr/default to be ready in namespace istio-system 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:58: SUCCESS: request received by httpbin-v1 traffic_mirroring_test.go:66: SUCCESS: request not mirrored to httpbin-v2 subtest.go:39: subtest.go:46: Subtest completed in 3.44s (excluding cleanup) --- PASS: TestMirroring/no_mirroring (3.44s) === 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:88: SUCCESS: request received by httpbin-v1 traffic_mirroring_test.go:96: SUCCESS: request mirrored to httpbin-v2 subtest.go:39: subtest.go:46: Subtest completed in 3.42s (excluding cleanup) --- PASS: TestMirroring/mirroring_to_httpbin-v2 (3.42s) test.go:91: test.go:98: Test completed in 14.88s (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 19.42s --- PASS: TestMirroring (34.30s) === RUN TestTrafficShifting traffic_shifting_test.go:46: traffic_shifting_test.go:46: STEP 1: Apply default SMCP and SMMR manifests traffic_shifting_test.go:46: Wait for condition condition=Ready on smcp istio-system/basic... traffic_shifting_test.go:46: SUCCESS: Condition condition=Ready met by smcp istio-system/basic traffic_shifting_test.go:46: Wait for smmr/default to be ready in namespace istio-system traffic_shifting_test.go:48: traffic_shifting_test.go:48: STEP 2: Install Bookinfo traffic_shifting_test.go:49: Install app "bookinfo" in namespace "bookinfo" traffic_shifting_test.go:49: Create Bookinfo Gateway traffic_shifting_test.go:49: Create Bookinfo Destination Rules (all) traffic_shifting_test.go:49: Create Bookinfo Deployments traffic_shifting_test.go:49: Wait for app bookinfo/bookinfo to be ready Simple Bookstore App

The Comedy of Errors

Summary: Wikipedia Summary: The Comedy of Errors is one of William Shakespeare's early plays. It is his shortest and one of his most farcical comedies, with a major part of the humour coming from slapstick and mistaken identity, in addition to puns and word play.

Book Details

Type:
paperback
Pages:
200
Publisher:
PublisherA
Language:
English
ISBN-10:
1234567890
ISBN-13:
123-1234567890

Book Reviews

An extremely entertaining play by Shakespeare. The slapstick humour is refreshing!

Reviewer1

Absolutely fun and entertaining. The play lacks thematic depth when compared to other plays by Shakespeare.

Reviewer2
Reviews served by:
reviews-v1-686cd989df-qlmwz
=== RUN TestTrafficShifting/50_percent_to_v3 traffic_shifting_test.go:58: traffic_shifting_test.go:58: STEP 1: configure VirtualService to split traffic 50% to v1 and 50% to v3 traffic_shifting_test.go:61: traffic_shifting_test.go:61: STEP 2: Make 100 requests and check if v1 and v3 get 50% of requests each (tolerance: 20%) traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:128: SUCCESS: 56/100 responses matched modified-productpage-normal-user-v1.html (actual rate 0.560000, expected 0.500000, tolerance 0.200000) traffic_shifting_test.go:128: SUCCESS: 44/100 responses matched modified-productpage-normal-user-v3.html (actual rate 0.440000, expected 0.500000, tolerance 0.200000) subtest.go:39: subtest.go:46: Subtest completed in 9.67s (excluding cleanup) --- PASS: TestTrafficShifting/50_percent_to_v3 (9.67s) === RUN TestTrafficShifting/100_percent_to_v3 traffic_shifting_test.go:73: traffic_shifting_test.go:73: STEP 1: configure VirtualService to send all traffic to v3 traffic_shifting_test.go:76: traffic_shifting_test.go:76: STEP 2: Make 100 requests and check if all of them go to v3 (tolerance: 0%) traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:91: SUCCESS: received expected status code 200 traffic_shifting_test.go:128: SUCCESS: 100/100 responses matched modified-productpage-normal-user-v3.html (actual rate 1.000000, expected 1.000000, tolerance 0.000000) subtest.go:39: subtest.go:46: Subtest completed in 9.17s (excluding cleanup) --- PASS: TestTrafficShifting/100_percent_to_v3 (9.17s) test.go:91: test.go:98: Test completed in 33.44s (excluding cleanup) traffic_shifting_test.go:40: traffic_shifting_test.go:40: Performing cleanup traffic_shifting_test.go:41: Deleting namespaces: [bookinfo] traffic_shifting_test.go:41: Creating namespaces: [bookinfo] traffic_shifting_test.go:40: Cleanup completed in 14.02s --- PASS: TestTrafficShifting (47.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:44: Wait for smmr/default to be ready in namespace istio-system 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:39: subtest.go:46: Subtest completed in 2.11s (excluding cleanup) traffic_tcp_shifting_test.go:50: traffic_tcp_shifting_test.go:50: Performing cleanup traffic_tcp_shifting_test.go:51: Deleting resources from namespace foo traffic_tcp_shifting_test.go:50: Cleanup completed in 0.62s --- PASS: TestTcpTrafficShifting/tcp_shift_100_percent_to_v1 (2.73s) === 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: 77/100 responses matched one (actual rate 0.770000, expected 0.800000, tolerance 0.100000) traffic_tcp_shifting_test.go:114: SUCCESS: 23/100 responses matched two (actual rate 0.230000, expected 0.200000, tolerance 0.100000) subtest.go:39: subtest.go:46: Subtest completed in 2.17s (excluding cleanup) traffic_tcp_shifting_test.go:68: traffic_tcp_shifting_test.go:68: Performing cleanup traffic_tcp_shifting_test.go:69: Deleting resources from namespace foo traffic_tcp_shifting_test.go:68: Cleanup completed in 0.64s --- PASS: TestTcpTrafficShifting/tcp_shift_20_percent_to_v2 (2.81s) test.go:91: test.go:98: Test completed in 15.01s (excluding cleanup) traffic_tcp_shifting_test.go:37: traffic_tcp_shifting_test.go:37: Performing cleanup traffic_tcp_shifting_test.go:38: Deleting resources from namespace foo traffic_tcp_shifting_test.go:38: Deleting resources from namespace foo traffic_tcp_shifting_test.go:38: Deleting resources from namespace foo traffic_tcp_shifting_test.go:37: Cleanup completed in 1.97s --- PASS: TestTcpTrafficShifting (16.98s) PASS ok github.com/maistra/maistra-test-tool/pkg/tests/tasks/traffic 256.106s test_helper_setup.go:78: 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:45: Wait for smmr/default to be ready in namespace istio-system access_external_services_test.go:47: access_external_services_test.go:47: STEP 2: Install sleep into bookinfo access_external_services_test.go:48: Install app "sleep" in namespace "bookinfo" access_external_services_test.go:48: Wait for app bookinfo/sleep to be ready access_external_services_test.go:50: access_external_services_test.go:50: STEP 3: Install httpbin in mesh-external access_external_services_test.go:52: Install app "httpbin" in namespace "mesh-external" access_external_services_test.go:52: Wait for app mesh-external/httpbin to be ready access_external_services_test.go:54: access_external_services_test.go:54: STEP 4: Make request to external httpbin from sleep sleep.go:117: SUCCESS: Got expected "200" access_external_services_test.go:58: access_external_services_test.go:58: STEP 5: Make sure that external httpbin was not discovered by Istio istioctl.go:26: SUCCESS: Httpbin was not discovered access_external_services_test.go:66: access_external_services_test.go:66: 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:80: access_external_services_test.go:80: STEP 7: Make request to external httpbin from sleep again, and expect it denied sleep.go:117: SUCCESS: Got expected "CURL_FAILED" === RUN TestAccessExternalServices/allow_request_to_external_httpbin_after_applying_ServiceEntry access_external_services_test.go:88: access_external_services_test.go:88: STEP 1: Apply a ServiceEntry for external httpbin access_external_services_test.go:91: access_external_services_test.go:91: STEP 2: Send a request to external httpbin sleep.go:117: SUCCESS: Got expected "200" subtest.go:39: subtest.go:46: Subtest completed in 1.63s (excluding cleanup) access_external_services_test.go:84: access_external_services_test.go:84: Performing cleanup access_external_services_test.go:85: Deleting resources from namespace bookinfo access_external_services_test.go:84: Cleanup completed in 0.35s --- PASS: TestAccessExternalServices/allow_request_to_external_httpbin_after_applying_ServiceEntry (1.99s) test.go:91: test.go:98: Test completed in 14.56s (excluding cleanup) access_external_services_test.go:35: access_external_services_test.go:35: Performing cleanup access_external_services_test.go:36: Deleting resources from namespace bookinfo access_external_services_test.go:35: Cleanup completed in 1.45s --- PASS: TestAccessExternalServices (16.01s) === 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: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s error: timed out waiting for the condition on servicemeshcontrolplanes/basic error: exit status 1 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:33: Wait for smmr/default to be ready in namespace istio-system egress_gateways_test.go:35: egress_gateways_test.go:35: STEP 2: Install sleep pod egress_gateways_test.go:36: Install app "sleep" in namespace "bookinfo" egress_gateways_test.go:36: Wait for app bookinfo/sleep to be ready === RUN TestEgressGateways/HTTP egress_gateways_test.go:39: egress_gateways_test.go:39: STEP 1: Install external httpbin egress_gateways_test.go:41: Install app "httpbin" in namespace "mesh-external" egress_gateways_test.go:41: Wait for app mesh-external/httpbin to be ready egress_gateways_test.go:43: egress_gateways_test.go:43: STEP 2: Apply a ServiceEntry for external httpbin egress_gateways_test.go:49: egress_gateways_test.go:49: STEP 3: Apply a gateway and virtual service for external httpbin sleep.go:117: SUCCESS: Got expected "200" subtest.go:39: subtest.go:46: Subtest completed in 4.00s (excluding cleanup) egress_gateways_test.go:51: egress_gateways_test.go:51: Performing cleanup egress_gateways_test.go:52: Deleting resources from namespace bookinfo egress_gateways_test.go:51: Cleanup completed in 0.63s egress_gateways_test.go:45: egress_gateways_test.go:45: Performing cleanup egress_gateways_test.go:46: Deleting resources from namespace bookinfo egress_gateways_test.go:45: Cleanup completed in 0.34s --- PASS: TestEgressGateways/HTTP (4.98s) === RUN TestEgressGateways/HTTPS egress_gateways_test.go:59: egress_gateways_test.go:59: STEP 1: Install external nginx egress_gateways_test.go:60: Install app "nginx" in namespace "mesh-external" egress_gateways_test.go:60: Wait for app mesh-external/nginx to be ready egress_gateways_test.go:62: egress_gateways_test.go:62: STEP 2: Create ServiceEntry for external nginx, port 80 and 443 egress_gateways_test.go:68: egress_gateways_test.go:68: STEP 3: Create a TLS ServiceEntry to external nginx egress_gateways_test.go:74: egress_gateways_test.go:74: STEP 4: Create a https Gateway to external nginx egress_gateways_test.go:80: Send HTTPS request to external nginx sleep.go:117: SUCCESS: Got expected "200" subtest.go:39: subtest.go:46: Subtest completed in 12.04s (excluding cleanup) egress_gateways_test.go:76: egress_gateways_test.go:76: Performing cleanup egress_gateways_test.go:77: Deleting resources from namespace bookinfo egress_gateways_test.go:76: Cleanup completed in 0.65s egress_gateways_test.go:70: egress_gateways_test.go:70: Performing cleanup egress_gateways_test.go:71: Deleting resources from namespace bookinfo egress_gateways_test.go:70: Cleanup completed in 0.36s egress_gateways_test.go:64: egress_gateways_test.go:64: Performing cleanup egress_gateways_test.go:65: Deleting resources from namespace istio-system egress_gateways_test.go:64: Cleanup completed in 0.36s --- PASS: TestEgressGateways/HTTPS (13.41s) test.go:91: test.go:98: Test completed in 34.68s (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 13.20s --- PASS: TestEgressGateways (47.88s) === 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:41: Wait for smmr/default to be ready in namespace istio-system 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:26: 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:39: subtest.go:46: Subtest completed in 7.39s (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:70: Deleting resources from namespace bookinfo egress_gateways_tls_file_mount_test.go:71: Deleting resources from namespace istio-system egress_gateways_tls_file_mount_test.go:69: Cleanup completed in 1.12s 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:63: Deleting resources from namespace istio-system egress_gateways_tls_file_mount_test.go:62: Cleanup completed in 0.36s --- PASS: TestTLSOrigination/Egress_Gateway_without_file_mount (8.87s) === 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:39: subtest.go:46: Subtest completed in 8.72s (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:86: Deleting file /go/src/maistra-test-tool/pkg/app/yaml/nginx.yaml from namespace mesh-external egress_gateways_tls_file_mount_test.go:88: Deleting resources from namespace bookinfo egress_gateways_tls_file_mount_test.go:89: Deleting resources from namespace istio-system egress_gateways_tls_file_mount_test.go:95: SUCCESS: Pod istio-ingressgateway-5f5fbd79dc-6xk8q is being deleted egress_gateways_tls_file_mount_test.go:85: Cleanup completed in 10.58s --- PASS: TestTLSOrigination/mTLS_with_file_mount (19.31s) test.go:91: test.go:98: Test completed in 34.69s (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:38: Deleting resources from namespace bookinfo egress_gateways_tls_file_mount_test.go:37: Cleanup completed in 0.93s --- PASS: TestTLSOrigination (35.63s) === 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: SUCCESS: Condition condition=Ready met by smcp istio-system/basic egress_gateways_tls_sds_test.go:38: Wait for smmr/default to be ready in namespace istio-system 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:41: Install app "sleep" in namespace "bookinfo" egress_gateways_tls_sds_test.go:41: Wait for app bookinfo/sleep to be ready egress_gateways_tls_sds_test.go:43: egress_gateways_tls_sds_test.go:43: STEP 3: Deploy nginx mTLS server and create secrets in the mesh namespace egress_gateways_tls_sds_test.go:44: Install app "nginx" in namespace "mesh-external" egress_gateways_tls_sds_test.go:44: Wait for app mesh-external/nginx to be ready egress_gateways_tls_sds_test.go:52: Send HTTP request to external nginx to verify mTLS origination sleep.go:117: SUCCESS: Got expected "200" test.go:91: test.go:98: Test completed in 14.63s (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:33: Deleting resources from namespace bookinfo egress_gateways_tls_sds_test.go:34: Deleting resources from namespace istio-system egress_gateways_tls_sds_test.go:29: Cleanup completed in 34.78s --- PASS: TestTLSOriginationSDS (49.41s) === RUN TestEgressTLSOrigination egress_tls_origination_test.go:34: egress_tls_origination_test.go:34: STEP 1: Apply default SMCP and SMMR manifests egress_tls_origination_test.go:34: Wait for condition condition=Ready on smcp istio-system/basic... egress_tls_origination_test.go:34: SUCCESS: Condition condition=Ready met by smcp istio-system/basic egress_tls_origination_test.go:34: Wait for smmr/default to be ready in namespace istio-system egress_tls_origination_test.go:36: egress_tls_origination_test.go:36: STEP 2: Install sleep pod egress_tls_origination_test.go:37: Install app "sleep" in namespace "bookinfo" egress_tls_origination_test.go:37: Wait for app bookinfo/sleep to be ready === RUN TestEgressTLSOrigination/TrafficManagement_egress_tls_origination egress_tls_origination_test.go:40: TLS origination for egress traffic egress_tls_origination_test.go:48: Install app "nginx" in namespace "mesh-external" egress_tls_origination_test.go:48: Wait for app mesh-external/nginx to be ready sleep.go:117: SUCCESS: Got expected "200" subtest.go:39: subtest.go:46: Subtest completed in 3288.50s (excluding cleanup) egress_tls_origination_test.go:41: egress_tls_origination_test.go:41: Performing cleanup egress_tls_origination_test.go:42: Deleting file /go/src/maistra-test-tool/pkg/app/yaml/nginx.yaml from namespace mesh-external egress_tls_origination_test.go:43: Deleting resources from namespace bookinfo egress_tls_origination_test.go:44: Deleting resources from namespace bookinfo egress_tls_origination_test.go:45: Deleting resources from namespace bookinfo egress_tls_origination_test.go:41: Cleanup completed in 2.70s --- PASS: TestEgressTLSOrigination/TrafficManagement_egress_tls_origination (3291.21s) test.go:91: test.go:98: Test completed in 3296.92s (excluding cleanup) egress_tls_origination_test.go:29: egress_tls_origination_test.go:29: Performing cleanup egress_tls_origination_test.go:30: Deleting namespaces: [mesh-external] egress_tls_origination_test.go:30: Creating namespaces: [mesh-external] egress_tls_origination_test.go:31: Deleting resources from namespace bookinfo egress_tls_origination_test.go:29: Cleanup completed in 8.85s --- PASS: TestEgressTLSOrigination (3305.77s) === 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:33: egress_wildcard_hosts_test.go:33: STEP 1: Apply default SMCP and SMMR manifests panic: test timed out after 1h0m0s running tests: TestEgressWildcard (19m24s) goroutine 275 [running]: testing.(*M).startAlarm.func1() /usr/local/go/src/testing/testing.go:2241 +0x3c5 created by time.goFunc /usr/local/go/src/time/sleep.go:176 +0x32 goroutine 1 [chan receive, 21 minutes]: testing.(*T).Run(0xc00021a000, {0x811ff9?, 0x51da05?}, 0x85a3d0) /usr/local/go/src/testing/testing.go:1630 +0x405 testing.runTests.func1(0xb364a0?) /usr/local/go/src/testing/testing.go:2036 +0x45 testing.tRunner(0xc00021a000, 0xc0000e9bd8) /usr/local/go/src/testing/testing.go:1576 +0x10b testing.runTests(0xc0000b4fa0?, {0xb2e000, 0x6, 0x6}, {0xc000010258?, 0x0?, 0xb35c00?}) /usr/local/go/src/testing/testing.go:2034 +0x489 testing.(*M).Run(0xc0000b4fa0) /usr/local/go/src/testing/testing.go:1906 +0x63a github.com/maistra/maistra-test-tool/pkg/util/test.(*testSuite).Run(0xc00007e5e0) /go/src/maistra-test-tool/pkg/util/test/suite.go:40 +0x1ba github.com/maistra/maistra-test-tool/pkg/tests/tasks/traffic/egress.TestMain(0xc0000b4fa0) /go/src/maistra-test-tool/pkg/tests/tasks/traffic/egress/main_test.go:27 +0x64 main.main() _testmain.go:59 +0x1d3 goroutine 292 [syscall, 21 minutes]: syscall.Syscall6(0xc0003ea6e0?, 0xc0003e8390?, 0xc0000835be?, 0xc0000836e0?, 0x54ee2e?, 0xc000033060?, 0x1?) /usr/local/go/src/syscall/syscall_linux.go:91 +0x36 os.(*Process).blockUntilWaitable(0xc000026c30) /usr/local/go/src/os/wait_waitid.go:32 +0x87 os.(*Process).wait(0xc000026c30) /usr/local/go/src/os/exec_unix.go:22 +0x28 os.(*Process).Wait(...) /usr/local/go/src/os/exec.go:132 os/exec.(*Cmd).Wait(0xc0003ea6e0) /usr/local/go/src/os/exec/exec.go:890 +0x45 os/exec.(*Cmd).Run(0x20?) /usr/local/go/src/os/exec/exec.go:590 +0x39 os/exec.(*Cmd).CombinedOutput(0xc0003ea6e0) /usr/local/go/src/os/exec/exec.go:1005 +0xa8 github.com/maistra/maistra-test-tool/pkg/util/shell.execShellCommand({0xc00022c040?, 0xc0000837c8?}, {0x0, 0x0, 0x0}, {0xc0000bc900, 0x47e}) /go/src/maistra-test-tool/pkg/util/shell/shell_helper.go:76 +0x170 github.com/maistra/maistra-test-tool/pkg/util/shell.ExecuteWithEnvAndInput({0x8c07e8, 0xc00028c3e0}, {0x0, 0x0, 0x0}, {0xc00022c040, 0x1d}, {0xc0000bc900, 0x47e}, {0x0, ...}) /go/src/maistra-test-tool/pkg/util/shell/shell_helper.go:49 +0xb0 github.com/maistra/maistra-test-tool/pkg/util/shell.ExecuteWithInput({0x8c07e8, 0xc00028c3e0}, {0xc00022c040, 0x1d}, {0xc0000bc900, 0x47e}, {0x0, 0x0, 0x0}) /go/src/maistra-test-tool/pkg/util/shell/shell_helper.go:39 +0xc9 github.com/maistra/maistra-test-tool/pkg/util/oc.OC.ApplyString.func1() /go/src/maistra-test-tool/pkg/util/oc/oc_struct.go:131 +0x145 github.com/maistra/maistra-test-tool/pkg/util/oc.OC.withKubeconfig({{0x0?, 0x5caa05?}}, {0x8c0638, 0xc000214300}, 0xc000083b90) /go/src/maistra-test-tool/pkg/util/oc/oc_struct.go:371 +0x63 github.com/maistra/maistra-test-tool/pkg/util/oc.OC.retryFunction.func1({0x8c0638, 0xc000214300}) /go/src/maistra-test-tool/pkg/util/oc/oc_struct.go:107 +0x6a github.com/maistra/maistra-test-tool/pkg/util/test.(*RetryTestHelper).Attempt(0xc000214300, 0xc000083b28) /go/src/maistra-test-tool/pkg/util/test/test_helper_retry.go:133 +0x82 github.com/maistra/maistra-test-tool/pkg/util/retry.attemptInternal({0x8c07e8, 0xc00028c3e0}, 0x6a4485?, 0x0, 0x1) /go/src/maistra-test-tool/pkg/util/retry/retry.go:96 +0xc8 github.com/maistra/maistra-test-tool/pkg/util/retry.Attempt({0x8c07e8, 0xc00028c3e0}, 0x2?) /go/src/maistra-test-tool/pkg/util/retry/retry.go:90 +0x51 github.com/maistra/maistra-test-tool/pkg/util/oc.OC.retryFunction({{0x0?, 0xc000083b78?}}, {0x8c07e8, 0xc00028c3e0}, 0xc000083b90) /go/src/maistra-test-tool/pkg/util/oc/oc_struct.go:105 +0x105 github.com/maistra/maistra-test-tool/pkg/util/oc.OC.ApplyString({{0x0?, 0x0?}}, {0x8c07e8, 0xc00028c3e0}, {0x80faf2, 0xc}, {0xc000083c70, 0x1, 0x1}) /go/src/maistra-test-tool/pkg/util/oc/oc_struct.go:129 +0x108 github.com/maistra/maistra-test-tool/pkg/util/oc.ApplyString({0x8c07e8, 0xc00028c3e0}, {0x80faf2, 0xc}, {0xc000083c70, 0x1, 0x1}) /go/src/maistra-test-tool/pkg/util/oc/oc.go:34 +0x90 github.com/maistra/maistra-test-tool/pkg/tests/ossm.InstallSMCPCustom({0x8c07e8, 0xc00028c3e0}, {0x80faf2, 0xc}, {{0x80ce6b, 0x5}, {0x80faf2, 0xc}, {0x2, 0x6}, ...}) /go/src/maistra-test-tool/pkg/tests/ossm/setup.go:128 +0xf5 github.com/maistra/maistra-test-tool/pkg/tests/ossm.DeployControlPlane({0x8c07e8, 0xc00028c3e0}) /go/src/maistra-test-tool/pkg/tests/ossm/setup.go:113 +0x16b github.com/maistra/maistra-test-tool/pkg/tests/tasks/traffic/egress.TestEgressWildcard.func1({0x8c07e8, 0xc00028c3e0}) /go/src/maistra-test-tool/pkg/tests/tasks/traffic/egress/egress_wildcard_hosts_test.go:33 +0x6d github.com/maistra/maistra-test-tool/pkg/util/test.(*topLevelTest).Run(0xc000214180, 0x85a3c8) /go/src/maistra-test-tool/pkg/util/test/test.go:101 +0xfb github.com/maistra/maistra-test-tool/pkg/tests/tasks/traffic/egress.TestEgressWildcard(0xc0001b71e0) /go/src/maistra-test-tool/pkg/tests/tasks/traffic/egress/egress_wildcard_hosts_test.go:30 +0xd3 testing.tRunner(0xc0001b71e0, 0x85a3d0) /usr/local/go/src/testing/testing.go:1576 +0x10b created by testing.(*T).Run /usr/local/go/src/testing/testing.go:1629 +0x3ea goroutine 295 [IO wait, 21 minutes]: internal/poll.runtime_pollWait(0x7f818cf57d68, 0x72) /usr/local/go/src/runtime/netpoll.go:306 +0x89 internal/poll.(*pollDesc).wait(0xc0002e0c00?, 0xc0001e0600?, 0x1) /usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x32 internal/poll.(*pollDesc).waitRead(...) /usr/local/go/src/internal/poll/fd_poll_runtime.go:89 internal/poll.(*FD).Read(0xc0002e0c00, {0xc0001e0600, 0x200, 0x200}) /usr/local/go/src/internal/poll/fd_unix.go:167 +0x299 os.(*File).read(...) /usr/local/go/src/os/file_posix.go:31 os.(*File).Read(0xc00029c108, {0xc0001e0600?, 0x79f580?, 0xc0001eae68?}) /usr/local/go/src/os/file.go:118 +0x5e bytes.(*Buffer).ReadFrom(0xc0002857a0, {0x8b8760, 0xc00029c108}) /usr/local/go/src/bytes/buffer.go:202 +0x98 io.copyBuffer({0x8b7f00, 0xc0002857a0}, {0x8b8760, 0xc00029c108}, {0x0, 0x0, 0x0}) /usr/local/go/src/io/io.go:413 +0x14b io.Copy(...) /usr/local/go/src/io/io.go:386 os/exec.(*Cmd).writerDescriptor.func1() /usr/local/go/src/os/exec/exec.go:560 +0x3a os/exec.(*Cmd).Start.func2(0x0?) /usr/local/go/src/os/exec/exec.go:717 +0x32 created by os/exec.(*Cmd).Start /usr/local/go/src/os/exec/exec.go:716 +0xa33 *** Test killed with quit: ran too long (1h1m0s). FAIL github.com/maistra/maistra-test-tool/pkg/tests/tasks/traffic/egress 4620.906s test_helper_setup.go:78: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === RUN TestGatewayApi gatewayapi_test.go:50: gatewayapi_test.go:50: STEP 1: Apply default SMCP and SMMR manifests gatewayapi_test.go:50: Wait for condition condition=Ready on smcp istio-system/basic... gatewayapi_test.go:50: SUCCESS: Condition condition=Ready met by smcp istio-system/basic gatewayapi_test.go:50: Wait for smmr/default to be ready in namespace istio-system gatewayapi_test.go:52: gatewayapi_test.go:52: STEP 2: Install Gateway API CRD's gatewayapi_test.go:58: Creating namespaces: [foo] === RUN TestGatewayApi/Check_default_Gateway_API_settings gatewayapi_test.go:61: Check Gateway API is disabled by default gatewayapi_test.go:63: gatewayapi_test.go:63: STEP 1: Check istiod deployment environment variables gatewayapi_test.go:80: Env PILOT_ENABLE_GATEWAY_API is set to false gatewayapi_test.go:80: Env PILOT_ENABLE_GATEWAY_API_STATUS is set to false gatewayapi_test.go:80: Env PILOT_ENABLE_GATEWAY_API_DEPLOYMENT_CONTROLLER is set to false subtest.go:39: subtest.go:46: Subtest completed in 0.35s (excluding cleanup) --- PASS: TestGatewayApi/Check_default_Gateway_API_settings (0.35s) === RUN TestGatewayApi/Deploy_the_Kubernetes_Gateway_API gatewayapi_test.go:100: gatewayapi_test.go:100: STEP 1: Install httpbin gatewayapi_test.go:101: Install app "httpbin" in namespace "foo" gatewayapi_test.go:101: Wait for app foo/httpbin to be ready gatewayapi_test.go:103: gatewayapi_test.go:103: STEP 2: Deploy the Gateway SMCP gatewayapi_test.go:136: gatewayapi_test.go:136: STEP 3: Deploy the Gateway API configuration including a single exposed route (i.e., /get) gatewayapi_test.go:142: gatewayapi_test.go:142: STEP 4: Wait for Gateway to be ready gatewayapi_test.go:143: Wait for condition condition=Programmed on Gateway foo/gateway... gatewayapi_test.go:143: SUCCESS: Condition condition=Programmed met by Gateway foo/gateway gatewayapi_test.go:145: gatewayapi_test.go:145: STEP 5: Verfiy the GatewayApi access the httpbin service using curl gatewayapi_test.go:147: SUCCESS: Access the httpbin service with GatewayApi subtest.go:39: subtest.go:46: Subtest completed in 8.29s (excluding cleanup) gatewayapi_test.go:138: gatewayapi_test.go:138: Performing cleanup gatewayapi_test.go:139: Deleting resources from namespace foo gatewayapi_test.go:138: Cleanup completed in 0.50s gatewayapi_test.go:129: gatewayapi_test.go:129: Performing cleanup gatewayapi_test.go:129: Cleanup completed in 0.55s gatewayapi_test.go:95: gatewayapi_test.go:95: Performing cleanup gatewayapi_test.go:96: Deleting namespaces: [istio-system] gatewayapi_test.go:96: Creating namespaces: [istio-system] gatewayapi_test.go:97: Deleting namespaces: [foo] gatewayapi_test.go:97: Creating namespaces: [foo] gatewayapi_test.go:95: Cleanup completed in 35.64s --- PASS: TestGatewayApi/Deploy_the_Kubernetes_Gateway_API (44.98s) === RUN TestGatewayApi/Deploy_the_Gateway-Controller_Profile gatewayapi_test.go:167: gatewayapi_test.go:167: STEP 1: Install httpbin gatewayapi_test.go:168: Install app "httpbin" in namespace "foo" gatewayapi_test.go:168: Wait for app foo/httpbin to be ready gatewayapi_test.go:170: gatewayapi_test.go:170: STEP 2: Deploy SMCP with the profile gatewayapi_test.go:179: Wait for condition condition=Ready on smcp istio-system/basic... gatewayapi_test.go:179: SUCCESS: Condition condition=Ready met by smcp istio-system/basic gatewayapi_test.go:181: gatewayapi_test.go:181: STEP 3: delete default SMMR and create custom SMMR gatewayapi_test.go:182: Deleting resources from namespace istio-system gatewayapi_test.go:184: Wait for smmr/default to be ready in namespace istio-system gatewayapi_test.go:186: gatewayapi_test.go:186: STEP 4: Deploy the Gateway API configuration including a single exposed route (i.e., /get) gatewayapi_test.go:192: gatewayapi_test.go:192: STEP 5: Wait for Gateway to be ready gatewayapi_test.go:193: Wait for condition condition=Programmed on Gateway foo/gateway... gatewayapi_test.go:193: SUCCESS: Condition condition=Programmed met by Gateway foo/gateway gatewayapi_test.go:195: gatewayapi_test.go:195: STEP 6: Verify the Gateway-Controller Profile access the httpbin service using curl gatewayapi_test.go:197: SUCCESS: Access the httpbin service with GatewayApi subtest.go:39: subtest.go:46: Subtest completed in 10.34s (excluding cleanup) gatewayapi_test.go:188: gatewayapi_test.go:188: Performing cleanup gatewayapi_test.go:189: Deleting resources from namespace foo gatewayapi_test.go:188: Cleanup completed in 0.51s gatewayapi_test.go:162: gatewayapi_test.go:162: Performing cleanup gatewayapi_test.go:163: Deleting namespaces: [istio-system] gatewayapi_test.go:163: Creating namespaces: [istio-system] gatewayapi_test.go:164: Deleting namespaces: [foo] gatewayapi_test.go:164: Creating namespaces: [foo] gatewayapi_test.go:162: Cleanup completed in 47.48s --- PASS: TestGatewayApi/Deploy_the_Gateway-Controller_Profile (58.33s) test.go:91: test.go:98: Test completed in 109.55s (excluding cleanup) gatewayapi_test.go:54: gatewayapi_test.go:54: Performing cleanup gatewayapi_test.go:54: Cleanup completed in 2.14s --- PASS: TestGatewayApi (111.68s) === RUN TestIngressGateways ingress_gateways_test.go:43: ingress_gateways_test.go:43: STEP 1: Apply default SMCP and SMMR manifests ingress_gateways_test.go:43: Wait for condition condition=Ready on smcp istio-system/basic... ingress_gateways_test.go:43: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s error: timed out waiting for the condition on servicemeshcontrolplanes/basic error: exit status 1 ingress_gateways_test.go:43: Wait for condition condition=Ready on smcp istio-system/basic... ingress_gateways_test.go:43: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s error: timed out waiting for the condition on servicemeshcontrolplanes/basic error: exit status 1 ingress_gateways_test.go:43: Wait for condition condition=Ready on smcp istio-system/basic... ingress_gateways_test.go:43: SUCCESS: Condition condition=Ready met by smcp istio-system/basic ingress_gateways_test.go:43: Wait for smmr/default to be ready in namespace istio-system ingress_gateways_test.go:45: ingress_gateways_test.go:45: STEP 2: Install httpbin ingress_gateways_test.go:46: Install app "httpbin" in namespace "bookinfo" ingress_gateways_test.go:46: Wait for app bookinfo/httpbin to be ready === RUN TestIngressGateways/TrafficManagement_ingress_status_200_test ingress_gateways_test.go:51: ingress_gateways_test.go:51: STEP 1: Create httpbin Gateway and VirtualService with host set to httpbin.example.com yaml_vars.go:49: yaml_vars.go:49: STEP 2: Create OpenShift Route for host httpbin.example.com to istio-ingressgateway port http2 yaml_vars.go:50: NOTE: This is necessary in OSSM 2.4+, because IOR is disabled by default ingress_gateways_test.go:58: ingress_gateways_test.go:58: STEP 3: Check if httpbin service is reachable through istio-ingressgateway ingress_gateways_test.go:60: FAILURE: expected status code 200 but got 503 Service Unavailable ingress_gateways_test.go:59: --- Attempt 1/60 failed. Retrying... ingress_gateways_test.go:60: FAILURE: expected status code 200 but got 503 Service Unavailable ingress_gateways_test.go:59: --- Attempt 2/60 failed. Retrying... ingress_gateways_test.go:60: SUCCESS: received expected status code 200 ingress_gateways_test.go:59: --- Attempt 3/60 successful; total time: 2.46s subtest.go:39: subtest.go:46: Subtest completed in 3.67s (excluding cleanup) yaml_vars.go:58: yaml_vars.go:58: Performing cleanup yaml_vars.go:59: Deleting resources from namespace istio-system yaml_vars.go:58: Cleanup completed in 0.37s --- PASS: TestIngressGateways/TrafficManagement_ingress_status_200_test (4.04s) === RUN TestIngressGateways/TrafficManagement_ingress_headers_test ingress_gateways_test.go:68: ingress_gateways_test.go:68: STEP 1: Create httpbin Gateway and VirtualService with host set to * ingress_gateways_test.go:71: ingress_gateways_test.go:71: STEP 2: Check if httpbin service is reachable through istio-ingressgateway ingress_gateways_test.go:73: FAILURE: expected status code 200 but got 404 Not Found ingress_gateways_test.go:72: --- Attempt 1/60 failed. Retrying... ingress_gateways_test.go:73: SUCCESS: received expected status code 200 ingress_gateways_test.go:72: --- Attempt 2/60 successful; total time: 1.14s subtest.go:39: subtest.go:46: Subtest completed in 2.40s (excluding cleanup) --- PASS: TestIngressGateways/TrafficManagement_ingress_headers_test (2.40s) test.go:91: test.go:98: Test completed in 34.05s (excluding cleanup) ingress_gateways_test.go:39: ingress_gateways_test.go:39: Performing cleanup ingress_gateways_test.go:40: Deleting namespaces: [bookinfo] ingress_gateways_test.go:40: Creating namespaces: [bookinfo] ingress_gateways_test.go:39: Cleanup completed in 19.64s --- PASS: TestIngressGateways (53.69s) === RUN TestIngressWithoutTlsTermination ingress_without_tls_termination_test.go:37: This test validates configuring an Gateway with TLS PassThrough ingress_without_tls_termination_test.go:38: Doc reference: https://istio.io/v1.14/docs/tasks/traffic-management/ingress/ingress-sni-passthrough/ ingress_without_tls_termination_test.go:45: ingress_without_tls_termination_test.go:45: STEP 1: Apply default SMCP and SMMR manifests ingress_without_tls_termination_test.go:45: Wait for condition condition=Ready on smcp istio-system/basic... ingress_without_tls_termination_test.go:45: SUCCESS: Condition condition=Ready met by smcp istio-system/basic ingress_without_tls_termination_test.go:45: Wait for smmr/default to be ready in namespace istio-system ingress_without_tls_termination_test.go:47: ingress_without_tls_termination_test.go:47: STEP 2: Create NGINX Deployment ingress_without_tls_termination_test.go:48: Install app "nginx" in namespace "bookinfo" ingress_without_tls_termination_test.go:48: Wait for app bookinfo/nginx to be ready ingress_without_tls_termination_test.go:50: ingress_without_tls_termination_test.go:50: 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:62: ingress_without_tls_termination_test.go:62: STEP 4: Configure Gateway resource with TLS passthrough for host nginx.example.com yaml_vars.go:49: yaml_vars.go:49: STEP 5: Create OpenShift Route for host nginx.example.com to istio-ingressgateway port https yaml_vars.go:50: NOTE: This is necessary in OSSM 2.4+, because IOR is disabled by default ingress_without_tls_termination_test.go:69: ingress_without_tls_termination_test.go:69: STEP 6: 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:91: test.go:98: Test completed in 15.89s (excluding cleanup) yaml_vars.go:58: yaml_vars.go:58: Performing cleanup yaml_vars.go:59: Deleting resources from namespace istio-system yaml_vars.go:58: Cleanup completed in 0.37s ingress_without_tls_termination_test.go:40: ingress_without_tls_termination_test.go:40: Performing cleanup ingress_without_tls_termination_test.go:41: Deleting resources from namespace bookinfo ingress_without_tls_termination_test.go:42: Deleting file /go/src/maistra-test-tool/pkg/app/yaml/nginx.yaml from namespace bookinfo ingress_without_tls_termination_test.go:40: Cleanup completed in 2.11s --- PASS: TestIngressWithoutTlsTermination (18.37s) === RUN TestSecureGateways secure_gateways_test.go:53: This test verifies secure gateways. secure_gateways_test.go:54: Doc reference: https://istio.io/latest/docs/tasks/traffic-management/ingress/secure-ingress/ secure_gateways_test.go:62: secure_gateways_test.go:62: STEP 1: Apply default SMCP and SMMR manifests secure_gateways_test.go:62: Wait for condition condition=Ready on smcp istio-system/basic... secure_gateways_test.go:62: SUCCESS: Condition condition=Ready met by smcp istio-system/basic secure_gateways_test.go:62: Wait for smmr/default to be ready in namespace istio-system secure_gateways_test.go:64: secure_gateways_test.go:64: STEP 2: Install httpbin secure_gateways_test.go:65: Install app "httpbin" in namespace "bookinfo" secure_gateways_test.go:65: Wait for app bookinfo/httpbin to be ready secure_gateways_test.go:69: secure_gateways_test.go:69: STEP 3: Create TLS secrets === RUN TestSecureGateways/tls_single_host secure_gateways_test.go:79: secure_gateways_test.go:79: STEP 1: Configure a TLS ingress gateway for a single host yaml_vars.go:49: yaml_vars.go:49: STEP 2: Create OpenShift Route for host httpbin.example.com to istio-ingressgateway port https yaml_vars.go:50: NOTE: This is necessary in OSSM 2.4+, because IOR is disabled by default secure_gateways_test.go:86: secure_gateways_test.go:86: STEP 3: check if httpbin responds with teapot secure_gateways_test.go:88: SUCCESS: string '-=[ teapot ]=-' found in response subtest.go:39: subtest.go:46: Subtest completed in 1.29s (excluding cleanup) yaml_vars.go:58: yaml_vars.go:58: Performing cleanup yaml_vars.go:59: Deleting resources from namespace istio-system yaml_vars.go:58: Cleanup completed in 0.37s --- PASS: TestSecureGateways/tls_single_host (1.66s) === RUN TestSecureGateways/tls_multiple_hosts secure_gateways_test.go:97: secure_gateways_test.go:97: STEP 1: configure Gateway with multiple TLS hosts yaml_vars.go:49: yaml_vars.go:49: STEP 2: Create OpenShift Route for host helloworld-v1.example.com to istio-ingressgateway port https yaml_vars.go:50: NOTE: This is necessary in OSSM 2.4+, because IOR is disabled by default yaml_vars.go:49: yaml_vars.go:49: STEP 3: Create OpenShift Route for host httpbin.example.com to istio-ingressgateway port https yaml_vars.go:50: NOTE: This is necessary in OSSM 2.4+, because IOR is disabled by default secure_gateways_test.go:105: secure_gateways_test.go:105: STEP 4: check if helloworld-v1 responds with 200 OK secure_gateways_test.go:107: failed to get HTTP Response: Get "https://helloworld-v1.example.com:443/hello": tls: failed to verify certificate: x509: certificate is valid for *.apps.rosa.ci-rosa-h-bscw.p7gb.s3.devshift.org, not helloworld-v1.example.com secure_gateways_test.go:107: FAILURE: response is nil; the HTTP request must have failed secure_gateways_test.go:106: --- Attempt 1/60 failed. Retrying... secure_gateways_test.go:107: failed to get HTTP Response: Get "https://helloworld-v1.example.com:443/hello": tls: failed to verify certificate: x509: certificate is valid for *.apps.rosa.ci-rosa-h-bscw.p7gb.s3.devshift.org, not helloworld-v1.example.com secure_gateways_test.go:107: FAILURE: response is nil; the HTTP request must have failed secure_gateways_test.go:106: --- Attempt 2/60 failed. Retrying... secure_gateways_test.go:107: failed to get HTTP Response: Get "https://helloworld-v1.example.com:443/hello": tls: failed to verify certificate: x509: certificate is valid for *.apps.rosa.ci-rosa-h-bscw.p7gb.s3.devshift.org, not helloworld-v1.example.com secure_gateways_test.go:107: FAILURE: response is nil; the HTTP request must have failed secure_gateways_test.go:106: --- Attempt 3/60 failed. Retrying... secure_gateways_test.go:107: SUCCESS: received expected status code 200 secure_gateways_test.go:106: --- Attempt 4/60 successful; total time: 3.77s secure_gateways_test.go:113: secure_gateways_test.go:113: STEP 5: check if httpbin responds with teapot secure_gateways_test.go:115: SUCCESS: string '-=[ teapot ]=-' found in response subtest.go:39: subtest.go:46: Subtest completed in 5.77s (excluding cleanup) yaml_vars.go:58: yaml_vars.go:58: Performing cleanup yaml_vars.go:59: Deleting resources from namespace istio-system yaml_vars.go:58: Cleanup completed in 0.36s yaml_vars.go:58: yaml_vars.go:58: Performing cleanup yaml_vars.go:59: Deleting resources from namespace istio-system yaml_vars.go:58: Cleanup completed in 0.37s --- PASS: TestSecureGateways/tls_multiple_hosts (6.50s) === RUN TestSecureGateways/mutual_tls secure_gateways_test.go:123: secure_gateways_test.go:123: STEP 1: configure Gateway with tls.mode=Mutual yaml_vars.go:49: yaml_vars.go:49: STEP 2: Create OpenShift Route for host httpbin.example.com to istio-ingressgateway port https yaml_vars.go:50: NOTE: This is necessary in OSSM 2.4+, because IOR is disabled by default secure_gateways_test.go:134: secure_gateways_test.go:134: STEP 3: check if SSL handshake fails when no client certificate is given secure_gateways_test.go:136: failed to get HTTP Response: Get "https://httpbin.example.com:443/status/418": remote error: tls: certificate required secure_gateways_test.go:136: SUCCESS: request failed as expected secure_gateways_test.go:136: SUCCESS: request failed with expected error message secure_gateways_test.go:150: secure_gateways_test.go:150: STEP 4: check if SSL handshake succeeds when client certificate is given secure_gateways_test.go:152: SUCCESS: string '-=[ teapot ]=-' found in response subtest.go:39: subtest.go:46: Subtest completed in 2.17s (excluding cleanup) yaml_vars.go:58: yaml_vars.go:58: Performing cleanup yaml_vars.go:59: Deleting resources from namespace istio-system yaml_vars.go:58: Cleanup completed in 0.37s --- PASS: TestSecureGateways/mutual_tls (2.54s) === RUN TestSecureGateways/mutual_tls_with_crl secure_gateways_test.go:162: Reference: https://issues.redhat.com/browse/OSSM-414 secure_gateways_test.go:166: secure_gateways_test.go:166: STEP 1: configure Gateway with tls.mode=Mutual and provide CRL file yaml_vars.go:49: yaml_vars.go:49: STEP 2: Create OpenShift Route for host httpbin.example.com to istio-ingressgateway port https yaml_vars.go:50: NOTE: This is necessary in OSSM 2.4+, because IOR is disabled by default secure_gateways_test.go:175: secure_gateways_test.go:175: STEP 3: check if SSL handshake fails when no client certificate is given secure_gateways_test.go:177: failed to get HTTP Response: Get "https://httpbin.example.com:443/status/418": tls: failed to verify certificate: x509: certificate is valid for *.apps.rosa.ci-rosa-h-bscw.p7gb.s3.devshift.org, not httpbin.example.com secure_gateways_test.go:177: SUCCESS: request failed as expected secure_gateways_test.go:177: FAILURE: request failed but with different error message; expected any of error messages:'[Get "https://httpbin.example.com:443/status/418": remote error: tls: certificate require Get "https://httpbin.example.com:443/status/418": remote error: tls: handshake failure]' actual error message:'Get "https://httpbin.example.com:443/status/418": tls: failed to verify certificate: x509: certificate is valid for *.apps.rosa.ci-rosa-h-bscw.p7gb.s3.devshift.org, not httpbin.example.com' secure_gateways_test.go:176: --- Attempt 1/60 failed. Retrying... secure_gateways_test.go:177: failed to get HTTP Response: Get "https://httpbin.example.com:443/status/418": tls: failed to verify certificate: x509: certificate is valid for *.apps.rosa.ci-rosa-h-bscw.p7gb.s3.devshift.org, not httpbin.example.com secure_gateways_test.go:177: SUCCESS: request failed as expected secure_gateways_test.go:177: FAILURE: request failed but with different error message; expected any of error messages:'[Get "https://httpbin.example.com:443/status/418": remote error: tls: certificate require Get "https://httpbin.example.com:443/status/418": remote error: tls: handshake failure]' actual error message:'Get "https://httpbin.example.com:443/status/418": tls: failed to verify certificate: x509: certificate is valid for *.apps.rosa.ci-rosa-h-bscw.p7gb.s3.devshift.org, not httpbin.example.com' secure_gateways_test.go:176: --- Attempt 2/60 failed. Retrying... secure_gateways_test.go:177: failed to get HTTP Response: Get "https://httpbin.example.com:443/status/418": tls: failed to verify certificate: x509: certificate is valid for *.apps.rosa.ci-rosa-h-bscw.p7gb.s3.devshift.org, not httpbin.example.com secure_gateways_test.go:177: SUCCESS: request failed as expected secure_gateways_test.go:177: FAILURE: request failed but with different error message; expected any of error messages:'[Get "https://httpbin.example.com:443/status/418": remote error: tls: certificate require Get "https://httpbin.example.com:443/status/418": remote error: tls: handshake failure]' actual error message:'Get "https://httpbin.example.com:443/status/418": tls: failed to verify certificate: x509: certificate is valid for *.apps.rosa.ci-rosa-h-bscw.p7gb.s3.devshift.org, not httpbin.example.com' secure_gateways_test.go:176: --- Attempt 3/60 failed. Retrying... secure_gateways_test.go:177: failed to get HTTP Response: Get "https://httpbin.example.com:443/status/418": tls: failed to verify certificate: x509: certificate is valid for *.apps.rosa.ci-rosa-h-bscw.p7gb.s3.devshift.org, not httpbin.example.com secure_gateways_test.go:177: SUCCESS: request failed as expected secure_gateways_test.go:177: FAILURE: request failed but with different error message; expected any of error messages:'[Get "https://httpbin.example.com:443/status/418": remote error: tls: certificate require Get "https://httpbin.example.com:443/status/418": remote error: tls: handshake failure]' actual error message:'Get "https://httpbin.example.com:443/status/418": tls: failed to verify certificate: x509: certificate is valid for *.apps.rosa.ci-rosa-h-bscw.p7gb.s3.devshift.org, not httpbin.example.com' secure_gateways_test.go:176: --- Attempt 4/60 failed. Retrying... secure_gateways_test.go:177: failed to get HTTP Response: Get "https://httpbin.example.com:443/status/418": remote error: tls: certificate required secure_gateways_test.go:177: SUCCESS: request failed as expected secure_gateways_test.go:177: SUCCESS: request failed with expected error message secure_gateways_test.go:176: --- Attempt 5/60 successful; total time: 4.75s secure_gateways_test.go:192: secure_gateways_test.go:192: STEP 4: check if SSL handshake succeeds when client certificate is given secure_gateways_test.go:194: SUCCESS: string '-=[ teapot ]=-' found in response secure_gateways_test.go:202: secure_gateways_test.go:202: STEP 5: check if SSL handshake fails when revoked client certificate is given secure_gateways_test.go:204: failed to get HTTP Response: Get "https://httpbin.example.com:443/status/418": remote error: tls: revoked certificate secure_gateways_test.go:204: SUCCESS: request failed as expected secure_gateways_test.go:204: SUCCESS: request failed with expected error message subtest.go:39: subtest.go:46: Subtest completed in 6.88s (excluding cleanup) yaml_vars.go:58: yaml_vars.go:58: Performing cleanup yaml_vars.go:59: Deleting resources from namespace istio-system yaml_vars.go:58: Cleanup completed in 0.37s --- PASS: TestSecureGateways/mutual_tls_with_crl (7.25s) test.go:91: test.go:98: Test completed in 32.63s (excluding cleanup) secure_gateways_test.go:56: secure_gateways_test.go:56: Performing cleanup secure_gateways_test.go:59: Deleting namespaces: [bookinfo] secure_gateways_test.go:59: Creating namespaces: [bookinfo] secure_gateways_test.go:56: Cleanup completed in 20.18s --- PASS: TestSecureGateways (52.81s) PASS ok github.com/maistra/maistra-test-tool/pkg/tests/tasks/traffic/ingress 237.808s === Skipped === SKIP: pkg/tests/non-dependant TestSMCPMultiple (0.00s) test.go:128: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/non-dependant TestOlmWebhookCreation (0.00s) test.go:128: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm TestIstiodPodFailsAfterRestarts (0.00s) test.go:128: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm TestIstiodPodFailsWithValidationMessages (0.00s) test.go:128: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm TestDeployOnInfraNodes (0.00s) test.go:128: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm TestExcludeCniFromNode (0.00s) test.go:128: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm TestDiscoverySelectors (0.00s) test.go:128: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm TestInitContainerNotRemovedDuringInjection (0.00s) test.go:128: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm TestIOR (0.00s) test.go:128: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm TestOperatorCanUpdatePrometheusConfigMap (0.00s) test.go:128: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm TestRateLimiting (0.00s) test.go:128: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm TestRoutePreventAdditionalIngress (0.00s) test.go:128: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm TestSMCPAddons (0.00s) test.go:128: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm TestSMCPAnnotations (0.00s) test.go:128: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm TestLogging (0.00s) test.go:128: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm TestMustGather (0.00s) test.go:128: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm TestSMCPSecret (0.00s) test.go:128: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm TestSMMRAutoCreationAndDeletion (0.00s) test.go:128: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm TestSMMReconciliation (0.00s) test.go:128: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm TestTempoTracing (0.00s) test.go:128: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm-federation TestMultiClusterFederationFailover (0.00s) test.go:128: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm-federation TestFederation (0.00s) test.go:128: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm-federation TestFederationDifferentCerts (0.00s) test.go:128: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm/operator TestClusterWideMode (0.00s) test.go:128: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm/operator TestOperatorCanReconcileSMCPWhenIstiodOffline (0.00s) test.go:128: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm/operator TestOperatorPodHonorsReadinessProbe (0.00s) test.go:128: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/tasks/extensions TestThreeScaleWasmPlugin (0.00s) test.go:128: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/tasks/observability TestCustomPrometheus (0.00s) test.go:128: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/tasks/observability TestFederatedOpenShiftMonitoring (0.00s) test.go:128: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/tasks/observability TestOpenShiftMonitoring (0.00s) test.go:128: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/tasks/security/certificate TestAlpnFilterDisabledForNonIstioMtls (0.00s) test.go:128: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/tasks/security/certmanager TestIstioCsr (0.00s) test.go:128: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/tasks/security/certmanager TestPluginCaCert (0.00s) test.go:128: This test is being skipped because it is not part of the "interop" test group === Failed === FAIL: pkg/tests/tasks/traffic/egress (0.00s) test_helper_setup.go:78: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] panic: test timed out after 1h0m0s running tests: TestEgressWildcard (19m24s) goroutine 275 [running]: testing.(*M).startAlarm.func1() /usr/local/go/src/testing/testing.go:2241 +0x3c5 created by time.goFunc /usr/local/go/src/time/sleep.go:176 +0x32 goroutine 1 [chan receive, 21 minutes]: testing.(*T).Run(0xc00021a000, {0x811ff9?, 0x51da05?}, 0x85a3d0) /usr/local/go/src/testing/testing.go:1630 +0x405 testing.runTests.func1(0xb364a0?) /usr/local/go/src/testing/testing.go:2036 +0x45 testing.tRunner(0xc00021a000, 0xc0000e9bd8) /usr/local/go/src/testing/testing.go:1576 +0x10b testing.runTests(0xc0000b4fa0?, {0xb2e000, 0x6, 0x6}, {0xc000010258?, 0x0?, 0xb35c00?}) /usr/local/go/src/testing/testing.go:2034 +0x489 testing.(*M).Run(0xc0000b4fa0) /usr/local/go/src/testing/testing.go:1906 +0x63a github.com/maistra/maistra-test-tool/pkg/util/test.(*testSuite).Run(0xc00007e5e0) /go/src/maistra-test-tool/pkg/util/test/suite.go:40 +0x1ba github.com/maistra/maistra-test-tool/pkg/tests/tasks/traffic/egress.TestMain(0xc0000b4fa0) /go/src/maistra-test-tool/pkg/tests/tasks/traffic/egress/main_test.go:27 +0x64 main.main() _testmain.go:59 +0x1d3 goroutine 292 [syscall, 21 minutes]: syscall.Syscall6(0xc0003ea6e0?, 0xc0003e8390?, 0xc0000835be?, 0xc0000836e0?, 0x54ee2e?, 0xc000033060?, 0x1?) /usr/local/go/src/syscall/syscall_linux.go:91 +0x36 os.(*Process).blockUntilWaitable(0xc000026c30) /usr/local/go/src/os/wait_waitid.go:32 +0x87 os.(*Process).wait(0xc000026c30) /usr/local/go/src/os/exec_unix.go:22 +0x28 os.(*Process).Wait(...) /usr/local/go/src/os/exec.go:132 os/exec.(*Cmd).Wait(0xc0003ea6e0) /usr/local/go/src/os/exec/exec.go:890 +0x45 os/exec.(*Cmd).Run(0x20?) /usr/local/go/src/os/exec/exec.go:590 +0x39 os/exec.(*Cmd).CombinedOutput(0xc0003ea6e0) /usr/local/go/src/os/exec/exec.go:1005 +0xa8 github.com/maistra/maistra-test-tool/pkg/util/shell.execShellCommand({0xc00022c040?, 0xc0000837c8?}, {0x0, 0x0, 0x0}, {0xc0000bc900, 0x47e}) /go/src/maistra-test-tool/pkg/util/shell/shell_helper.go:76 +0x170 github.com/maistra/maistra-test-tool/pkg/util/shell.ExecuteWithEnvAndInput({0x8c07e8, 0xc00028c3e0}, {0x0, 0x0, 0x0}, {0xc00022c040, 0x1d}, {0xc0000bc900, 0x47e}, {0x0, ...}) /go/src/maistra-test-tool/pkg/util/shell/shell_helper.go:49 +0xb0 github.com/maistra/maistra-test-tool/pkg/util/shell.ExecuteWithInput({0x8c07e8, 0xc00028c3e0}, {0xc00022c040, 0x1d}, {0xc0000bc900, 0x47e}, {0x0, 0x0, 0x0}) /go/src/maistra-test-tool/pkg/util/shell/shell_helper.go:39 +0xc9 github.com/maistra/maistra-test-tool/pkg/util/oc.OC.ApplyString.func1() /go/src/maistra-test-tool/pkg/util/oc/oc_struct.go:131 +0x145 github.com/maistra/maistra-test-tool/pkg/util/oc.OC.withKubeconfig({{0x0?, 0x5caa05?}}, {0x8c0638, 0xc000214300}, 0xc000083b90) /go/src/maistra-test-tool/pkg/util/oc/oc_struct.go:371 +0x63 github.com/maistra/maistra-test-tool/pkg/util/oc.OC.retryFunction.func1({0x8c0638, 0xc000214300}) /go/src/maistra-test-tool/pkg/util/oc/oc_struct.go:107 +0x6a github.com/maistra/maistra-test-tool/pkg/util/test.(*RetryTestHelper).Attempt(0xc000214300, 0xc000083b28) /go/src/maistra-test-tool/pkg/util/test/test_helper_retry.go:133 +0x82 github.com/maistra/maistra-test-tool/pkg/util/retry.attemptInternal({0x8c07e8, 0xc00028c3e0}, 0x6a4485?, 0x0, 0x1) /go/src/maistra-test-tool/pkg/util/retry/retry.go:96 +0xc8 github.com/maistra/maistra-test-tool/pkg/util/retry.Attempt({0x8c07e8, 0xc00028c3e0}, 0x2?) /go/src/maistra-test-tool/pkg/util/retry/retry.go:90 +0x51 github.com/maistra/maistra-test-tool/pkg/util/oc.OC.retryFunction({{0x0?, 0xc000083b78?}}, {0x8c07e8, 0xc00028c3e0}, 0xc000083b90) /go/src/maistra-test-tool/pkg/util/oc/oc_struct.go:105 +0x105 github.com/maistra/maistra-test-tool/pkg/util/oc.OC.ApplyString({{0x0?, 0x0?}}, {0x8c07e8, 0xc00028c3e0}, {0x80faf2, 0xc}, {0xc000083c70, 0x1, 0x1}) /go/src/maistra-test-tool/pkg/util/oc/oc_struct.go:129 +0x108 github.com/maistra/maistra-test-tool/pkg/util/oc.ApplyString({0x8c07e8, 0xc00028c3e0}, {0x80faf2, 0xc}, {0xc000083c70, 0x1, 0x1}) /go/src/maistra-test-tool/pkg/util/oc/oc.go:34 +0x90 github.com/maistra/maistra-test-tool/pkg/tests/ossm.InstallSMCPCustom({0x8c07e8, 0xc00028c3e0}, {0x80faf2, 0xc}, {{0x80ce6b, 0x5}, {0x80faf2, 0xc}, {0x2, 0x6}, ...}) /go/src/maistra-test-tool/pkg/tests/ossm/setup.go:128 +0xf5 github.com/maistra/maistra-test-tool/pkg/tests/ossm.DeployControlPlane({0x8c07e8, 0xc00028c3e0}) /go/src/maistra-test-tool/pkg/tests/ossm/setup.go:113 +0x16b github.com/maistra/maistra-test-tool/pkg/tests/tasks/traffic/egress.TestEgressWildcard.func1({0x8c07e8, 0xc00028c3e0}) /go/src/maistra-test-tool/pkg/tests/tasks/traffic/egress/egress_wildcard_hosts_test.go:33 +0x6d github.com/maistra/maistra-test-tool/pkg/util/test.(*topLevelTest).Run(0xc000214180, 0x85a3c8) /go/src/maistra-test-tool/pkg/util/test/test.go:101 +0xfb github.com/maistra/maistra-test-tool/pkg/tests/tasks/traffic/egress.TestEgressWildcard(0xc0001b71e0) /go/src/maistra-test-tool/pkg/tests/tasks/traffic/egress/egress_wildcard_hosts_test.go:30 +0xd3 testing.tRunner(0xc0001b71e0, 0x85a3d0) /usr/local/go/src/testing/testing.go:1576 +0x10b created by testing.(*T).Run /usr/local/go/src/testing/testing.go:1629 +0x3ea goroutine 295 [IO wait, 21 minutes]: internal/poll.runtime_pollWait(0x7f818cf57d68, 0x72) /usr/local/go/src/runtime/netpoll.go:306 +0x89 internal/poll.(*pollDesc).wait(0xc0002e0c00?, 0xc0001e0600?, 0x1) /usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x32 internal/poll.(*pollDesc).waitRead(...) /usr/local/go/src/internal/poll/fd_poll_runtime.go:89 internal/poll.(*FD).Read(0xc0002e0c00, {0xc0001e0600, 0x200, 0x200}) /usr/local/go/src/internal/poll/fd_unix.go:167 +0x299 os.(*File).read(...) /usr/local/go/src/os/file_posix.go:31 os.(*File).Read(0xc00029c108, {0xc0001e0600?, 0x79f580?, 0xc0001eae68?}) /usr/local/go/src/os/file.go:118 +0x5e bytes.(*Buffer).ReadFrom(0xc0002857a0, {0x8b8760, 0xc00029c108}) /usr/local/go/src/bytes/buffer.go:202 +0x98 io.copyBuffer({0x8b7f00, 0xc0002857a0}, {0x8b8760, 0xc00029c108}, {0x0, 0x0, 0x0}) /usr/local/go/src/io/io.go:413 +0x14b io.Copy(...) /usr/local/go/src/io/io.go:386 os/exec.(*Cmd).writerDescriptor.func1() /usr/local/go/src/os/exec/exec.go:560 +0x3a os/exec.(*Cmd).Start.func2(0x0?) /usr/local/go/src/os/exec/exec.go:717 +0x32 created by os/exec.(*Cmd).Start /usr/local/go/src/os/exec/exec.go:716 +0xa33 *** Test killed with quit: ran too long (1h1m0s). FAIL github.com/maistra/maistra-test-tool/pkg/tests/tasks/traffic/egress 4620.906s === FAIL: pkg/tests/tasks/traffic/egress TestEgressWildcard (unknown) 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:33: egress_wildcard_hosts_test.go:33: STEP 1: Apply default SMCP and SMMR manifests DONE 125 tests, 33 skipped, 2 failures in 6536.266s ERROR rerun aborted because previous run had a suspected panic and some test may not have run ====== JUnit report file(s) v2.6: /go/src/maistra-test-tool/tests/result-20240829190724/v2.6/report.xml ====== Test summary v2.6: DONE 125 tests, 33 skipped, 2 failures in 6536.266s v2.6: ERROR rerun aborted because previous run had a suspected panic and some test may not have run real 108m58.771s user 4m5.567s sys 93m57.516s Copying logs and xmls to /logs/artifacts kubectl delete ns istio-system bookinfo foo bar mesh-external legacy --ignore-not-found namespace "istio-system" deleted namespace "bookinfo" deleted namespace "foo" deleted namespace "bar" deleted namespace "mesh-external" deleted namespace "legacy" deleted