WARNING: Using insecure TLS client config. Setting this option is not supported! Login successful. You have access to 68 projects, the list has been suppressed. You can list all projects with 'oc projects' Using project "default". Execute maistra tests scripts/runtests.sh OSSM Operator version is 2.5.0 Output dir: /go/src/maistra-test-tool/tests/result-20240304221408 Executing tests against SMCP version 2.4 Resetting cluster by deleting namespaces used in the test suite Output dir: /go/src/maistra-test-tool/tests/result-20240304221408/v2.4 ====== Executing tests in group 'interop' against SMCP v2.4 test_helper_setup.go:64: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === RUN TestSMCPMultiple test.go:114: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestSMCPMultiple (0.00s) PASS ok github.com/maistra/maistra-test-tool/pkg/tests/non-dependant 2.081s test_helper_setup.go:64: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === RUN TestIstiodPodFailsAfterRestarts test.go:114: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestIstiodPodFailsAfterRestarts (0.00s) === RUN TestDeployOnInfraNodes test.go:114: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestDeployOnInfraNodes (0.00s) === RUN TestExcludeCniFromNode test.go:114: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestExcludeCniFromNode (0.00s) === RUN TestDiscoverySelectors test.go:114: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestDiscoverySelectors (0.00s) === RUN TestInitContainerNotRemovedDuringInjection test.go:114: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestInitContainerNotRemovedDuringInjection (0.00s) === RUN TestIOR test.go:114: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestIOR (0.00s) === RUN TestOperatorCanUpdatePrometheusConfigMap test.go:114: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestOperatorCanUpdatePrometheusConfigMap (0.00s) === RUN TestRateLimiting test.go:114: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestRateLimiting (0.00s) === RUN TestRoutePreventAdditionalIngress test.go:114: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestRoutePreventAdditionalIngress (0.00s) === RUN TestSMCPAddons test.go:114: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestSMCPAddons (0.00s) === RUN TestSMCPAnnotations test.go:114: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestSMCPAnnotations (0.00s) === RUN TestMustGather test.go:114: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestMustGather (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: 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: 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: 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:39: Wait for condition condition=Ready on smcp istio-system/basic... smcp_tls_ssl_test.go:39: SUCCESS: Condition condition=Ready met by smcp istio-system/basic subtest.go:25: subtest.go:32: Subtest completed in 10.67s (excluding cleanup) --- PASS: TestTLSVersionSMCP/minVersion_TLSv1_0 (10.67s) === 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:25: subtest.go:32: Subtest completed in 10.50s (excluding cleanup) --- PASS: TestTLSVersionSMCP/minVersion_TLSv1_1 (10.50s) === 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: 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:51: Wait for condition condition=Ready on smcp istio-system/basic... smcp_tls_ssl_test.go:51: SUCCESS: Condition condition=Ready met by smcp istio-system/basic subtest.go:25: subtest.go:32: Subtest completed in 10.86s (excluding cleanup) --- PASS: TestTLSVersionSMCP/maxVersion_TLSv1_3 (10.86s) test.go:77: test.go:84: Test completed in 171.28s (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: 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: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 11.15s --- PASS: TestTLSVersionSMCP (182.43s) === RUN TestSMMRAutoCreationAndDeletion test.go:114: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestSMMRAutoCreationAndDeletion (0.00s) === RUN TestSMMReconciliation test.go:114: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestSMMReconciliation (0.00s) === RUN TestSmoke smoke_test.go:46: Smoke Test for SMCP: deploy, upgrade, bookinfo and uninstall smoke_test.go:56: Deleting namespaces: [istio-system] smoke_test.go:56: Creating namespaces: [istio-system] === RUN TestSmoke/upgrade_v2.3_to_v2.4 smoke_test.go:59: This test checks whether SMCP becomes ready after it's upgraded from v2.3 to v2.4 and bookinfo is still working after the upgrade and also test a clean installation of the target SMCP smoke_test.go:65: smoke_test.go:65: STEP 1: Install SMCP v2.3 and verify it becomes ready smoke_test.go:183: smoke_test.go:183: STEP 2: Install SMCP smoke_test.go:185: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:185: 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:185: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:185: 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:185: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:185: 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:185: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:185: SUCCESS: Condition condition=Ready met by smcp istio-system/basic smoke_test.go:187: smoke_test.go:187: STEP 3: Check SMCP is Ready smoke_test.go:188: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:188: SUCCESS: Condition condition=Ready met by smcp istio-system/basic smoke_test.go:68: smoke_test.go:68: STEP 4: Install bookinfo pods and sleep pod smoke_test.go:69: Install app "bookinfo" in namespace "bookinfo" smoke_test.go:69: Create Bookinfo Gateway smoke_test.go:69: Create Bookinfo Destination Rules (all) smoke_test.go:69: Create Bookinfo Deployments smoke_test.go:69: Install app "sleep" in namespace "bookinfo" smoke_test.go:69: Wait for app bookinfo/bookinfo to be ready smoke_test.go:69: Wait for app bookinfo/sleep to be ready smoke_test.go:71: smoke_test.go:71: STEP 5: Check if bookinfo traffic flows through the Proxy smoke_test.go:137: SUCCESS: ProductPage returns 200 OK smoke_test.go:137: SUCCESS: HTTP header 'server: istio-envoy' is present in the response smoke_test.go:137: SUCCESS: HTTP header 'x-envoy-decorator-operation' is present in the response smoke_test.go:74: smoke_test.go:74: STEP 6: Upgrade SMCP from v2.3 to v2.4 smoke_test.go:183: smoke_test.go:183: STEP 7: Install SMCP smoke_test.go:185: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:185: 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:185: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:185: 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:185: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:185: SUCCESS: Condition condition=Ready met by smcp istio-system/basic smoke_test.go:187: smoke_test.go:187: STEP 8: Check SMCP is Ready smoke_test.go:188: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:188: SUCCESS: Condition condition=Ready met by smcp istio-system/basic smoke_test.go:77: smoke_test.go:77: STEP 9: Check if bookinfo productpage is running through the Proxy after the upgrade smoke_test.go:137: SUCCESS: ProductPage returns 200 OK smoke_test.go:137: SUCCESS: HTTP header 'server: istio-envoy' is present in the response smoke_test.go:137: SUCCESS: HTTP header 'x-envoy-decorator-operation' is present in the response smoke_test.go:80: smoke_test.go:80: STEP 10: Delete Bookinfo pods to force the update of the sidecar smoke_test.go:125: smoke_test.go:125: STEP 11: Verify if all the routes are created smoke_test.go:192: Related issue: https://issues.redhat.com/browse/OSSM-4069 smoke_test.go:194: SUCCESS: Route grafana is created smoke_test.go:194: SUCCESS: Route istio-ingressgateway is created smoke_test.go:194: SUCCESS: Route jaeger is created smoke_test.go:194: SUCCESS: Route kiali is created smoke_test.go:194: SUCCESS: Route prometheus is created smoke_test.go:128: smoke_test.go:128: STEP 12: Check if bookinfo traffic flows through the Proxy smoke_test.go:137: SUCCESS: ProductPage returns 200 OK smoke_test.go:137: SUCCESS: HTTP header 'server: istio-envoy' is present in the response smoke_test.go:137: SUCCESS: HTTP header 'x-envoy-decorator-operation' is present in the response smoke_test.go:131: smoke_test.go:131: STEP 13: verify proxy startup time. Expected to be less than 10 seconds smoke_test.go:132: Jira related: https://issues.redhat.com/browse/OSSM-3586 smoke_test.go:153: Extracting proxy startup time and last transition time for all the pods in the namespace subtest.go:25: subtest.go:32: Subtest completed in 126.38s (excluding cleanup) smoke_test.go:60: smoke_test.go:60: Performing cleanup smoke_test.go:61: Uninstalling Bookinfo from namespace "bookinfo" smoke_test.go:61: Deleting resources from namespace bookinfo smoke_test.go:61: Deleting resources from namespace bookinfo smoke_test.go:61: Deleting resources from namespace bookinfo smoke_test.go:61: Deleting resources from namespace bookinfo smoke_test.go:62: Deleting namespaces: [istio-system] smoke_test.go:62: Creating namespaces: [istio-system] smoke_test.go:60: Cleanup completed in 28.22s --- PASS: TestSmoke/upgrade_v2.3_to_v2.4 (154.60s) === RUN TestSmoke/install_smcp_v2.4 smoke_test.go:87: This test checks whether SMCP v2.4 install the SMCP version smoke_test.go:92: smoke_test.go:92: STEP 1: Install SMCP v2.4 smoke_test.go:183: smoke_test.go:183: STEP 2: Install SMCP smoke_test.go:185: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:185: 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:185: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:185: 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:185: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:185: SUCCESS: Condition condition=Ready met by smcp istio-system/basic smoke_test.go:187: smoke_test.go:187: STEP 3: Check SMCP is Ready smoke_test.go:188: Wait for condition condition=Ready on smcp istio-system/basic... smoke_test.go:188: SUCCESS: Condition condition=Ready met by smcp istio-system/basic smoke_test.go:95: smoke_test.go:95: STEP 4: Install bookinfo pods and sleep pod smoke_test.go:96: Install app "bookinfo" in namespace "bookinfo" smoke_test.go:96: Create Bookinfo Gateway smoke_test.go:96: Create Bookinfo Destination Rules (all) smoke_test.go:96: Create Bookinfo Deployments smoke_test.go:96: Install app "sleep" in namespace "bookinfo" smoke_test.go:96: Wait for app bookinfo/bookinfo to be ready smoke_test.go:96: Wait for app bookinfo/sleep to be ready smoke_test.go:125: smoke_test.go:125: STEP 5: Verify if all the routes are created smoke_test.go:192: Related issue: https://issues.redhat.com/browse/OSSM-4069 smoke_test.go:194: SUCCESS: Route grafana is created smoke_test.go:194: SUCCESS: Route istio-ingressgateway is created smoke_test.go:194: SUCCESS: Route jaeger is created smoke_test.go:194: 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:194: SUCCESS: Route prometheus is created smoke_test.go:193: --- Attempt 1/60 failed. Retrying... smoke_test.go:194: SUCCESS: Route grafana is created smoke_test.go:194: SUCCESS: Route istio-ingressgateway is created smoke_test.go:194: SUCCESS: Route jaeger is created smoke_test.go:194: 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:194: SUCCESS: Route prometheus is created smoke_test.go:193: --- Attempt 2/60 failed. Retrying... smoke_test.go:194: SUCCESS: Route grafana is created smoke_test.go:194: SUCCESS: Route istio-ingressgateway is created smoke_test.go:194: SUCCESS: Route jaeger is created smoke_test.go:194: 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:194: SUCCESS: Route prometheus is created smoke_test.go:193: --- Attempt 3/60 failed. Retrying... smoke_test.go:194: SUCCESS: Route grafana is created smoke_test.go:194: SUCCESS: Route istio-ingressgateway is created smoke_test.go:194: SUCCESS: Route jaeger is created smoke_test.go:194: 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:194: SUCCESS: Route prometheus is created smoke_test.go:193: --- Attempt 4/60 failed. Retrying... smoke_test.go:194: SUCCESS: Route grafana is created smoke_test.go:194: SUCCESS: Route istio-ingressgateway is created smoke_test.go:194: SUCCESS: Route jaeger is created smoke_test.go:194: 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:194: SUCCESS: Route prometheus is created smoke_test.go:193: --- Attempt 5/60 failed. Retrying... smoke_test.go:194: SUCCESS: Route grafana is created smoke_test.go:194: SUCCESS: Route istio-ingressgateway is created smoke_test.go:194: SUCCESS: Route jaeger is created smoke_test.go:194: 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:194: SUCCESS: Route prometheus is created smoke_test.go:193: --- Attempt 6/60 failed. Retrying... smoke_test.go:194: SUCCESS: Route grafana is created smoke_test.go:194: SUCCESS: Route istio-ingressgateway is created smoke_test.go:194: SUCCESS: Route jaeger is created smoke_test.go:194: 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:194: SUCCESS: Route prometheus is created smoke_test.go:193: --- Attempt 7/60 failed. Retrying... smoke_test.go:194: SUCCESS: Route grafana is created smoke_test.go:194: SUCCESS: Route istio-ingressgateway is created smoke_test.go:194: SUCCESS: Route jaeger is created smoke_test.go:194: 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:194: SUCCESS: Route prometheus is created smoke_test.go:193: --- Attempt 8/60 failed. Retrying... smoke_test.go:194: SUCCESS: Route grafana is created smoke_test.go:194: SUCCESS: Route istio-ingressgateway is created smoke_test.go:194: SUCCESS: Route jaeger is created smoke_test.go:194: 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:194: SUCCESS: Route prometheus is created smoke_test.go:193: --- Attempt 9/60 failed. Retrying... smoke_test.go:194: SUCCESS: Route grafana is created smoke_test.go:194: SUCCESS: Route istio-ingressgateway is created smoke_test.go:194: SUCCESS: Route jaeger is created smoke_test.go:194: 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:194: SUCCESS: Route prometheus is created smoke_test.go:193: --- Attempt 10/60 failed. Retrying... smoke_test.go:194: SUCCESS: Route grafana is created smoke_test.go:194: SUCCESS: Route istio-ingressgateway is created smoke_test.go:194: SUCCESS: Route jaeger is created smoke_test.go:194: 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:194: SUCCESS: Route prometheus is created smoke_test.go:193: --- Attempt 11/60 failed. Retrying... smoke_test.go:194: SUCCESS: Route grafana is created smoke_test.go:194: SUCCESS: Route istio-ingressgateway is created smoke_test.go:194: SUCCESS: Route jaeger is created smoke_test.go:194: 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:194: SUCCESS: Route prometheus is created smoke_test.go:193: --- Attempt 12/60 failed. Retrying... smoke_test.go:194: SUCCESS: Route grafana is created smoke_test.go:194: SUCCESS: Route istio-ingressgateway is created smoke_test.go:194: SUCCESS: Route jaeger is created smoke_test.go:194: 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:194: SUCCESS: Route prometheus is created smoke_test.go:193: --- Attempt 13/60 failed. Retrying... smoke_test.go:194: SUCCESS: Route grafana is created smoke_test.go:194: SUCCESS: Route istio-ingressgateway is created smoke_test.go:194: SUCCESS: Route jaeger is created smoke_test.go:194: 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:194: SUCCESS: Route prometheus is created smoke_test.go:193: --- Attempt 14/60 failed. Retrying... smoke_test.go:194: SUCCESS: Route grafana is created smoke_test.go:194: SUCCESS: Route istio-ingressgateway is created smoke_test.go:194: SUCCESS: Route jaeger is created smoke_test.go:194: 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:194: SUCCESS: Route prometheus is created smoke_test.go:193: --- Attempt 15/60 failed. Retrying... smoke_test.go:194: SUCCESS: Route grafana is created smoke_test.go:194: SUCCESS: Route istio-ingressgateway is created smoke_test.go:194: SUCCESS: Route jaeger is created smoke_test.go:194: SUCCESS: Route kiali is created smoke_test.go:194: SUCCESS: Route prometheus is created smoke_test.go:193: --- Attempt 16/60 successful; total time: 17.41s smoke_test.go:128: smoke_test.go:128: STEP 6: Check if bookinfo traffic flows through the Proxy smoke_test.go:137: SUCCESS: ProductPage returns 200 OK smoke_test.go:137: SUCCESS: HTTP header 'server: istio-envoy' is present in the response smoke_test.go:137: SUCCESS: HTTP header 'x-envoy-decorator-operation' is present in the response smoke_test.go:131: smoke_test.go:131: STEP 7: verify proxy startup time. Expected to be less than 10 seconds smoke_test.go:132: Jira related: https://issues.redhat.com/browse/OSSM-3586 smoke_test.go:153: Extracting proxy startup time and last transition time for all the pods in the namespace subtest.go:25: subtest.go:32: Subtest completed in 49.58s (excluding cleanup) smoke_test.go:88: smoke_test.go:88: Performing cleanup smoke_test.go:89: Uninstalling Bookinfo from namespace "bookinfo" smoke_test.go:89: Deleting resources from namespace bookinfo smoke_test.go:89: Deleting resources from namespace bookinfo smoke_test.go:89: Deleting resources from namespace bookinfo smoke_test.go:89: Deleting resources from namespace bookinfo smoke_test.go:88: Cleanup completed in 2.16s --- PASS: TestSmoke/install_smcp_v2.4 (51.74s) === RUN TestSmoke/delete_smcp_v2.4 smoke_test.go:102: This test checks whether SMCP v2.4 deletion deletes all the resources smoke_test.go:107: smoke_test.go:107: STEP 1: Delete SMCP and SMMR in namespace istio-system smoke_test.go:108: Deleting resources from namespace istio-system setup.go:122: Deleting resources from namespace istio-system smoke_test.go:110: smoke_test.go:110: STEP 2: verify SMCP resources are deleted smoke_test.go:112: 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:111: --- Attempt 1/60 failed. Retrying... smoke_test.go:112: 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:111: --- Attempt 2/60 failed. Retrying... smoke_test.go:112: 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:111: --- Attempt 3/60 failed. Retrying... smoke_test.go:112: 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:111: --- Attempt 4/60 failed. Retrying... smoke_test.go:112: 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:111: --- Attempt 5/60 failed. Retrying... smoke_test.go:112: 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:111: --- Attempt 6/60 failed. Retrying... smoke_test.go:112: 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:111: --- Attempt 7/60 failed. Retrying... smoke_test.go:112: 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:111: --- Attempt 8/60 failed. Retrying... smoke_test.go:112: 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:111: --- Attempt 9/60 failed. Retrying... smoke_test.go:112: 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:111: --- Attempt 10/60 failed. Retrying... smoke_test.go:112: 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:111: --- Attempt 11/60 failed. Retrying... smoke_test.go:112: 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:111: --- Attempt 12/60 failed. Retrying... smoke_test.go:112: 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:111: --- Attempt 13/60 failed. Retrying... smoke_test.go:112: SUCCESS: SMCP resources are deleted smoke_test.go:111: --- Attempt 14/60 successful; total time: 15.53s subtest.go:25: subtest.go:32: Subtest completed in 18.00s (excluding cleanup) smoke_test.go:103: smoke_test.go:103: Performing cleanup smoke_test.go:104: Deleting namespaces: [istio-system] smoke_test.go:104: Creating namespaces: [istio-system] smoke_test.go:103: Cleanup completed in 21.26s --- PASS: TestSmoke/delete_smcp_v2.4 (39.26s) test.go:77: test.go:84: Test completed in 327.54s (excluding cleanup) smoke_test.go:49: smoke_test.go:49: Performing cleanup smoke_test.go:50: Deleting namespaces: [istio-system] smoke_test.go:50: Creating namespaces: [istio-system] smoke_test.go:49: Cleanup completed in 5.58s --- PASS: TestSmoke (333.12s) === RUN TestSSL testssl_test.go:46: testssl_test.go:46: STEP 1: Apply default SMCP and SMMR manifests testssl_test.go:46: Wait for condition condition=Ready on smcp istio-system/basic... testssl_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 testssl_test.go:46: Wait for condition condition=Ready on smcp istio-system/basic... testssl_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 testssl_test.go:46: Wait for condition condition=Ready on smcp istio-system/basic... testssl_test.go:46: SUCCESS: Condition condition=Ready met by smcp istio-system/basic testssl_test.go:46: Wait for smmr/default to be ready in namespace istio-system testssl_test.go:48: testssl_test.go:48: STEP 2: Patch SMCP to enable mTLS in dataPlane and controlPlane and set min/maxProtocolVersion, cipherSuites, and ecdhCurves testssl_test.go:65: Wait for condition condition=Ready on smcp istio-system/basic... testssl_test.go:65: SUCCESS: Condition condition=Ready met by smcp istio-system/basic testssl_test.go:67: testssl_test.go:67: STEP 3: Install bookinfo with mTLS and testssl pod testssl_test.go:69: Install app "bookinfo" in namespace "bookinfo" testssl_test.go:69: Create Bookinfo Gateway testssl_test.go:69: Create Bookinfo Destination Rules (all) testssl_test.go:69: Create Bookinfo Deployments testssl_test.go:69: Wait for app bookinfo/bookinfo to be ready testssl_test.go:72: testssl_test.go:72: STEP 4: Check testssl.sh results testssl_test.go:78: SUCCESS: Received the TLSv1.2 needed in the testssl.sh results testssl_test.go:78: SUCCESS: Results received the correct SHA256 testssl_test.go:78: SUCCESS: Results included: P-256 test.go:77: test.go:84: Test completed in 52.53s (excluding cleanup) testssl_test.go:32: testssl_test.go:32: Performing cleanup testssl_test.go:42: Uninstalling Bookinfo from namespace "bookinfo" testssl_test.go:42: Deleting resources from namespace bookinfo testssl_test.go:42: Deleting resources from namespace bookinfo testssl_test.go:42: Deleting resources from namespace bookinfo testssl_test.go:43: Deleting resources from namespace bookinfo testssl_test.go:32: Cleanup completed in 2.51s --- PASS: TestSSL (55.05s) PASS ok github.com/maistra/maistra-test-tool/pkg/tests/ossm 572.467s test_helper_setup.go:64: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === RUN TestClusterWideMode test.go:114: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestClusterWideMode (0.00s) === RUN TestOperatorCanReconcileSMCPWhenIstiodOffline test.go:114: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestOperatorCanReconcileSMCPWhenIstiodOffline (0.00s) === RUN TestOperatorPodHonorsReadinessProbe test.go:114: 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 0.796s === RUN TestMultiClusterFederationFailover test.go:114: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestMultiClusterFederationFailover (0.00s) === RUN TestFederation test.go:114: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestFederation (0.00s) === RUN TestFederationDifferentCerts test.go:114: 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.004s test_helper_setup.go:64: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === RUN TestThreeScaleWasmPlugin test.go:114: 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 0.542s test_helper_setup.go:64: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === RUN TestCustomPrometheus test.go:114: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestCustomPrometheus (0.00s) === RUN TestFederatedOpenShiftMonitoring test.go:114: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestFederatedOpenShiftMonitoring (0.00s) === RUN TestOpenShiftMonitoring test.go:114: 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 0.905s test_helper_setup.go:64: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === RUN TestAuthPolicy auth_test.go:40: This test validates authentication policies. auth_test.go:41: Doc reference: https://istio.io/latest/docs/tasks/security/authentication/authn-policy/ auth_test.go:47: auth_test.go:47: STEP 1: Apply default SMCP and SMMR manifests auth_test.go:47: Wait for condition condition=Ready on smcp istio-system/basic... auth_test.go:47: SUCCESS: Condition condition=Ready met by smcp istio-system/basic auth_test.go:47: Wait for smmr/default to be ready in namespace istio-system auth_test.go:49: auth_test.go:49: STEP 2: Install httpbin and sleep in multiple namespaces auth_test.go:50: Install app "httpbin" in namespace "foo" auth_test.go:50: Install app "httpbin" in namespace "bar" auth_test.go:50: Install app "httpbin" in namespace "legacy" auth_test.go:50: Install app "sleep" in namespace "foo" auth_test.go:50: Install app "sleep" in namespace "bar" auth_test.go:50: Install app "sleep" in namespace "legacy" auth_test.go:50: Wait for app foo/httpbin to be ready auth_test.go:50: Wait for app bar/httpbin to be ready auth_test.go:50: Wait for app legacy/httpbin to be ready auth_test.go:50: Wait for app foo/sleep to be ready auth_test.go:50: Wait for app bar/sleep to be ready auth_test.go:50: Wait for app legacy/sleep to be ready auth_test.go:61: auth_test.go:61: STEP 3: Check connectivity from namespaces foo, bar, and legacy to namespaces foo and bar sleep.go:98: SUCCESS: Got expected "200" sleep.go:98: SUCCESS: Got expected "200" sleep.go:98: SUCCESS: Got expected "200" sleep.go:98: SUCCESS: Got expected "200" sleep.go:98: SUCCESS: Got expected "200" sleep.go:98: SUCCESS: Got expected "200" === RUN TestAuthPolicy/enable_auto_mTLS auth_test.go:71: auth_test.go:71: STEP 1: Check if mTLS is enabled in foo auth_test.go:72: SUCCESS: mTLS is enabled in namespace foo (X-Forwarded-Client-Cert header is present) auth_test.go:77: auth_test.go:77: STEP 2: Check that mTLS is NOT enabled in legacy auth_test.go:78: SUCCESS: mTLS is not enabled in namespace legacy (X-Forwarded-Client-Cert header is not present) subtest.go:25: subtest.go:32: Subtest completed in 0.81s (excluding cleanup) --- PASS: TestAuthPolicy/enable_auto_mTLS (0.81s) === RUN TestAuthPolicy/enable_global_mTLS_STRICT_mode auth_test.go:85: auth_test.go:85: STEP 1: Enable mTLS STRICT mode globally auth_test.go:90: auth_test.go:90: STEP 2: Check whether requests from legacy namespace to foo and bar namespace return 000 placeholder sleep.go:98: SUCCESS: Got expected "000" sleep.go:98: SUCCESS: Got expected "000" subtest.go:25: subtest.go:32: Subtest completed in 1.27s (excluding cleanup) auth_test.go:87: auth_test.go:87: Performing cleanup auth_test.go:88: Deleting resources from namespace istio-system auth_test.go:87: Cleanup completed in 0.13s --- PASS: TestAuthPolicy/enable_global_mTLS_STRICT_mode (1.40s) === RUN TestAuthPolicy/namespace_policy_mtls auth_test.go:100: auth_test.go:100: STEP 1: Enable mutual TLS per namespace auth_test.go:106: auth_test.go:106: STEP 2: Check whether requests succeed except from sleep namespace to foo namespace sleep.go:98: SUCCESS: Got expected "200" sleep.go:98: SUCCESS: Got expected "200" sleep.go:98: SUCCESS: Got expected "200" sleep.go:98: SUCCESS: Got expected "200" sleep.go:98: SUCCESS: Got expected "CURL_FAILED" sleep.go:98: SUCCESS: Got expected "200" subtest.go:25: subtest.go:32: Subtest completed in 3.00s (excluding cleanup) auth_test.go:102: auth_test.go:102: Performing cleanup auth_test.go:103: Deleting resources from namespace foo auth_test.go:102: Cleanup completed in 0.20s --- PASS: TestAuthPolicy/namespace_policy_mtls (3.20s) === RUN TestAuthPolicy/workload_policy_mtls auth_test.go:122: auth_test.go:122: STEP 1: Enable mutual TLS per workload auth_test.go:128: auth_test.go:128: STEP 2: Check whether request failed from legacy namespace to bar namespace sleep.go:98: SUCCESS: Got expected "CURL_FAILED" auth_test.go:133: auth_test.go:133: STEP 3: Refine mutual TLS per port auth_test.go:136: auth_test.go:136: STEP 4: Check whether request succeed from legacy namespace to bar namespace sleep.go:98: SUCCESS: Got expected "200" subtest.go:25: subtest.go:32: Subtest completed in 2.21s (excluding cleanup) auth_test.go:124: auth_test.go:124: Performing cleanup auth_test.go:125: Deleting resources from namespace bar auth_test.go:124: Cleanup completed in 0.16s --- PASS: TestAuthPolicy/workload_policy_mtls (2.37s) === RUN TestAuthPolicy/policy_precedence_mtls auth_test.go:143: auth_test.go:143: STEP 1: Overwrite foo namespace policy by a workload policy auth_test.go:149: auth_test.go:149: STEP 2: Check whether request succeed legacy namespace to foo namespace sleep.go:98: SUCCESS: Got expected "200" subtest.go:25: subtest.go:32: Subtest completed in 1.05s (excluding cleanup) auth_test.go:145: auth_test.go:145: Performing cleanup auth_test.go:146: Deleting resources from namespace foo auth_test.go:145: Cleanup completed in 0.18s --- PASS: TestAuthPolicy/policy_precedence_mtls (1.22s) === RUN TestAuthPolicy/end-user_JWT auth_test.go:159: End-user authentication auth_test.go:161: auth_test.go:161: STEP 1: Apply httpbin gateway auth_test.go:164: auth_test.go:164: STEP 2: Check httpbin request is successful auth_test.go:225: SUCCESS: received expected status code 200 auth_test.go:169: auth_test.go:169: STEP 3: Apply a JWT policy auth_test.go:175: auth_test.go:175: STEP 4: Check whether request without token returns 200 auth_test.go:225: SUCCESS: received expected status code 200 auth_test.go:180: auth_test.go:180: STEP 5: Check whether request with an invalid token returns 401 auth_test.go:225: FAILURE: expected status code 401 but got 200 OK auth_test.go:181: --- Attempt 1/60 failed. Retrying... auth_test.go:225: FAILURE: expected status code 401 but got 200 OK auth_test.go:181: --- Attempt 2/60 failed. Retrying... auth_test.go:225: SUCCESS: received expected status code 401 auth_test.go:181: --- Attempt 3/60 successful; total time: 2.04s auth_test.go:185: auth_test.go:185: STEP 6: Check whether request with a valid token returns 200 auth_test.go:225: SUCCESS: received expected status code 200 subtest.go:25: subtest.go:32: Subtest completed in 4.36s (excluding cleanup) auth_test.go:171: auth_test.go:171: Performing cleanup auth_test.go:172: Deleting resources from namespace istio-system auth_test.go:171: Cleanup completed in 0.17s --- PASS: TestAuthPolicy/end-user_JWT (4.53s) === RUN TestAuthPolicy/end-user_require_JWT auth_test.go:196: Require a valid token auth_test.go:225: FAILURE: expected status code 403 but got 200 OK auth_test.go:202: --- Attempt 1/60 failed. Retrying... auth_test.go:225: SUCCESS: received expected status code 403 auth_test.go:202: --- Attempt 2/60 successful; total time: 1.03s subtest.go:25: subtest.go:32: Subtest completed in 1.57s (excluding cleanup) auth_test.go:198: auth_test.go:198: Performing cleanup auth_test.go:199: Deleting resources from namespace istio-system auth_test.go:198: Cleanup completed in 0.16s --- PASS: TestAuthPolicy/end-user_require_JWT (1.73s) === RUN TestAuthPolicy/end-user_require_JWT_per_path auth_test.go:208: Require valid tokens per-path auth_test.go:225: SUCCESS: received expected status code 403 auth_test.go:225: SUCCESS: received expected status code 200 subtest.go:25: subtest.go:32: Subtest completed in 0.63s (excluding cleanup) auth_test.go:210: auth_test.go:210: Performing cleanup auth_test.go:211: Deleting resources from namespace istio-system auth_test.go:210: Cleanup completed in 0.17s --- PASS: TestAuthPolicy/end-user_require_JWT_per_path (0.81s) test.go:77: test.go:84: Test completed in 49.73s (excluding cleanup) auth_test.go:43: auth_test.go:43: Performing cleanup auth_test.go:44: Deleting namespaces: [foo bar legacy] auth_test.go:44: Creating namespaces: [foo bar legacy] auth_test.go:43: Cleanup completed in 19.89s --- PASS: TestAuthPolicy (69.62s) === RUN TestMTlsMigration mtls_migration_test.go:37: mtls_migration_test.go:37: STEP 1: Apply default SMCP and SMMR manifests mtls_migration_test.go:37: Wait for condition condition=Ready on smcp istio-system/basic... mtls_migration_test.go:37: SUCCESS: Condition condition=Ready met by smcp istio-system/basic mtls_migration_test.go:37: Wait for smmr/default to be ready in namespace istio-system mtls_migration_test.go:39: mtls_migration_test.go:39: STEP 2: Install httpbin and sleep in multiple namespaces mtls_migration_test.go:40: Install app "httpbin" in namespace "foo" mtls_migration_test.go:40: Install app "httpbin" in namespace "bar" mtls_migration_test.go:40: Install app "sleep" in namespace "foo" mtls_migration_test.go:40: Install app "sleep" in namespace "bar" mtls_migration_test.go:40: Install app "sleep" in namespace "legacy" mtls_migration_test.go:40: Wait for app foo/httpbin to be ready mtls_migration_test.go:40: Wait for app bar/httpbin to be ready mtls_migration_test.go:40: Wait for app foo/sleep to be ready mtls_migration_test.go:40: Wait for app bar/sleep to be ready mtls_migration_test.go:40: Wait for app legacy/sleep to be ready mtls_migration_test.go:50: mtls_migration_test.go:50: STEP 3: Check connectivity from namespaces foo, bar, and legacy to namespace foo and bar sleep.go:98: SUCCESS: Got expected "200" sleep.go:98: SUCCESS: Got expected "200" sleep.go:98: SUCCESS: Got expected "200" sleep.go:98: SUCCESS: Got expected "200" sleep.go:98: SUCCESS: Got expected "200" sleep.go:98: SUCCESS: Got expected "200" === RUN TestMTlsMigration/mTLS_enabled_in_foo mtls_migration_test.go:60: mtls_migration_test.go:60: STEP 1: Apply strict mTLS in namespace foo mtls_migration_test.go:63: mtls_migration_test.go:63: STEP 2: Check connectivity from namespaces foo, bar, and legacy to namespace foo and bar (expect failure only from legacy to foo) sleep.go:98: SUCCESS: Got expected "200" sleep.go:98: SUCCESS: Got expected "200" sleep.go:98: SUCCESS: Got expected "200" sleep.go:98: SUCCESS: Got expected "200" sleep.go:98: SUCCESS: Got expected "CURL_FAILED" sleep.go:98: SUCCESS: Got expected "200" subtest.go:25: subtest.go:32: Subtest completed in 2.78s (excluding cleanup) --- PASS: TestMTlsMigration/mTLS_enabled_in_foo (2.78s) === RUN TestMTlsMigration/mTLS_enabled_globally mtls_migration_test.go:79: mtls_migration_test.go:79: STEP 1: Apply strict mTLS for the entire mesh mtls_migration_test.go:85: mtls_migration_test.go:85: STEP 2: Check connectivity from namespaces foo, bar, and legacy to namespace foo and bar (expect failure from legacy) sleep.go:98: SUCCESS: Got expected "200" sleep.go:98: SUCCESS: Got expected "200" sleep.go:98: SUCCESS: Got expected "200" sleep.go:98: SUCCESS: Got expected "200" sleep.go:98: SUCCESS: Got expected "CURL_FAILED" sleep.go:98: SUCCESS: Got expected "CURL_FAILED" subtest.go:25: subtest.go:32: Subtest completed in 2.74s (excluding cleanup) mtls_migration_test.go:81: mtls_migration_test.go:81: Performing cleanup mtls_migration_test.go:82: Deleting resources from namespace istio-system mtls_migration_test.go:81: Cleanup completed in 0.13s --- PASS: TestMTlsMigration/mTLS_enabled_globally (2.87s) test.go:77: test.go:84: Test completed in 22.60s (excluding cleanup) mtls_migration_test.go:33: mtls_migration_test.go:33: Performing cleanup mtls_migration_test.go:34: Deleting namespaces: [foo bar legacy] mtls_migration_test.go:34: Creating namespaces: [foo bar legacy] mtls_migration_test.go:33: Cleanup completed in 19.84s --- PASS: TestMTlsMigration (42.45s) PASS ok github.com/maistra/maistra-test-tool/pkg/tests/tasks/security/authentication 112.723s test_helper_setup.go:64: 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:98: 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:98: SUCCESS: Got expected "403" deny_test.go:55: deny_test.go:55: STEP 3: Verify that POST request is allowed sleep.go:98: SUCCESS: Got expected "200" subtest.go:25: subtest.go:32: Subtest completed in 1.20s (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.15s --- PASS: TestAuthorizationDenyAllow/explicitly_deny_request (1.35s) === 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:98: FAILURE: Expect "200", but got a different response; expected to find the string '200' in the output, but it wasn't found sleep.go:98: --- Attempt 1/60 failed. Retrying... sleep.go:98: SUCCESS: Got expected "200" sleep.go:98: --- Attempt 2/60 successful; total time: 1.82s deny_test.go:69: deny_test.go:69: STEP 3: Verify that GET request with HTTP header 'x-token: guest' is denied sleep.go:98: SUCCESS: Got expected "403" subtest.go:25: subtest.go:32: Subtest completed in 2.61s (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.15s --- PASS: TestAuthorizationDenyAllow/deny_request_header (2.77s) === 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:98: 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:98: 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:98: SUCCESS: Got expected "403" subtest.go:25: subtest.go:32: Subtest completed in 2.14s (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.29s --- PASS: TestAuthorizationDenyAllow/allow_request_path (2.43s) test.go:77: test.go:84: Test completed in 19.70s (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 18.18s --- PASS: TestAuthorizationDenyAllow (37.87s) === 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:98: 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:98: 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:98: 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:98: SUCCESS: Got expected "200" test.go:77: test.go:84: Test completed in 19.03s (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.15s ext_auth_test.go:115: ext_auth_test.go:115: Performing cleanup ext_auth_test.go:115: Cleanup completed in 0.17s 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.20s 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 0.63s --- PASS: TestEnvoyExtAuthzHttpExtensionProvider (20.18s) === 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: 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 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:98: 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:98: FAILURE: Expect "403", but got a different response; expected to find the string '403' in the output, but it wasn't found sleep.go:98: --- Attempt 1/60 failed. Retrying... sleep.go:98: SUCCESS: Got expected "403" sleep.go:98: --- Attempt 2/60 successful; total time: 1.81s 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:98: 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:98: SUCCESS: Got expected "200" test.go:77: test.go:84: Test completed in 25.12s (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.16s ext_auth_test.go:197: ext_auth_test.go:197: Performing cleanup ext_auth_test.go:197: Cleanup completed in 0.19s 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.22s 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 0.61s --- PASS: TestEnvoyExtAuthzGrpcExtensionProvider (26.30s) === 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:54: FATAL: Command failed: kubectl -n bookinfo rollout status deploy/ratings-v1 --timeout=3m58s Waiting for deployment "ratings-v1" rollout to finish: 0 of 1 updated replicas are available... error: timed out waiting for the condition error: exit status 1 test.go:77: test.go:79: Test failed in 252.19s (excluding cleanup) test.go:97: Capturing cluster state using must-gather registry.redhat.io/openshift-service-mesh/istio-must-gather-rhel8:2.4 test.go:101: /go/src/maistra-test-tool/tests/result-20240304221408/v2.4/failures-must-gather/20240304223129-TestAuthorizationHTTPTraffic 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 16.69s --- FAIL: TestAuthorizationHTTPTraffic (330.47s) === 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:98: 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:98: 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:98: SUCCESS: Got expected "200" subtest.go:25: subtest.go:32: Subtest completed in 0.95s (excluding cleanup) --- PASS: TestAuthorizationJWT/Allow_requests_with_valid_JWT_and_list-typed_claims (0.95s) === 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:98: SUCCESS: Got expected "200" jwt_test.go:74: jwt_test.go:74: STEP 2: Verify request without a JWT is denied sleep.go:98: SUCCESS: Got expected "403" subtest.go:25: subtest.go:32: Subtest completed in 1.54s (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.15s --- PASS: TestAuthorizationJWT/Security_authorization_allow_JWT_requestPrincipal (1.69s) === 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:98: 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:98: SUCCESS: Got expected "403" subtest.go:25: subtest.go:32: Subtest completed in 1.40s (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.17s --- PASS: TestAuthorizationJWT/Security_authorization_allow_JWT_claims_group (1.57s) test.go:77: test.go:84: Test completed in 18.64s (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.19s 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 19.18s --- PASS: TestAuthorizationJWT (38.00s) === 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:25: subtest.go:32: Subtest completed in 1.44s (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.14s --- PASS: TestAuthorizationTCPTraffic/TCP_invalid_policy (1.58s) === 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:25: subtest.go:32: Subtest completed in 1.39s (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.14s --- PASS: TestAuthorizationTCPTraffic/TCP_deny_policy (1.53s) === 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:25: subtest.go:32: Subtest completed in 1.48s (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.15s --- PASS: TestAuthorizationTCPTraffic/TCP_ALLOW_policy (1.62s) test.go:77: test.go:84: Test completed in 19.92s (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 12.53s --- PASS: TestAuthorizationTCPTraffic (32.44s) === 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: 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 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:98: SUCCESS: Got expected "403" sleep.go:98: SUCCESS: Got expected "200" subtest.go:25: subtest.go:32: Subtest completed in 0.87s (excluding cleanup) --- PASS: TestTrustDomainMigration/Case_1:_Verifying_policy_works (0.87s) === 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:98: SUCCESS: Got expected "403" sleep.go:98: SUCCESS: Got expected "403" subtest.go:25: subtest.go:32: Subtest completed in 19.39s (excluding cleanup) --- PASS: TestTrustDomainMigration/Case_2:_Migrate_trust_domain_without_trust_domain_aliases (19.39s) === 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:98: SUCCESS: Got expected "403" sleep.go:98: SUCCESS: Got expected "200" subtest.go:25: subtest.go:32: Subtest completed in 25.79s (excluding cleanup) --- PASS: TestTrustDomainMigration/Case_3:_Migrate_trust_domain_with_trust_domain_aliases (25.79s) test.go:77: test.go:84: Test completed in 70.54s (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 1.40s --- PASS: TestTrustDomainMigration (71.94s) FAIL FAIL github.com/maistra/maistra-test-tool/pkg/tests/tasks/security/authorization 557.708s test_helper_setup.go:64: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === RUN TestAlpnFilterDisabledForNonIstioMtls test.go:114: 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:86: SUCCESS: The cert-chain certificates are present in the certificates sent by the tested service external_ca_test.go:90: SUCCESS: Certificate trust chain successfully verified test.go:77: test.go:84: Test completed in 42.43s (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.37s --- PASS: TestExternalCertificate (56.80s) PASS ok github.com/maistra/maistra-test-tool/pkg/tests/tasks/security/certificate 57.532s test_helper_setup.go:64: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === RUN TestIstioCsr test.go:114: This test is being skipped because it is not part of the "interop" test group --- SKIP: TestIstioCsr (0.00s) === RUN TestPluginCaCert test.go:114: 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 0.650s test_helper_setup.go:64: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === RUN TestCircuitBreaking circuit_breaking_test.go:37: This test checks whether the circuit breaker functions correctly. Check documentation: https://istio.io/latest/docs/tasks/traffic-management/circuit-breaking/ circuit_breaking_test.go:44: circuit_breaking_test.go:44: STEP 1: Apply default SMCP and SMMR manifests circuit_breaking_test.go:44: Wait for condition condition=Ready on smcp istio-system/basic... circuit_breaking_test.go:44: 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: 36% circuit_breaking_test.go:80: Success rate 503: 64% 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 : 32 test.go:77: test.go:84: Test completed in 33.29s (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 18.18s --- PASS: TestCircuitBreaking (51.47s) === 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.077s, 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:25: subtest.go:32: Subtest completed in 6.58s (excluding cleanup) --- PASS: TestFaultInjection/ratings-fault-delay (6.58s) === 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:25: subtest.go:32: Subtest completed in 0.70s (excluding cleanup) --- PASS: TestFaultInjection/ratings-fault-abort (0.70s) test.go:77: test.go:84: Test completed in 30.11s (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 18.58s --- PASS: TestFaultInjection (48.69s) === 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-575cf6648f-5mrbm
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:25: subtest.go:32: Subtest completed in 1.30s (excluding cleanup) --- PASS: TestRequestRouting/not-logged-in (1.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: FAILURE: expected productpage to call reviews-v2, but got an unexpected response; expected the response to match file "modified-productpage-test-user-v2.html", but it matched "productpage-test-user-v2-review-timeout.html" request_routing_test.go:74: --- Attempt 1/60 failed. Retrying... request_routing_test.go:76: FAILURE: expected productpage to call reviews-v2, but got an unexpected response; expected the response to match file "modified-productpage-test-user-v2.html", but it matched "productpage-test-user-v2-review-timeout.html" request_routing_test.go:74: --- Attempt 2/60 failed. Retrying... 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 request_routing_test.go:74: --- Attempt 3/60 successful; total time: 3.02s subtest.go:25: subtest.go:32: Subtest completed in 3.52s (excluding cleanup) --- PASS: TestRequestRouting/logged-in (3.52s) test.go:77: test.go:84: Test completed in 21.07s (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.32s --- PASS: TestRequestRouting (34.39s) === 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-575cf6648f-gjwhh
request_timeouts_test.go:59: FAILURE: unexpected response; expected the response to match file "modified-productpage-normal-user-v1.html", but it matched "productpage-review-timeout.html" request_timeouts_test.go:58: --- Attempt 1/60 failed. Retrying... request_timeouts_test.go:59: FAILURE: unexpected response; expected the response to match file "modified-productpage-normal-user-v1.html", but it matched "productpage-review-timeout.html" request_timeouts_test.go:58: --- Attempt 2/60 failed. Retrying... request_timeouts_test.go:59: FAILURE: unexpected response; expected the response to match file "modified-productpage-normal-user-v1.html", but it matched "productpage-review-timeout.html" request_timeouts_test.go:58: --- Attempt 3/60 failed. Retrying... request_timeouts_test.go:59: FAILURE: unexpected response; expected the response to match file "modified-productpage-normal-user-v1.html", but it matched "productpage-review-timeout.html" request_timeouts_test.go:58: --- Attempt 4/60 failed. Retrying... request_timeouts_test.go:59: FAILURE: unexpected response; expected the response to match file "modified-productpage-normal-user-v1.html", but it matched "productpage-review-timeout.html" request_timeouts_test.go:58: --- Attempt 5/60 failed. Retrying... request_timeouts_test.go:59: SUCCESS: received normal productpage response request_timeouts_test.go:58: --- Attempt 6/60 successful; total time: 6.09s 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: FAILURE: expected productpage to show 'error fetching product reviews', but got a different response; expected the response to match file "productpage-review-timeout.html", but it didn't match that or any other file request_timeouts_test.go:72: --- Attempt 1/60 failed. Retrying... 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 request_timeouts_test.go:72: --- Attempt 2/60 successful; total time: 7.21s test.go:77: test.go:84: Test completed in 28.51s (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 12.81s --- PASS: TestRequestTimeouts (41.32s) === 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:25: subtest.go:32: Subtest completed in 1.39s (excluding cleanup) --- PASS: TestMirroring/no_mirroring (1.39s) === 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:25: subtest.go:32: Subtest completed in 1.40s (excluding cleanup) --- PASS: TestMirroring/mirroring_to_httpbin-v2 (1.40s) test.go:77: test.go:84: Test completed in 15.55s (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 18.10s --- PASS: TestMirroring (33.65s) === RUN TestTrafficShifting traffic_shifting_test.go:45: traffic_shifting_test.go:45: STEP 1: Apply default SMCP and SMMR manifests traffic_shifting_test.go:45: Wait for condition condition=Ready on smcp istio-system/basic... traffic_shifting_test.go:45: SUCCESS: Condition condition=Ready met by smcp istio-system/basic traffic_shifting_test.go:45: Wait for smmr/default to be ready in namespace istio-system traffic_shifting_test.go:47: traffic_shifting_test.go:47: STEP 2: Install Bookinfo traffic_shifting_test.go:48: Install app "bookinfo" in namespace "bookinfo" traffic_shifting_test.go:48: Create Bookinfo Gateway traffic_shifting_test.go:48: Create Bookinfo Destination Rules (all) traffic_shifting_test.go:48: Create Bookinfo Deployments traffic_shifting_test.go:48: 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-575cf6648f-bnskp
=== RUN TestTrafficShifting/50_percent_to_v3 traffic_shifting_test.go:57: traffic_shifting_test.go:57: STEP 1: configure VirtualService to split traffic 50% to v1 and 50% to v3 traffic_shifting_test.go:60: traffic_shifting_test.go:60: STEP 2: Make 100 requests and check if v1 and v3 get 50% of requests each (tolerance: 20%) traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:124: SUCCESS: 45/100 responses matched modified-productpage-normal-user-v1.html (actual rate 0.450000, expected 0.500000, tolerance 0.200000) traffic_shifting_test.go:124: SUCCESS: 55/100 responses matched modified-productpage-normal-user-v3.html (actual rate 0.550000, expected 0.500000, tolerance 0.200000) subtest.go:25: subtest.go:32: Subtest completed in 6.09s (excluding cleanup) --- PASS: TestTrafficShifting/50_percent_to_v3 (6.09s) === RUN TestTrafficShifting/100_percent_to_v3 traffic_shifting_test.go:72: traffic_shifting_test.go:72: STEP 1: configure VirtualService to send all traffic to v3 traffic_shifting_test.go:75: traffic_shifting_test.go:75: STEP 2: Make 100 requests and check if all of them go to v3 (tolerance: 0%) traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:90: SUCCESS: received expected status code 200 traffic_shifting_test.go:124: SUCCESS: 100/100 responses matched modified-productpage-normal-user-v3.html (actual rate 1.000000, expected 1.000000, tolerance 0.000000) subtest.go:25: subtest.go:32: Subtest completed in 5.87s (excluding cleanup) --- PASS: TestTrafficShifting/100_percent_to_v3 (5.87s) test.go:77: test.go:84: Test completed in 27.86s (excluding cleanup) traffic_shifting_test.go:39: traffic_shifting_test.go:39: Performing cleanup traffic_shifting_test.go:40: Deleting namespaces: [bookinfo] traffic_shifting_test.go:40: Creating namespaces: [bookinfo] traffic_shifting_test.go:39: Cleanup completed in 19.27s --- PASS: TestTrafficShifting (47.14s) === 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:25: subtest.go:32: Subtest completed in 0.90s (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.20s --- PASS: TestTcpTrafficShifting/tcp_shift_100_percent_to_v1 (1.10s) === 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: 17/100 responses matched two (actual rate 0.170000, expected 0.200000, tolerance 0.100000) traffic_tcp_shifting_test.go:114: SUCCESS: 83/100 responses matched one (actual rate 0.830000, expected 0.800000, tolerance 0.100000) subtest.go:25: subtest.go:32: Subtest completed in 1.04s (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.19s --- PASS: TestTcpTrafficShifting/tcp_shift_20_percent_to_v2 (1.23s) test.go:77: test.go:84: Test completed in 15.36s (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 0.66s --- PASS: TestTcpTrafficShifting (16.02s) PASS ok github.com/maistra/maistra-test-tool/pkg/tests/tasks/traffic 273.328s test_helper_setup.go:64: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === RUN TestAccessExternalServices access_external_services_test.go:43: This test validates accesses to external services access_external_services_test.go:45: access_external_services_test.go:45: STEP 1: Apply default SMCP and SMMR manifests access_external_services_test.go:45: Wait for condition condition=Ready on smcp istio-system/basic... access_external_services_test.go:45: SUCCESS: Condition condition=Ready met by smcp istio-system/basic access_external_services_test.go: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:98: 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:12: 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:98: FAILURE: Expect "CURL_FAILED", but got a different response; expected to find the string 'CURL_FAILED' in the output, but it wasn't found sleep.go:98: --- Attempt 1/60 failed. Retrying... sleep.go:98: SUCCESS: Got expected "CURL_FAILED" sleep.go:98: --- Attempt 2/60 successful; total time: 1.85s === 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:98: SUCCESS: Got expected "200" subtest.go:25: subtest.go:32: Subtest completed in 0.76s (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.14s --- PASS: TestAccessExternalServices/allow_request_to_external_httpbin_after_applying_ServiceEntry (0.90s) test.go:77: test.go:84: Test completed in 17.96s (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 0.58s --- PASS: TestAccessExternalServices (18.54s) === RUN TestEgressGateways egress_gateways_test.go:33: egress_gateways_test.go:33: STEP 1: Apply default SMCP and SMMR manifests egress_gateways_test.go:33: Wait for condition condition=Ready on smcp istio-system/basic... egress_gateways_test.go:33: SUCCESS: Condition condition=Ready met by smcp istio-system/basic egress_gateways_test.go: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:98: SUCCESS: Got expected "200" subtest.go:25: subtest.go:32: Subtest completed in 1.72s (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.18s 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.13s --- PASS: TestEgressGateways/HTTP (2.04s) === 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:98: SUCCESS: Got expected "200" subtest.go:25: subtest.go:32: Subtest completed in 7.23s (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.19s 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.13s 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.14s --- PASS: TestEgressGateways/HTTPS (7.69s) test.go:77: test.go:84: Test completed in 23.13s (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 12.23s --- PASS: TestEgressGateways (35.36s) === 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:12: SUCCESS: mesh-external namespace was not discovered egress_gateways_tls_file_mount_test.go:60: egress_gateways_tls_file_mount_test.go:60: STEP 3: Create ServiceEntry for external nginx, port 80 and 443 egress_gateways_tls_file_mount_test.go:66: egress_gateways_tls_file_mount_test.go:66: STEP 4: Create a Gateway, DestinationRule, and VirtualService to route requests to external nginx through the egress gateway egress_gateways_tls_file_mount_test.go:74: egress_gateways_tls_file_mount_test.go:74: STEP 5: Verify that request to external nginx is routed through the egress gateway (response 200 indicates that the TLS origination is done by the egress gateway) egress_gateways_tls_file_mount_test.go:75: SUCCESS: Get expected response: Welcome to nginx subtest.go:25: subtest.go:32: Subtest completed in 3.34s (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 0.36s 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.14s --- PASS: TestTLSOrigination/Egress_Gateway_without_file_mount (3.84s) === RUN TestTLSOrigination/mTLS_with_file_mount egress_gateways_tls_file_mount_test.go:84: Perform mTLS origination with an egress gateway egress_gateways_tls_file_mount_test.go:98: egress_gateways_tls_file_mount_test.go:98: STEP 1: Deploy nginx mTLS server and create secrets in the mesh namespace egress_gateways_tls_file_mount_test.go:103: Install app "nginx" in namespace "mesh-external" egress_gateways_tls_file_mount_test.go:105: egress_gateways_tls_file_mount_test.go:105: STEP 2: Patch egress gateway with File Mount configuration egress_gateways_tls_file_mount_test.go:108: egress_gateways_tls_file_mount_test.go:108: STEP 3: Configure mTLS origination for egress traffic egress_gateways_tls_file_mount_test.go:112: egress_gateways_tls_file_mount_test.go:112: STEP 4: Wait for egress gateway and nginx to be ready egress_gateways_tls_file_mount_test.go:114: Wait for app mesh-external/nginx to be ready egress_gateways_tls_file_mount_test.go:116: egress_gateways_tls_file_mount_test.go:116: STEP 5: Verify NGINX server egress_gateways_tls_file_mount_test.go:117: SUCCESS: Get expected response: Welcome to nginx subtest.go:25: subtest.go:32: Subtest completed in 3.79s (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-bd9d568bc-q2g82 is being deleted egress_gateways_tls_file_mount_test.go:85: Cleanup completed in 7.41s --- PASS: TestTLSOrigination/mTLS_with_file_mount (11.20s) test.go:77: test.go:84: Test completed in 26.21s (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.39s --- PASS: TestTLSOrigination (26.60s) === 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:98: SUCCESS: Got expected "200" test.go:77: test.go:84: Test completed in 21.36s (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 25.41s --- PASS: TestTLSOriginationSDS (46.77s) === 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:98: SUCCESS: Got expected "200" subtest.go:25: subtest.go:32: Subtest completed in 4.68s (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 1.02s --- PASS: TestEgressTLSOrigination/TrafficManagement_egress_tls_origination (5.70s) test.go:77: test.go:84: Test completed in 17.61s (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 6.79s --- PASS: TestEgressTLSOrigination (24.39s) === RUN TestEgressWildcard egress_wildcard_hosts_test.go:29: 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 egress_wildcard_hosts_test.go:33: Wait for condition condition=Ready on smcp istio-system/basic... egress_wildcard_hosts_test.go:33: SUCCESS: Condition condition=Ready met by smcp istio-system/basic egress_wildcard_hosts_test.go:33: Wait for smmr/default to be ready in namespace istio-system egress_wildcard_hosts_test.go:35: egress_wildcard_hosts_test.go:35: STEP 2: Install the sleep pod egress_wildcard_hosts_test.go:36: Install app "sleep" in namespace "bookinfo" egress_wildcard_hosts_test.go:36: Wait for app bookinfo/sleep to be ready === RUN TestEgressWildcard/ServiceEntry egress_wildcard_hosts_test.go:42: egress_wildcard_hosts_test.go:42: STEP 1: Configure ServiceEntry with wildcard host *.wikipedia.org egress_wildcard_hosts_test.go:64: egress_wildcard_hosts_test.go:64: STEP 2: Check external request to en.wikipedia.org and de.wikipedia.org egress_wildcard_hosts_test.go:65: SUCCESS: Received the correct response from en.wikipedia.org egress_wildcard_hosts_test.go:73: SUCCESS: Received the correct response from de.wikipedia.org subtest.go:25: subtest.go:32: Subtest completed in 1.51s (excluding cleanup) egress_wildcard_hosts_test.go:44: egress_wildcard_hosts_test.go:44: Performing cleanup egress_wildcard_hosts_test.go:45: Deleting resources from namespace bookinfo egress_wildcard_hosts_test.go:44: Cleanup completed in 0.14s --- PASS: TestEgressWildcard/ServiceEntry (1.65s) === RUN TestEgressWildcard/Gateway egress_wildcard_hosts_test.go:52: egress_wildcard_hosts_test.go:52: STEP 1: Configure egress Gateway with wildcard host *.wikipedia.org egress_wildcard_hosts_test.go:64: egress_wildcard_hosts_test.go:64: STEP 2: Check external request to en.wikipedia.org and de.wikipedia.org egress_wildcard_hosts_test.go:65: SUCCESS: Received the correct response from en.wikipedia.org egress_wildcard_hosts_test.go:73: SUCCESS: Received the correct response from de.wikipedia.org subtest.go:25: subtest.go:32: Subtest completed in 1.59s (excluding cleanup) egress_wildcard_hosts_test.go:54: egress_wildcard_hosts_test.go:54: Performing cleanup egress_wildcard_hosts_test.go:55: Deleting resources from namespace bookinfo egress_wildcard_hosts_test.go:54: Cleanup completed in 0.23s --- PASS: TestEgressWildcard/Gateway (1.82s) test.go:77: test.go:84: Test completed in 15.17s (excluding cleanup) egress_wildcard_hosts_test.go:37: egress_wildcard_hosts_test.go:37: Performing cleanup egress_wildcard_hosts_test.go:38: Deleting resources from namespace bookinfo egress_wildcard_hosts_test.go:37: Cleanup completed in 0.36s --- PASS: TestEgressWildcard (15.53s) PASS ok github.com/maistra/maistra-test-tool/pkg/tests/tasks/traffic/egress 167.573s test_helper_setup.go:64: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === RUN TestGatewayApi gatewayapi_test.go:30: gatewayapi_test.go:30: STEP 1: Apply default SMCP and SMMR manifests gatewayapi_test.go:30: Wait for condition condition=Ready on smcp istio-system/basic... gatewayapi_test.go:30: SUCCESS: Condition condition=Ready met by smcp istio-system/basic gatewayapi_test.go:30: Wait for smmr/default to be ready in namespace istio-system gatewayapi_test.go:32: gatewayapi_test.go:32: STEP 2: Install Gateway API CRD's gatewayapi_test.go:36: Creating namespaces: [foo] === RUN TestGatewayApi/Deploy_the_Kubernetes_Gateway_API gatewayapi_test.go:45: gatewayapi_test.go:45: STEP 1: Install httpbin gatewayapi_test.go:46: Install app "httpbin" in namespace "foo" gatewayapi_test.go:46: Wait for app foo/httpbin to be ready gatewayapi_test.go:48: gatewayapi_test.go:48: STEP 2: Deploy the Gateway SMCP gatewayapi_test.go:81: gatewayapi_test.go:81: STEP 3: Deploy the Gateway API configuration including a single exposed route (i.e., /get) gatewayapi_test.go:87: gatewayapi_test.go:87: STEP 4: Wait for Gateway to be ready gatewayapi_test.go:88: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:88: SUCCESS: Condition condition=Ready met by Gateway foo/gateway gatewayapi_test.go:90: gatewayapi_test.go:90: STEP 5: Verfiy the GatewayApi access the httpbin service using curl gatewayapi_test.go:92: SUCCESS: Access the httpbin service with GatewayApi subtest.go:25: subtest.go:32: Subtest completed in 8.71s (excluding cleanup) gatewayapi_test.go:83: gatewayapi_test.go:83: Performing cleanup gatewayapi_test.go:84: Deleting resources from namespace foo gatewayapi_test.go:83: Cleanup completed in 0.35s gatewayapi_test.go:74: gatewayapi_test.go:74: Performing cleanup gatewayapi_test.go:74: Cleanup completed in 0.17s gatewayapi_test.go:40: gatewayapi_test.go:40: Performing cleanup gatewayapi_test.go:41: Deleting namespaces: [istio-system] gatewayapi_test.go:41: Creating namespaces: [istio-system] gatewayapi_test.go:42: Deleting namespaces: [foo] gatewayapi_test.go:42: Creating namespaces: [foo] gatewayapi_test.go:40: Cleanup completed in 61.81s --- PASS: TestGatewayApi/Deploy_the_Kubernetes_Gateway_API (71.04s) === RUN TestGatewayApi/Deploy_the_Gateway-Controller_Profile gatewayapi_test.go:112: gatewayapi_test.go:112: STEP 1: Install httpbin gatewayapi_test.go:113: Install app "httpbin" in namespace "foo" gatewayapi_test.go:113: Wait for app foo/httpbin to be ready gatewayapi_test.go:115: gatewayapi_test.go:115: STEP 2: Deploy SMCP with the profile gatewayapi_test.go:120: Wait for condition condition=Ready on smcp istio-system/basic... gatewayapi_test.go:120: SUCCESS: Condition condition=Ready met by smcp istio-system/basic gatewayapi_test.go:122: gatewayapi_test.go:122: STEP 3: delete default SMMR and create custom SMMR gatewayapi_test.go:123: Deleting resources from namespace istio-system gatewayapi_test.go:125: Wait for smmr/default to be ready in namespace istio-system gatewayapi_test.go:127: gatewayapi_test.go:127: STEP 4: Deploy the Gateway API configuration including a single exposed route (i.e., /get) gatewayapi_test.go:133: gatewayapi_test.go:133: STEP 5: Wait for Gateway to be ready gatewayapi_test.go:134: Wait for condition condition=Ready on Gateway foo/gateway... gatewayapi_test.go:134: SUCCESS: Condition condition=Ready met by Gateway foo/gateway gatewayapi_test.go:136: gatewayapi_test.go:136: STEP 6: Verify the Gateway-Controller Profile access the httpbin service using curl gatewayapi_test.go:138: SUCCESS: Access the httpbin service with GatewayApi subtest.go:25: subtest.go:32: Subtest completed in 13.23s (excluding cleanup) gatewayapi_test.go:129: gatewayapi_test.go:129: Performing cleanup gatewayapi_test.go:130: Deleting resources from namespace foo gatewayapi_test.go:129: Cleanup completed in 0.19s gatewayapi_test.go:107: gatewayapi_test.go:107: Performing cleanup gatewayapi_test.go:108: Deleting namespaces: [istio-system] gatewayapi_test.go:108: Creating namespaces: [istio-system] gatewayapi_test.go:109: Deleting namespaces: [foo] gatewayapi_test.go:109: Creating namespaces: [foo] gatewayapi_test.go:107: Cleanup completed in 35.58s --- PASS: TestGatewayApi/Deploy_the_Gateway-Controller_Profile (48.99s) test.go:77: test.go:84: Test completed in 131.16s (excluding cleanup) --- PASS: TestGatewayApi (131.16s) === RUN TestIngressGateways ingress_gateways_test.go:42: ingress_gateways_test.go:42: STEP 1: Apply default SMCP and SMMR manifests ingress_gateways_test.go:42: Wait for condition condition=Ready on smcp istio-system/basic... ingress_gateways_test.go:42: 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:42: Wait for condition condition=Ready on smcp istio-system/basic... ingress_gateways_test.go:42: 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:42: Wait for condition condition=Ready on smcp istio-system/basic... ingress_gateways_test.go:42: SUCCESS: Condition condition=Ready met by smcp istio-system/basic ingress_gateways_test.go:42: Wait for smmr/default to be ready in namespace istio-system ingress_gateways_test.go:44: ingress_gateways_test.go:44: STEP 2: Install httpbin ingress_gateways_test.go:45: Install app "httpbin" in namespace "bookinfo" ingress_gateways_test.go:45: Wait for app bookinfo/httpbin to be ready === RUN TestIngressGateways/TrafficManagement_ingress_status_200_test ingress_gateways_test.go:50: ingress_gateways_test.go:50: STEP 1: Create httpbin Gateway and VirtualService with host set to httpbin.example.com ingress_gateways_test.go:57: ingress_gateways_test.go:57: STEP 2: Check if httpbin service is reachable through istio-ingressgateway ingress_gateways_test.go:59: FAILURE: expected status code 200 but got 503 Service Unavailable ingress_gateways_test.go:58: --- Attempt 1/60 failed. Retrying... ingress_gateways_test.go:59: FAILURE: expected status code 200 but got 503 Service Unavailable ingress_gateways_test.go:58: --- Attempt 2/60 failed. Retrying... ingress_gateways_test.go:59: FAILURE: expected status code 200 but got 503 Service Unavailable ingress_gateways_test.go:58: --- Attempt 3/60 failed. Retrying... ingress_gateways_test.go:59: SUCCESS: received expected status code 200 ingress_gateways_test.go:58: --- Attempt 4/60 successful; total time: 3.11s subtest.go:25: subtest.go:32: Subtest completed in 3.61s (excluding cleanup) --- PASS: TestIngressGateways/TrafficManagement_ingress_status_200_test (3.61s) === RUN TestIngressGateways/TrafficManagement_ingress_headers_test ingress_gateways_test.go:67: ingress_gateways_test.go:67: STEP 1: Create httpbin Gateway and VirtualService with host set to * ingress_gateways_test.go:70: ingress_gateways_test.go:70: STEP 2: Check if httpbin service is reachable through istio-ingressgateway ingress_gateways_test.go:72: FAILURE: expected status code 200 but got 404 Not Found ingress_gateways_test.go:71: --- Attempt 1/60 failed. Retrying... ingress_gateways_test.go:72: SUCCESS: received expected status code 200 ingress_gateways_test.go:71: --- Attempt 2/60 successful; total time: 1.03s subtest.go:25: subtest.go:32: Subtest completed in 1.52s (excluding cleanup) --- PASS: TestIngressGateways/TrafficManagement_ingress_headers_test (1.52s) test.go:77: test.go:84: Test completed in 34.87s (excluding cleanup) ingress_gateways_test.go:38: ingress_gateways_test.go:38: Performing cleanup ingress_gateways_test.go:39: Deleting namespaces: [bookinfo] ingress_gateways_test.go:39: Creating namespaces: [bookinfo] ingress_gateways_test.go:38: Cleanup completed in 18.23s --- PASS: TestIngressGateways (53.10s) === RUN TestIngressWithoutTlsTermination ingress_without_tls_termination_test.go:36: This test validates configuring an Gateway with TLS PassThrough ingress_without_tls_termination_test.go:37: Doc reference: https://istio.io/v1.14/docs/tasks/traffic-management/ingress/ingress-sni-passthrough/ ingress_without_tls_termination_test.go:46: ingress_without_tls_termination_test.go:46: STEP 1: Apply default SMCP and SMMR manifests ingress_without_tls_termination_test.go:46: Wait for condition condition=Ready on smcp istio-system/basic... ingress_without_tls_termination_test.go:46: SUCCESS: Condition condition=Ready met by smcp istio-system/basic ingress_without_tls_termination_test.go:46: Wait for smmr/default to be ready in namespace istio-system ingress_without_tls_termination_test.go:48: ingress_without_tls_termination_test.go:48: STEP 2: Create NGINX Deployment ingress_without_tls_termination_test.go:49: Install app "nginx" in namespace "bookinfo" ingress_without_tls_termination_test.go:49: Wait for app bookinfo/nginx to be ready ingress_without_tls_termination_test.go:51: ingress_without_tls_termination_test.go:51: STEP 3: Verify NGINX server is running by connecting to it via loopback ingress_without_tls_termination_test.go:53: SUCCESS: Got expected Welcome to nginx response ingress_without_tls_termination_test.go:63: ingress_without_tls_termination_test.go:63: STEP 4: Configure Gateway resource with TLS passthrough for host nginx.example.com ingress_without_tls_termination_test.go:70: ingress_without_tls_termination_test.go:70: STEP 5: Verify NGINX is reachable from outside the cluster through the ingressgateway ingress_without_tls_termination_test.go:74: SUCCESS: string 'Welcome to nginx' found in response test.go:77: test.go:84: Test completed in 13.78s (excluding cleanup) ingress_without_tls_termination_test.go:41: ingress_without_tls_termination_test.go:41: Performing cleanup ingress_without_tls_termination_test.go:42: Deleting resources from namespace bookinfo ingress_without_tls_termination_test.go:43: Deleting file /go/src/maistra-test-tool/pkg/app/yaml/nginx.yaml from namespace bookinfo ingress_without_tls_termination_test.go:41: Cleanup completed in 0.77s --- PASS: TestIngressWithoutTlsTermination (14.56s) === 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 secure_gateways_test.go:86: secure_gateways_test.go:86: STEP 2: check if httpbin responds with teapot secure_gateways_test.go:88: SUCCESS: string '-=[ teapot ]=-' found in response subtest.go:25: subtest.go:32: Subtest completed in 1.50s (excluding cleanup) --- PASS: TestSecureGateways/tls_single_host (1.50s) === RUN TestSecureGateways/tls_multiple_hosts secure_gateways_test.go:97: secure_gateways_test.go:97: STEP 1: configure Gateway with multiple TLS hosts secure_gateways_test.go:105: secure_gateways_test.go:105: STEP 2: 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.ci-op-scqw0ksr-b8185.cspilp.interop.ccitredhat.com, 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.ci-op-scqw0ksr-b8185.cspilp.interop.ccitredhat.com, 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.ci-op-scqw0ksr-b8185.cspilp.interop.ccitredhat.com, 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: failed to get HTTP Response: Get "https://helloworld-v1.example.com:443/hello": tls: failed to verify certificate: x509: certificate is valid for *.apps.ci-op-scqw0ksr-b8185.cspilp.interop.ccitredhat.com, 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 4/60 failed. Retrying... secure_gateways_test.go:107: SUCCESS: received expected status code 200 secure_gateways_test.go:106: --- Attempt 5/60 successful; total time: 4.25s secure_gateways_test.go:113: secure_gateways_test.go:113: STEP 3: check if httpbin responds with teapot secure_gateways_test.go:115: SUCCESS: string '-=[ teapot ]=-' found in response subtest.go:25: subtest.go:32: Subtest completed in 4.91s (excluding cleanup) --- PASS: TestSecureGateways/tls_multiple_hosts (4.91s) === RUN TestSecureGateways/mutual_tls secure_gateways_test.go:123: secure_gateways_test.go:123: STEP 1: configure Gateway with tls.mode=Mutual secure_gateways_test.go:134: secure_gateways_test.go:134: STEP 2: check if SSL handshake fails when no client certificate is given secure_gateways_test.go:136: FAILURE: expected request to fail because no client certificate was provided; expected request to fail, but it succeeded with the following status: 418 Unknown secure_gateways_test.go:136: FAILURE: expected request error, but it is nil secure_gateways_test.go:135: --- Attempt 1/60 failed. Retrying... 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:135: --- Attempt 2/60 successful; total time: 1.08s secure_gateways_test.go:148: secure_gateways_test.go:148: STEP 3: check if SSL handshake succeeds when client certificate is given secure_gateways_test.go:150: SUCCESS: string '-=[ teapot ]=-' found in response subtest.go:25: subtest.go:32: Subtest completed in 1.94s (excluding cleanup) --- PASS: TestSecureGateways/mutual_tls (1.94s) === RUN TestSecureGateways/mutual_tls_with_crl secure_gateways_test.go:160: Reference: https://issues.redhat.com/browse/OSSM-414 secure_gateways_test.go:162: Skipping until 2.5 subtest.go:25: subtest.go:32: Subtest completed in 0.00s (excluding cleanup) --- SKIP: TestSecureGateways/mutual_tls_with_crl (0.00s) test.go:77: test.go:84: Test completed in 28.41s (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 18.83s --- PASS: TestSecureGateways (47.25s) PASS ok github.com/maistra/maistra-test-tool/pkg/tests/tasks/traffic/ingress 246.578s DONE 112 tests, 29 skipped, 1 failure in 2009.793s test_helper_setup.go:64: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external] === 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: FAILURE: expected to find the string 'RBAC: access denied' in the response, but it wasn't found http_test.go:67: --- Attempt 1/60 failed. Retrying... http_test.go:68: SUCCESS: string 'RBAC: access denied' found in response http_test.go:67: --- Attempt 2/60 successful; total time: 1.37s subtest.go:25: subtest.go:32: Subtest completed in 1.80s (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.15s --- PASS: TestAuthorizationHTTPTraffic/deny_all_http_traffic_to_bookinfo (1.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: FAILURE: expected to find the string 'Error fetching product details' in the response, but it wasn't found http_test.go:87: SUCCESS: string 'Error fetching product reviews' found in response http_test.go:86: --- Attempt 2/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 3/60 successful; total time: 2.11s subtest.go:25: subtest.go:32: Subtest completed in 2.96s (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.27s --- PASS: TestAuthorizationHTTPTraffic/only_allow_HTTP_GET_request_to_the_productpage_workload (3.23s) === 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: 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 subtest.go:25: subtest.go:32: Subtest completed in 2.75s (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 0.71s --- PASS: TestAuthorizationHTTPTraffic/allow_HTTP_GET_requests_to_all_bookinfo_workloads (3.46s) test.go:77: test.go:84: Test completed in 29.12s (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.90s --- PASS: TestAuthorizationHTTPTraffic (43.02s) PASS ok github.com/maistra/maistra-test-tool/pkg/tests/tasks/security/authorization 43.541s === Skipped === SKIP: pkg/tests/non-dependant TestSMCPMultiple (0.00s) test.go:114: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm TestIstiodPodFailsAfterRestarts (0.00s) test.go:114: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm TestDeployOnInfraNodes (0.00s) test.go:114: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm TestExcludeCniFromNode (0.00s) test.go:114: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm TestDiscoverySelectors (0.00s) test.go:114: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm TestInitContainerNotRemovedDuringInjection (0.00s) test.go:114: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm TestIOR (0.00s) test.go:114: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm TestOperatorCanUpdatePrometheusConfigMap (0.00s) test.go:114: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm TestRateLimiting (0.00s) test.go:114: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm TestRoutePreventAdditionalIngress (0.00s) test.go:114: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm TestSMCPAddons (0.00s) test.go:114: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm TestSMCPAnnotations (0.00s) test.go:114: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm TestMustGather (0.00s) test.go:114: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm TestSMMRAutoCreationAndDeletion (0.00s) test.go:114: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/ossm TestSMMReconciliation (0.00s) test.go:114: 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:114: 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:114: 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:114: 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:114: 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:114: 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:114: 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:114: 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:114: 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:114: 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:114: 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:114: 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:114: 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:114: This test is being skipped because it is not part of the "interop" test group === SKIP: pkg/tests/tasks/traffic/ingress TestSecureGateways/mutual_tls_with_crl (0.00s) secure_gateways_test.go:160: Reference: https://issues.redhat.com/browse/OSSM-414 secure_gateways_test.go:162: Skipping until 2.5 subtest.go:25: subtest.go:32: Subtest completed in 0.00s (excluding cleanup) === Failed === FAIL: pkg/tests/tasks/security/authorization TestAuthorizationHTTPTraffic (330.47s) 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:54: FATAL: Command failed: kubectl -n bookinfo rollout status deploy/ratings-v1 --timeout=3m58s Waiting for deployment "ratings-v1" rollout to finish: 0 of 1 updated replicas are available... error: timed out waiting for the condition error: exit status 1 test.go:77: test.go:79: Test failed in 252.19s (excluding cleanup) test.go:97: Capturing cluster state using must-gather registry.redhat.io/openshift-service-mesh/istio-must-gather-rhel8:2.4 test.go:101: /go/src/maistra-test-tool/tests/result-20240304221408/v2.4/failures-must-gather/20240304223129-TestAuthorizationHTTPTraffic 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 16.69s DONE 2 runs, 116 tests, 29 skipped, 1 failure in 2054.981s ====== JUnit report file(s) v2.4: /go/src/maistra-test-tool/tests/result-20240304221408/v2.4/report.xml ====== Test summary v2.4: DONE 2 runs, 116 tests, 29 skipped, 1 failure in 2054.981s real 34m16.400s user 3m57.315s sys 1m42.056s 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