WARNING: Using insecure TLS client config. Setting this option is not supported!
Login successful.
You have access to 79 projects, the list has been suppressed. You can list all projects with 'oc projects'
Using project "default".
scripts/runtests.sh
OSSM Operator version is 2.6.0
Output dir: /go/src/maistra-test-tool/tests/result-20240916214741
Executing tests against SMCP version 2.6
Resetting cluster by deleting namespaces used in the test suite
Output dir: /go/src/maistra-test-tool/tests/result-20240916214741/v2.6
====== Executing tests in group 'interop' against SMCP v2.6
test_helper_setup.go:78: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external]
=== RUN TestSMCPMultiple
test.go:128: This test is being skipped because it is not part of the "interop" test group
--- SKIP: TestSMCPMultiple (0.00s)
=== RUN TestOlmWebhookCreation
test.go:128: This test is being skipped because it is not part of the "interop" test group
--- SKIP: TestOlmWebhookCreation (0.00s)
PASS
ok github.com/maistra/maistra-test-tool/pkg/tests/non-dependant 1.086s
test_helper_setup.go:78: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external]
=== RUN TestIstiodPodFailsAfterRestarts
test.go:128: This test is being skipped because it is not part of the "interop" test group
--- SKIP: TestIstiodPodFailsAfterRestarts (0.00s)
=== RUN TestIstiodPodFailsWithValidationMessages
test.go:128: This test is being skipped because it is not part of the "interop" test group
--- SKIP: TestIstiodPodFailsWithValidationMessages (0.00s)
=== RUN TestDeployOnInfraNodes
test.go:128: This test is being skipped because it is not part of the "interop" test group
--- SKIP: TestDeployOnInfraNodes (0.00s)
=== RUN TestExcludeCniFromNode
test.go:128: This test is being skipped because it is not part of the "interop" test group
--- SKIP: TestExcludeCniFromNode (0.00s)
=== RUN TestDiscoverySelectors
test.go:128: This test is being skipped because it is not part of the "interop" test group
--- SKIP: TestDiscoverySelectors (0.00s)
=== RUN TestInitContainerNotRemovedDuringInjection
test.go:128: This test is being skipped because it is not part of the "interop" test group
--- SKIP: TestInitContainerNotRemovedDuringInjection (0.00s)
=== RUN TestIOR
test.go:128: This test is being skipped because it is not part of the "interop" test group
--- SKIP: TestIOR (0.00s)
=== RUN TestInjectionInPrivelegedPods
test.go:128: This test is being skipped because it is not part of the "interop" test group
--- SKIP: TestInjectionInPrivelegedPods (0.00s)
=== RUN TestOperatorCanUpdatePrometheusConfigMap
test.go:128: This test is being skipped because it is not part of the "interop" test group
--- SKIP: TestOperatorCanUpdatePrometheusConfigMap (0.00s)
=== RUN TestRateLimiting
test.go:128: This test is being skipped because it is not part of the "interop" test group
--- SKIP: TestRateLimiting (0.00s)
=== RUN TestRoutePreventAdditionalIngress
test.go:128: This test is being skipped because it is not part of the "interop" test group
--- SKIP: TestRoutePreventAdditionalIngress (0.00s)
=== RUN TestSMCPAddons
test.go:128: This test is being skipped because it is not part of the "interop" test group
--- SKIP: TestSMCPAddons (0.00s)
=== RUN TestSMCPAnnotations
test.go:128: This test is being skipped because it is not part of the "interop" test group
--- SKIP: TestSMCPAnnotations (0.00s)
=== RUN TestLogging
test.go:128: This test is being skipped because it is not part of the "interop" test group
--- SKIP: TestLogging (0.00s)
=== RUN TestMustGather
test.go:128: This test is being skipped because it is not part of the "interop" test group
--- SKIP: TestMustGather (0.00s)
=== RUN TestSMCPSecret
test.go:128: This test is being skipped because it is not part of the "interop" test group
--- SKIP: TestSMCPSecret (0.00s)
=== RUN TestTLSVersionSMCP
smcp_tls_ssl_test.go:25: This test checks if the SMCP updated the tls.minProtocolVersion to TLSv1_0, TLSv1_1, and tls.maxProtocolVersion to TLSv1_3.
smcp_tls_ssl_test.go:34:
smcp_tls_ssl_test.go:34: STEP 1: Apply default SMCP and SMMR manifests
smcp_tls_ssl_test.go:34: Wait for condition condition=Ready on smcp istio-system/basic...
smcp_tls_ssl_test.go:34: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s
error: timed out waiting for the condition on servicemeshcontrolplanes/basic
error: exit status 1
smcp_tls_ssl_test.go:34: Wait for condition condition=Ready on smcp istio-system/basic...
smcp_tls_ssl_test.go:34: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s
error: timed out waiting for the condition on servicemeshcontrolplanes/basic
error: exit status 1
smcp_tls_ssl_test.go:34: Wait for condition condition=Ready on smcp istio-system/basic...
smcp_tls_ssl_test.go:34: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s
error: timed out waiting for the condition on servicemeshcontrolplanes/basic
error: exit status 1
smcp_tls_ssl_test.go:34: Wait for condition condition=Ready on smcp istio-system/basic...
smcp_tls_ssl_test.go:34: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s
error: timed out waiting for the condition on servicemeshcontrolplanes/basic
error: exit status 1
smcp_tls_ssl_test.go:34: Wait for condition condition=Ready on smcp istio-system/basic...
smcp_tls_ssl_test.go:34: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s
error: timed out waiting for the condition on servicemeshcontrolplanes/basic
error: exit status 1
smcp_tls_ssl_test.go:34: Wait for condition condition=Ready on smcp istio-system/basic...
smcp_tls_ssl_test.go:34: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
smcp_tls_ssl_test.go:34: Wait for smmr/default to be ready in namespace istio-system
=== RUN TestTLSVersionSMCP/minVersion_TLSv1_0
smcp_tls_ssl_test.go:37:
smcp_tls_ssl_test.go:37: STEP 1: Update SMCP spec.security.controlPlane.tls.minProtocolVersion: TLSv1_0
smcp_tls_ssl_test.go:39: Wait for condition condition=Ready on smcp istio-system/basic...
smcp_tls_ssl_test.go:39: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
subtest.go:39:
subtest.go:46: Subtest completed in 10.16s (excluding cleanup)
--- PASS: TestTLSVersionSMCP/minVersion_TLSv1_0 (10.16s)
=== RUN TestTLSVersionSMCP/minVersion_TLSv1_1
smcp_tls_ssl_test.go:43:
smcp_tls_ssl_test.go:43: STEP 1: Check to see if the SMCP minProtocolVersion is TLSv1_1
smcp_tls_ssl_test.go:45: Wait for condition condition=Ready on smcp istio-system/basic...
smcp_tls_ssl_test.go:45: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s
error: timed out waiting for the condition on servicemeshcontrolplanes/basic
error: exit status 1
smcp_tls_ssl_test.go:45: Wait for condition condition=Ready on smcp istio-system/basic...
smcp_tls_ssl_test.go:45: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
subtest.go:39:
subtest.go:46: Subtest completed in 11.19s (excluding cleanup)
--- PASS: TestTLSVersionSMCP/minVersion_TLSv1_1 (11.19s)
=== RUN TestTLSVersionSMCP/maxVersion_TLSv1_3
smcp_tls_ssl_test.go:49:
smcp_tls_ssl_test.go:49: STEP 1: Check to see if the SMCP maxProtocolVersion is TLSv1_3
smcp_tls_ssl_test.go:51: Wait for condition condition=Ready on smcp istio-system/basic...
smcp_tls_ssl_test.go:51: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
subtest.go:39:
subtest.go:46: Subtest completed in 10.04s (excluding cleanup)
--- PASS: TestTLSVersionSMCP/maxVersion_TLSv1_3 (10.04s)
test.go:91:
test.go:98: Test completed in 93.35s (excluding cleanup)
smcp_tls_ssl_test.go:26:
smcp_tls_ssl_test.go:26: Performing cleanup
smcp_tls_ssl_test.go:31: Wait for condition condition=Ready on smcp istio-system/basic...
smcp_tls_ssl_test.go:31: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
smcp_tls_ssl_test.go:26: Cleanup completed in 10.18s
--- PASS: TestTLSVersionSMCP (103.53s)
=== RUN TestSMMRAutoCreationAndDeletion
test.go:128: This test is being skipped because it is not part of the "interop" test group
--- SKIP: TestSMMRAutoCreationAndDeletion (0.00s)
=== RUN TestSMMReconciliation
test.go:128: This test is being skipped because it is not part of the "interop" test group
--- SKIP: TestSMMReconciliation (0.00s)
=== RUN TestSmoke
smoke_test.go:50: Smoke Test for SMCP: deploy, upgrade, bookinfo and uninstall
smoke_test.go:59: Deleting namespaces: [istio-system]
smoke_test.go:59: Creating namespaces: [istio-system]
=== RUN TestSmoke/upgrade_v2.5_to_v2.6
smoke_test.go:62: This test checks whether SMCP becomes ready after it's upgraded from v2.5 to v2.6 and bookinfo is still working after the upgrade and also test a clean installation of the target SMCP
smoke_test.go:68:
smoke_test.go:68: STEP 1: Install SMCP v2.5 and verify it becomes ready
smoke_test.go:234:
smoke_test.go:234: STEP 2: Install SMCP
smoke_test.go:236: Wait for condition condition=Ready on smcp istio-system/basic...
smoke_test.go:236: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s
error: timed out waiting for the condition on servicemeshcontrolplanes/basic
error: exit status 1
smoke_test.go:236: Wait for condition condition=Ready on smcp istio-system/basic...
smoke_test.go:236: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s
error: timed out waiting for the condition on servicemeshcontrolplanes/basic
error: exit status 1
smoke_test.go:236: Wait for condition condition=Ready on smcp istio-system/basic...
smoke_test.go:236: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s
error: timed out waiting for the condition on servicemeshcontrolplanes/basic
error: exit status 1
smoke_test.go:236: Wait for condition condition=Ready on smcp istio-system/basic...
smoke_test.go:236: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s
error: timed out waiting for the condition on servicemeshcontrolplanes/basic
error: exit status 1
smoke_test.go:236: Wait for condition condition=Ready on smcp istio-system/basic...
smoke_test.go:236: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
smoke_test.go:238:
smoke_test.go:238: STEP 3: Check SMCP is Ready
smoke_test.go:239: Wait for condition condition=Ready on smcp istio-system/basic...
smoke_test.go:239: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
smoke_test.go:71:
smoke_test.go:71: STEP 4: Install bookinfo pods and sleep pod
smoke_test.go:72: Install app "bookinfo" in namespace "bookinfo"
smoke_test.go:72: Create Bookinfo Gateway
smoke_test.go:72: Create Bookinfo Destination Rules (all)
smoke_test.go:72: Create Bookinfo Deployments
smoke_test.go:72: Install app "sleep" in namespace "bookinfo"
smoke_test.go:72: Wait for app bookinfo/bookinfo to be ready
smoke_test.go:72: Wait for app bookinfo/sleep to be ready
smoke_test.go:74:
smoke_test.go:74: STEP 5: Check if bookinfo traffic flows through the Proxy
smoke_test.go:188: SUCCESS: ProductPage returns 200 OK
smoke_test.go:188: SUCCESS: HTTP header 'server: istio-envoy' is present in the response
smoke_test.go:188: SUCCESS: HTTP header 'x-envoy-decorator-operation' is present in the response
smoke_test.go:77:
smoke_test.go:77: STEP 6: Upgrade SMCP from v2.5 to v2.6
smoke_test.go:234:
smoke_test.go:234: STEP 7: Install SMCP
smoke_test.go:236: Wait for condition condition=Ready on smcp istio-system/basic...
smoke_test.go:236: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
smoke_test.go:238:
smoke_test.go:238: STEP 8: Check SMCP is Ready
smoke_test.go:239: Wait for condition condition=Ready on smcp istio-system/basic...
smoke_test.go:239: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
smoke_test.go:80:
smoke_test.go:80: STEP 9: Check if bookinfo productpage is running through the Proxy after the upgrade
smoke_test.go:188: SUCCESS: ProductPage returns 200 OK
smoke_test.go:188: SUCCESS: HTTP header 'server: istio-envoy' is present in the response
smoke_test.go:188: SUCCESS: HTTP header 'x-envoy-decorator-operation' is present in the response
smoke_test.go:83:
smoke_test.go:83: STEP 10: Delete Bookinfo pods to force the update of the sidecar
smoke_test.go:142:
smoke_test.go:142: STEP 11: Verify if all the routes are created
smoke_test.go:243: Related issue: https://issues.redhat.com/browse/OSSM-4069
smoke_test.go:245: SUCCESS: Route grafana is created
smoke_test.go:245: SUCCESS: Route istio-ingressgateway is created
smoke_test.go:245: SUCCESS: Route kiali is created
smoke_test.go:245: SUCCESS: Route prometheus is created
smoke_test.go:145:
smoke_test.go:145: STEP 12: Check if bookinfo traffic flows through the Proxy
smoke_test.go:188: SUCCESS: ProductPage returns 200 OK
smoke_test.go:188: SUCCESS: HTTP header 'server: istio-envoy' is present in the response
smoke_test.go:188: SUCCESS: HTTP header 'x-envoy-decorator-operation' is present in the response
smoke_test.go:148:
smoke_test.go:148: STEP 13: verify proxy startup time. Expected to be less than 10 seconds
smoke_test.go:149: Jira related: https://issues.redhat.com/browse/OSSM-3586
smoke_test.go:204: Extracting proxy startup time and last transition time for all the pods in the namespace
smoke_test.go:88:
smoke_test.go:88: STEP 14: Check that previous version CNI resources were pruned and needed resources were preserved
smoke_test.go:89: Related issue: https://issues.redhat.com/browse/OSSM-2101
smoke_test.go:292: SUCCESS: Resource ClusterRole/ossm-cni was preserved
smoke_test.go:292: SUCCESS: Resource ClusterRoleBinding/ossm-cni was preserved
smoke_test.go:301: SUCCESS: Resource ConfigMap/ossm-cni-config-v2-5 was pruned
smoke_test.go:292: SUCCESS: Resource ConfigMap/ossm-cni-config-v2-6 was preserved
smoke_test.go:301: SUCCESS: Resource DaemonSet/istio-cni-node-v2-5 was pruned
smoke_test.go:292: SUCCESS: Resource DaemonSet/istio-cni-node-v2-6 was preserved
smoke_test.go:292: SUCCESS: Resource ServiceAccount/ossm-cni was preserved
subtest.go:39:
subtest.go:46: Subtest completed in 101.04s (excluding cleanup)
smoke_test.go:63:
smoke_test.go:63: Performing cleanup
smoke_test.go:64: Uninstalling Bookinfo from namespace "bookinfo"
smoke_test.go:64: Deleting resources from namespace bookinfo
smoke_test.go:64: Deleting resources from namespace bookinfo
smoke_test.go:64: Deleting resources from namespace bookinfo
smoke_test.go:64: Deleting resources from namespace bookinfo
smoke_test.go:65: Deleting namespaces: [istio-system]
smoke_test.go:65: Creating namespaces: [istio-system]
smoke_test.go:63: Cleanup completed in 23.63s
--- PASS: TestSmoke/upgrade_v2.5_to_v2.6 (124.67s)
=== RUN TestSmoke/install_smcp_v2.6
smoke_test.go:95: This test checks whether SMCP v2.6 install the SMCP version
smoke_test.go:100:
smoke_test.go:100: STEP 1: Install SMCP v2.6
smoke_test.go:234:
smoke_test.go:234: STEP 2: Install SMCP
smoke_test.go:236: Wait for condition condition=Ready on smcp istio-system/basic...
smoke_test.go:236: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s
error: timed out waiting for the condition on servicemeshcontrolplanes/basic
error: exit status 1
smoke_test.go:236: Wait for condition condition=Ready on smcp istio-system/basic...
smoke_test.go:236: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s
error: timed out waiting for the condition on servicemeshcontrolplanes/basic
error: exit status 1
smoke_test.go:236: Wait for condition condition=Ready on smcp istio-system/basic...
smoke_test.go:236: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
smoke_test.go:238:
smoke_test.go:238: STEP 3: Check SMCP is Ready
smoke_test.go:239: Wait for condition condition=Ready on smcp istio-system/basic...
smoke_test.go:239: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
smoke_test.go:103:
smoke_test.go:103: STEP 4: Install bookinfo pods and sleep pod
smoke_test.go:104: Install app "bookinfo" in namespace "bookinfo"
smoke_test.go:104: Create Bookinfo Gateway
smoke_test.go:104: Create Bookinfo Destination Rules (all)
smoke_test.go:104: Create Bookinfo Deployments
smoke_test.go:104: Install app "sleep" in namespace "bookinfo"
smoke_test.go:104: Wait for app bookinfo/bookinfo to be ready
smoke_test.go:104: Wait for app bookinfo/sleep to be ready
smoke_test.go:142:
smoke_test.go:142: STEP 5: Verify if all the routes are created
smoke_test.go:243: Related issue: https://issues.redhat.com/browse/OSSM-4069
smoke_test.go:245: SUCCESS: Route grafana is created
smoke_test.go:245: SUCCESS: Route istio-ingressgateway is created
smoke_test.go:245: FAILURE: Still waiting for route kiali to be created in namespace; expected to find the string 'kiali' in the output, but it wasn't found
smoke_test.go:245: SUCCESS: Route prometheus is created
smoke_test.go:244: --- Attempt 1/60 failed. Retrying...
smoke_test.go:245: SUCCESS: Route grafana is created
smoke_test.go:245: SUCCESS: Route istio-ingressgateway is created
smoke_test.go:245: FAILURE: Still waiting for route kiali to be created in namespace; expected to find the string 'kiali' in the output, but it wasn't found
smoke_test.go:245: SUCCESS: Route prometheus is created
smoke_test.go:244: --- Attempt 2/60 failed. Retrying...
smoke_test.go:245: SUCCESS: Route grafana is created
smoke_test.go:245: SUCCESS: Route istio-ingressgateway is created
smoke_test.go:245: FAILURE: Still waiting for route kiali to be created in namespace; expected to find the string 'kiali' in the output, but it wasn't found
smoke_test.go:245: SUCCESS: Route prometheus is created
smoke_test.go:244: --- Attempt 3/60 failed. Retrying...
smoke_test.go:245: SUCCESS: Route grafana is created
smoke_test.go:245: SUCCESS: Route istio-ingressgateway is created
smoke_test.go:245: FAILURE: Still waiting for route kiali to be created in namespace; expected to find the string 'kiali' in the output, but it wasn't found
smoke_test.go:245: SUCCESS: Route prometheus is created
smoke_test.go:244: --- Attempt 4/60 failed. Retrying...
smoke_test.go:245: SUCCESS: Route grafana is created
smoke_test.go:245: SUCCESS: Route istio-ingressgateway is created
smoke_test.go:245: SUCCESS: Route kiali is created
smoke_test.go:245: SUCCESS: Route prometheus is created
smoke_test.go:244: --- Attempt 5/60 successful; total time: 5.67s
smoke_test.go:145:
smoke_test.go:145: STEP 6: Check if bookinfo traffic flows through the Proxy
smoke_test.go:188: SUCCESS: ProductPage returns 200 OK
smoke_test.go:188: SUCCESS: HTTP header 'server: istio-envoy' is present in the response
smoke_test.go:188: SUCCESS: HTTP header 'x-envoy-decorator-operation' is present in the response
smoke_test.go:148:
smoke_test.go:148: STEP 7: verify proxy startup time. Expected to be less than 10 seconds
smoke_test.go:149: Jira related: https://issues.redhat.com/browse/OSSM-3586
smoke_test.go:204: Extracting proxy startup time and last transition time for all the pods in the namespace
smoke_test.go:154:
smoke_test.go:154: STEP 8: Verify Jaeger and SMCP tracing settings
smoke_test.go:155: Related issue: https://issues.redhat.com/browse/OSSM-6391
smoke_test.go:157: Verify SMCP tracing settings
smoke_test.go:158: SUCCESS: smcp .status.appliedValues.istio.tracing.enabled is false
smoke_test.go:167: SUCCESS: smcp .status.appliedValues.istio.tracing.provider is none
smoke_test.go:177: Verify that Jaeger resources (Route, Deployment, and Pod) were not created
smoke_test.go:178: SUCCESS: Jaeger resources (pod, deployment, route) were not found
subtest.go:39:
subtest.go:46: Subtest completed in 47.47s (excluding cleanup)
smoke_test.go:96:
smoke_test.go:96: Performing cleanup
smoke_test.go:97: Uninstalling Bookinfo from namespace "bookinfo"
smoke_test.go:97: Deleting resources from namespace bookinfo
smoke_test.go:97: Deleting resources from namespace bookinfo
smoke_test.go:97: Deleting resources from namespace bookinfo
smoke_test.go:97: Deleting resources from namespace bookinfo
smoke_test.go:96: Cleanup completed in 4.36s
--- PASS: TestSmoke/install_smcp_v2.6 (51.83s)
=== RUN TestSmoke/delete_smcp_v2.6
smoke_test.go:114: This test checks whether SMCP v2.6 deletion deletes all the resources
smoke_test.go:119:
smoke_test.go:119: STEP 1: Delete SMCP and SMMR in namespace istio-system
smoke_test.go:120: Deleting resources from namespace istio-system
setup.go:136: Deleting resources from namespace istio-system
smoke_test.go:122:
smoke_test.go:122: STEP 2: verify SMCP resources are deleted
smoke_test.go:124: FAILURE: Still waiting for resources to be deleted from namespace; expected to find the string 'No resources found in' in the output, but it wasn't found
smoke_test.go:123: --- Attempt 1/60 failed. Retrying...
smoke_test.go:124: FAILURE: Still waiting for resources to be deleted from namespace; expected to find the string 'No resources found in' in the output, but it wasn't found
smoke_test.go:123: --- Attempt 2/60 failed. Retrying...
smoke_test.go:124: FAILURE: Still waiting for resources to be deleted from namespace; expected to find the string 'No resources found in' in the output, but it wasn't found
smoke_test.go:123: --- Attempt 3/60 failed. Retrying...
smoke_test.go:124: FAILURE: Still waiting for resources to be deleted from namespace; expected to find the string 'No resources found in' in the output, but it wasn't found
smoke_test.go:123: --- Attempt 4/60 failed. Retrying...
smoke_test.go:124: FAILURE: Still waiting for resources to be deleted from namespace; expected to find the string 'No resources found in' in the output, but it wasn't found
smoke_test.go:123: --- Attempt 5/60 failed. Retrying...
smoke_test.go:124: FAILURE: Still waiting for resources to be deleted from namespace; expected to find the string 'No resources found in' in the output, but it wasn't found
smoke_test.go:123: --- Attempt 6/60 failed. Retrying...
smoke_test.go:124: FAILURE: Still waiting for resources to be deleted from namespace; expected to find the string 'No resources found in' in the output, but it wasn't found
smoke_test.go:123: --- Attempt 7/60 failed. Retrying...
smoke_test.go:124: SUCCESS: SMCP resources are deleted
smoke_test.go:123: --- Attempt 8/60 successful; total time: 10.59s
smoke_test.go:132:
smoke_test.go:132: STEP 3: Check that CNI resources were pruned
smoke_test.go:133: Related issue: https://issues.redhat.com/browse/OSSM-2101
smoke_test.go:317: SUCCESS: Resource ClusterRole/ossm-cni was pruned
smoke_test.go:317: SUCCESS: Resource ClusterRoleBinding/ossm-cni was pruned
smoke_test.go:317: SUCCESS: Resource ConfigMap/ossm-cni-config-v2-6 was pruned
smoke_test.go:317: SUCCESS: Resource DaemonSet/istio-cni-node-v2-6 was pruned
smoke_test.go:317: SUCCESS: Resource ServiceAccount/ossm-cni was pruned
subtest.go:39:
subtest.go:46: Subtest completed in 14.04s (excluding cleanup)
smoke_test.go:115:
smoke_test.go:115: Performing cleanup
smoke_test.go:116: Deleting namespaces: [istio-system]
smoke_test.go:116: Creating namespaces: [istio-system]
smoke_test.go:115: Cleanup completed in 6.79s
--- PASS: TestSmoke/delete_smcp_v2.6 (20.83s)
test.go:91:
test.go:98: Test completed in 225.44s (excluding cleanup)
smoke_test.go:52:
smoke_test.go:52: Performing cleanup
smoke_test.go:53: Deleting namespaces: [istio-system]
smoke_test.go:53: Creating namespaces: [istio-system]
smoke_test.go:52: Cleanup completed in 5.59s
--- PASS: TestSmoke (231.03s)
=== RUN TestTempoTracing
test.go:128: This test is being skipped because it is not part of the "interop" test group
--- SKIP: TestTempoTracing (0.00s)
=== RUN TestSSL
testssl_test.go:45:
testssl_test.go:45: STEP 1: Apply default SMCP and SMMR manifests
testssl_test.go:45: Wait for condition condition=Ready on smcp istio-system/basic...
testssl_test.go:45: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s
error: timed out waiting for the condition on servicemeshcontrolplanes/basic
error: exit status 1
testssl_test.go:45: Wait for condition condition=Ready on smcp istio-system/basic...
testssl_test.go:45: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s
error: timed out waiting for the condition on servicemeshcontrolplanes/basic
error: exit status 1
testssl_test.go:45: Wait for condition condition=Ready on smcp istio-system/basic...
testssl_test.go:45: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
testssl_test.go:45: Wait for smmr/default to be ready in namespace istio-system
testssl_test.go:47:
testssl_test.go:47: STEP 2: Patch SMCP to enable mTLS in dataPlane and controlPlane and set min/maxProtocolVersion, cipherSuites, and ecdhCurves
testssl_test.go:64: Wait for condition condition=Ready on smcp istio-system/basic...
testssl_test.go:64: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
testssl_test.go:66:
testssl_test.go:66: STEP 3: Install bookinfo with mTLS and testssl pod
testssl_test.go:68: Install app "bookinfo" in namespace "bookinfo"
testssl_test.go:68: Create Bookinfo Gateway
testssl_test.go:68: Create Bookinfo Destination Rules (all)
testssl_test.go:68: Create Bookinfo Deployments
testssl_test.go:68: Wait for app bookinfo/bookinfo to be ready
testssl_test.go:71:
testssl_test.go:71: STEP 4: Check testssl.sh results
testssl_test.go:75: SUCCESS: Received the TLSv1.2 needed in the testssl.sh results
testssl_test.go:75: SUCCESS: Results received the correct SHA256
testssl_test.go:75: SUCCESS: Results included: prime256v1
test.go:91:
test.go:98: Test completed in 52.50s (excluding cleanup)
testssl_test.go:31:
testssl_test.go:31: Performing cleanup
testssl_test.go:41: Uninstalling Bookinfo from namespace "bookinfo"
testssl_test.go:41: Deleting resources from namespace bookinfo
testssl_test.go:41: Deleting resources from namespace bookinfo
testssl_test.go:41: Deleting resources from namespace bookinfo
testssl_test.go:42: Deleting resources from namespace bookinfo
testssl_test.go:31: Cleanup completed in 4.91s
--- PASS: TestSSL (57.41s)
PASS
ok github.com/maistra/maistra-test-tool/pkg/tests/ossm 393.353s
test_helper_setup.go:78: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external]
=== RUN TestClusterWideMode
test.go:128: This test is being skipped because it is not part of the "interop" test group
--- SKIP: TestClusterWideMode (0.00s)
=== RUN TestOperatorCanReconcileSMCPWhenIstiodOffline
test.go:128: This test is being skipped because it is not part of the "interop" test group
--- SKIP: TestOperatorCanReconcileSMCPWhenIstiodOffline (0.00s)
=== RUN TestOperatorPodHonorsReadinessProbe
test.go:128: This test is being skipped because it is not part of the "interop" test group
--- SKIP: TestOperatorPodHonorsReadinessProbe (0.00s)
PASS
ok github.com/maistra/maistra-test-tool/pkg/tests/ossm/operator 1.051s
=== RUN TestMultiClusterFederationFailover
test.go:128: This test is being skipped because it is not part of the "interop" test group
--- SKIP: TestMultiClusterFederationFailover (0.00s)
=== RUN TestFederation
test.go:128: This test is being skipped because it is not part of the "interop" test group
--- SKIP: TestFederation (0.00s)
=== RUN TestFederationDifferentCerts
test.go:128: This test is being skipped because it is not part of the "interop" test group
--- SKIP: TestFederationDifferentCerts (0.00s)
PASS
ok github.com/maistra/maistra-test-tool/pkg/tests/ossm-federation 0.003s
test_helper_setup.go:78: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external]
=== RUN TestThreeScaleWasmPlugin
test.go:128: This test is being skipped because it is not part of the "interop" test group
--- SKIP: TestThreeScaleWasmPlugin (0.00s)
PASS
ok github.com/maistra/maistra-test-tool/pkg/tests/tasks/extensions 1.031s
test_helper_setup.go:78: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external]
=== RUN TestNativeSidecars
native_sidecars_test.go:52:
native_sidecars_test.go:52: STEP 1: Deploying SMCP
native_sidecars_test.go:54: Wait for condition condition=Ready on smcp istio-system/basic...
native_sidecars_test.go:54: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
native_sidecars_test.go:56:
native_sidecars_test.go:56: STEP 2: Install httpbin and sleep in mode
native_sidecars_test.go:57: Install app "httpbin" in namespace "foo"
native_sidecars_test.go:57: Install app "sleep" in namespace "foo"
native_sidecars_test.go:57: Wait for app foo/httpbin to be ready
native_sidecars_test.go:57: Wait for app foo/sleep to be ready
native_sidecars_test.go:57: FATAL: Command failed: kubectl -n foo rollout status deploy/sleep --timeout=4m0s
Waiting for deployment "sleep" rollout to finish: 0 out of 1 new replicas have been updated...
error: timed out waiting for the condition
error: exit status 1
test.go:91:
test.go:93: Test failed in 264.91s (excluding cleanup)
test.go:111: Capturing cluster state using must-gather registry.redhat.io/openshift-service-mesh/istio-must-gather-rhel8:2.6
test.go:115: /go/src/maistra-test-tool/tests/result-20240916214741/v2.6/failures-must-gather/20240916215859-TestNativeSidecars
native_sidecars_test.go:47:
native_sidecars_test.go:47: Performing cleanup
native_sidecars_test.go:48: Deleting resources from namespace istio-system
native_sidecars_test.go:49: Deleting namespaces: [foo]
native_sidecars_test.go:49: Creating namespaces: [foo]
native_sidecars_test.go:47: Cleanup completed in 30.27s
--- FAIL: TestNativeSidecars (344.86s)
=== RUN TestTproxy
tproxy_test.go:46:
tproxy_test.go:46: STEP 1: Apply default SMCP and SMMR manifests
tproxy_test.go:46: Wait for condition condition=Ready on smcp istio-system/basic...
tproxy_test.go:46: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s
error: timed out waiting for the condition on servicemeshcontrolplanes/basic
error: exit status 1
tproxy_test.go:46: Wait for condition condition=Ready on smcp istio-system/basic...
tproxy_test.go:46: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s
error: timed out waiting for the condition on servicemeshcontrolplanes/basic
error: exit status 1
tproxy_test.go:46: Wait for condition condition=Ready on smcp istio-system/basic...
tproxy_test.go:46: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
tproxy_test.go:46: Wait for smmr/default to be ready in namespace istio-system
tproxy_test.go:48:
tproxy_test.go:48: STEP 2: Add privileged SCC to the app namespace
tproxy_test.go:51:
tproxy_test.go:51: STEP 3: Install httpbin and sleep in tproxy mode
tproxy_test.go:52: Install app "httpbin" in namespace "foo"
tproxy_test.go:52: Install app "sleep" in namespace "foo"
tproxy_test.go:52: Wait for app foo/httpbin to be ready
tproxy_test.go:52: Wait for app foo/sleep to be ready
=== RUN TestTproxy/HTTP_request_from_ingress_gateway_to_httpbin_in_tproxy_mode
tproxy_test.go:58: SUCCESS: received expected status code 200
subtest.go:39:
subtest.go:46: Subtest completed in 1.22s (excluding cleanup)
--- PASS: TestTproxy/HTTP_request_from_ingress_gateway_to_httpbin_in_tproxy_mode (1.22s)
=== RUN TestTproxy/HTTP_request_from_tproxy_sleep_to_tproxy_httpbin
tproxy_test.go:63: SUCCESS: Request succeeded
subtest.go:39:
subtest.go:46: Subtest completed in 1.20s (excluding cleanup)
--- PASS: TestTproxy/HTTP_request_from_tproxy_sleep_to_tproxy_httpbin (1.20s)
test.go:91:
test.go:98: Test completed in 37.11s (excluding cleanup)
tproxy_test.go:42:
tproxy_test.go:42: Performing cleanup
tproxy_test.go:43: Deleting namespaces: [foo]
tproxy_test.go:43: Creating namespaces: [foo]
tproxy_test.go:42: Cleanup completed in 18.08s
--- PASS: TestTproxy (55.19s)
FAIL
FAIL github.com/maistra/maistra-test-tool/pkg/tests/tasks/injection 401.066s
test_helper_setup.go:78: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external]
=== RUN TestCustomPrometheus
test.go:128: This test is being skipped because it is not part of the "interop" test group
--- SKIP: TestCustomPrometheus (0.00s)
=== RUN TestFederatedOpenShiftMonitoring
test.go:128: This test is being skipped because it is not part of the "interop" test group
--- SKIP: TestFederatedOpenShiftMonitoring (0.00s)
=== RUN TestOpenShiftMonitoring
test.go:128: This test is being skipped because it is not part of the "interop" test group
--- SKIP: TestOpenShiftMonitoring (0.00s)
PASS
ok github.com/maistra/maistra-test-tool/pkg/tests/tasks/observability 1.090s
test_helper_setup.go:78: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external]
=== RUN TestAuthPolicy
auth_test.go:41: This test validates authentication policies.
auth_test.go:42: Doc reference: https://istio.io/latest/docs/tasks/security/authentication/authn-policy/
auth_test.go:48:
auth_test.go:48: STEP 1: Apply default SMCP and SMMR manifests
auth_test.go:48: Wait for condition condition=Ready on smcp istio-system/basic...
auth_test.go:48: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
auth_test.go:48: Wait for smmr/default to be ready in namespace istio-system
auth_test.go:50:
auth_test.go:50: STEP 2: Install httpbin and sleep in multiple namespaces
auth_test.go:51: Install app "httpbin" in namespace "foo"
auth_test.go:51: Install app "httpbin" in namespace "bar"
auth_test.go:51: Install app "httpbin" in namespace "legacy"
auth_test.go:51: Install app "sleep" in namespace "foo"
auth_test.go:51: Install app "sleep" in namespace "bar"
auth_test.go:51: Install app "sleep" in namespace "legacy"
auth_test.go:51: Wait for app foo/httpbin to be ready
auth_test.go:51: Wait for app bar/httpbin to be ready
auth_test.go:51: Wait for app legacy/httpbin to be ready
auth_test.go:51: Wait for app foo/sleep to be ready
auth_test.go:51: Wait for app bar/sleep to be ready
auth_test.go:51: Wait for app legacy/sleep to be ready
auth_test.go:62:
auth_test.go:62: STEP 3: Check connectivity from namespaces foo, bar, and legacy to namespaces foo and bar
sleep.go:134: SUCCESS: Got expected "200"
sleep.go:134: SUCCESS: Got expected "200"
sleep.go:134: SUCCESS: Got expected "200"
sleep.go:134: SUCCESS: Got expected "200"
sleep.go:134: SUCCESS: Got expected "200"
sleep.go:134: SUCCESS: Got expected "200"
=== RUN TestAuthPolicy/enable_auto_mTLS
auth_test.go:72:
auth_test.go:72: STEP 1: Check if mTLS is enabled in foo
auth_test.go:73: SUCCESS: mTLS is enabled in namespace foo (X-Forwarded-Client-Cert header is present)
auth_test.go:78:
auth_test.go:78: STEP 2: Check that mTLS is NOT enabled in legacy
auth_test.go:79: SUCCESS: mTLS is not enabled in namespace legacy (X-Forwarded-Client-Cert header is not present)
subtest.go:39:
subtest.go:46: Subtest completed in 2.27s (excluding cleanup)
--- PASS: TestAuthPolicy/enable_auto_mTLS (2.27s)
=== RUN TestAuthPolicy/enable_global_mTLS_STRICT_mode
auth_test.go:86:
auth_test.go:86: STEP 1: Enable mTLS STRICT mode globally
auth_test.go:91:
auth_test.go:91: STEP 2: Check whether requests from legacy namespace to foo and bar namespace return 000 placeholder
sleep.go:134: SUCCESS: Got expected "000"
sleep.go:134: SUCCESS: Got expected "000"
subtest.go:39:
subtest.go:46: Subtest completed in 3.07s (excluding cleanup)
auth_test.go:88:
auth_test.go:88: Performing cleanup
auth_test.go:89: Deleting resources from namespace istio-system
auth_test.go:88: Cleanup completed in 0.35s
--- PASS: TestAuthPolicy/enable_global_mTLS_STRICT_mode (3.42s)
=== RUN TestAuthPolicy/namespace_policy_mtls
auth_test.go:101:
auth_test.go:101: STEP 1: Enable mutual TLS per namespace
auth_test.go:107:
auth_test.go:107: STEP 2: Check whether requests succeed except from sleep namespace to foo namespace
sleep.go:134: SUCCESS: Got expected "200"
sleep.go:134: SUCCESS: Got expected "200"
sleep.go:134: SUCCESS: Got expected "200"
sleep.go:134: SUCCESS: Got expected "200"
sleep.go:134: SUCCESS: Got expected "CURL_FAILED"
sleep.go:134: SUCCESS: Got expected "200"
subtest.go:39:
subtest.go:46: Subtest completed in 7.33s (excluding cleanup)
auth_test.go:103:
auth_test.go:103: Performing cleanup
auth_test.go:104: Deleting resources from namespace foo
auth_test.go:103: Cleanup completed in 0.35s
--- PASS: TestAuthPolicy/namespace_policy_mtls (7.68s)
=== RUN TestAuthPolicy/workload_policy_mtls
auth_test.go:123:
auth_test.go:123: STEP 1: Enable mutual TLS per workload
auth_test.go:129:
auth_test.go:129: STEP 2: Check whether request failed from legacy namespace to bar namespace
sleep.go:134: SUCCESS: Got expected "CURL_FAILED"
auth_test.go:134:
auth_test.go:134: STEP 3: Refine mutual TLS per port
auth_test.go:137:
auth_test.go:137: STEP 4: Check whether request succeed from legacy namespace to bar namespace
sleep.go:134: SUCCESS: Got expected "200"
subtest.go:39:
subtest.go:46: Subtest completed in 4.05s (excluding cleanup)
auth_test.go:125:
auth_test.go:125: Performing cleanup
auth_test.go:126: Deleting resources from namespace bar
auth_test.go:125: Cleanup completed in 0.47s
--- PASS: TestAuthPolicy/workload_policy_mtls (4.52s)
=== RUN TestAuthPolicy/policy_precedence_mtls
auth_test.go:144:
auth_test.go:144: STEP 1: Overwrite foo namespace policy by a workload policy
auth_test.go:150:
auth_test.go:150: STEP 2: Check whether request succeed legacy namespace to foo namespace
sleep.go:134: SUCCESS: Got expected "200"
subtest.go:39:
subtest.go:46: Subtest completed in 1.66s (excluding cleanup)
auth_test.go:146:
auth_test.go:146: Performing cleanup
auth_test.go:147: Deleting resources from namespace foo
auth_test.go:146: Cleanup completed in 0.50s
--- PASS: TestAuthPolicy/policy_precedence_mtls (2.16s)
=== RUN TestAuthPolicy/end-user_JWT
auth_test.go:160: End-user authentication
auth_test.go:162:
auth_test.go:162: STEP 1: Apply httpbin gateway
auth_test.go:165:
auth_test.go:165: STEP 2: Check httpbin request is successful
auth_test.go:226: SUCCESS: received expected status code 200
auth_test.go:170:
auth_test.go:170: STEP 3: Apply a JWT policy
auth_test.go:176:
auth_test.go:176: STEP 4: Check whether request without token returns 200
auth_test.go:226: SUCCESS: received expected status code 200
auth_test.go:181:
auth_test.go:181: STEP 5: Check whether request with an invalid token returns 401
auth_test.go:226: FAILURE: expected status code 401 but got 200 OK
auth_test.go:182: --- Attempt 1/60 failed. Retrying...
auth_test.go:226: FAILURE: expected status code 401 but got 200 OK
auth_test.go:182: --- Attempt 2/60 failed. Retrying...
auth_test.go:226: SUCCESS: received expected status code 401
auth_test.go:182: --- Attempt 3/60 successful; total time: 2.20s
auth_test.go:186:
auth_test.go:186: STEP 6: Check whether request with a valid token returns 200
auth_test.go:226: SUCCESS: received expected status code 200
subtest.go:39:
subtest.go:46: Subtest completed in 3.68s (excluding cleanup)
auth_test.go:172:
auth_test.go:172: Performing cleanup
auth_test.go:173: Deleting resources from namespace istio-system
auth_test.go:172: Cleanup completed in 0.33s
--- PASS: TestAuthPolicy/end-user_JWT (4.01s)
=== RUN TestAuthPolicy/end-user_require_JWT
auth_test.go:197: Require a valid token
auth_test.go:226: FAILURE: expected status code 403 but got 200 OK
auth_test.go:203: --- Attempt 1/60 failed. Retrying...
auth_test.go:226: SUCCESS: received expected status code 403
auth_test.go:203: --- Attempt 2/60 successful; total time: 1.14s
subtest.go:39:
subtest.go:46: Subtest completed in 1.56s (excluding cleanup)
auth_test.go:199:
auth_test.go:199: Performing cleanup
auth_test.go:200: Deleting resources from namespace istio-system
auth_test.go:199: Cleanup completed in 0.35s
--- PASS: TestAuthPolicy/end-user_require_JWT (1.92s)
=== RUN TestAuthPolicy/end-user_require_JWT_per_path
auth_test.go:209: Require valid tokens per-path
auth_test.go:226: SUCCESS: received expected status code 403
auth_test.go:226: SUCCESS: received expected status code 200
subtest.go:39:
subtest.go:46: Subtest completed in 0.56s (excluding cleanup)
auth_test.go:211:
auth_test.go:211: Performing cleanup
auth_test.go:212: Deleting resources from namespace istio-system
auth_test.go:211: Cleanup completed in 0.35s
--- PASS: TestAuthPolicy/end-user_require_JWT_per_path (0.91s)
test.go:91:
test.go:98: Test completed in 47.22s (excluding cleanup)
auth_test.go:44:
auth_test.go:44: Performing cleanup
auth_test.go:45: Deleting namespaces: [foo bar legacy]
auth_test.go:45: Creating namespaces: [foo bar legacy]
auth_test.go:44: Cleanup completed in 35.36s
--- PASS: TestAuthPolicy (82.59s)
=== RUN TestMTlsMigration
mtls_migration_test.go:38:
mtls_migration_test.go:38: STEP 1: Apply default SMCP and SMMR manifests
mtls_migration_test.go:38: Wait for condition condition=Ready on smcp istio-system/basic...
mtls_migration_test.go:38: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
mtls_migration_test.go:38: Wait for smmr/default to be ready in namespace istio-system
mtls_migration_test.go:40:
mtls_migration_test.go:40: STEP 2: Install httpbin and sleep in multiple namespaces
mtls_migration_test.go:41: Install app "httpbin" in namespace "foo"
mtls_migration_test.go:41: Install app "httpbin" in namespace "bar"
mtls_migration_test.go:41: Install app "sleep" in namespace "foo"
mtls_migration_test.go:41: Install app "sleep" in namespace "bar"
mtls_migration_test.go:41: Install app "sleep" in namespace "legacy"
mtls_migration_test.go:41: Wait for app foo/httpbin to be ready
mtls_migration_test.go:41: Wait for app bar/httpbin to be ready
mtls_migration_test.go:41: Wait for app foo/sleep to be ready
mtls_migration_test.go:41: Wait for app bar/sleep to be ready
mtls_migration_test.go:41: Wait for app legacy/sleep to be ready
mtls_migration_test.go:51:
mtls_migration_test.go:51: STEP 3: Check connectivity from namespaces foo, bar, and legacy to namespace foo and bar
sleep.go:134: SUCCESS: Got expected "200"
sleep.go:134: SUCCESS: Got expected "200"
sleep.go:134: SUCCESS: Got expected "200"
sleep.go:134: SUCCESS: Got expected "200"
sleep.go:134: SUCCESS: Got expected "200"
sleep.go:134: SUCCESS: Got expected "200"
=== RUN TestMTlsMigration/mTLS_enabled_in_foo
mtls_migration_test.go:61:
mtls_migration_test.go:61: STEP 1: Apply strict mTLS in namespace foo
mtls_migration_test.go:64:
mtls_migration_test.go:64: STEP 2: Check connectivity from namespaces foo, bar, and legacy to namespace foo and bar (expect failure only from legacy to foo)
sleep.go:134: SUCCESS: Got expected "200"
sleep.go:134: SUCCESS: Got expected "200"
sleep.go:134: SUCCESS: Got expected "200"
sleep.go:134: SUCCESS: Got expected "200"
sleep.go:134: SUCCESS: Got expected "CURL_FAILED"
sleep.go:134: SUCCESS: Got expected "200"
subtest.go:39:
subtest.go:46: Subtest completed in 7.33s (excluding cleanup)
--- PASS: TestMTlsMigration/mTLS_enabled_in_foo (7.33s)
=== RUN TestMTlsMigration/mTLS_enabled_globally
mtls_migration_test.go:80:
mtls_migration_test.go:80: STEP 1: Apply strict mTLS for the entire mesh
mtls_migration_test.go:86:
mtls_migration_test.go:86: STEP 2: Check connectivity from namespaces foo, bar, and legacy to namespace foo and bar (expect failure from legacy)
sleep.go:134: SUCCESS: Got expected "200"
sleep.go:134: SUCCESS: Got expected "200"
sleep.go:134: SUCCESS: Got expected "200"
sleep.go:134: SUCCESS: Got expected "200"
sleep.go:134: SUCCESS: Got expected "CURL_FAILED"
sleep.go:134: SUCCESS: Got expected "CURL_FAILED"
subtest.go:39:
subtest.go:46: Subtest completed in 7.31s (excluding cleanup)
mtls_migration_test.go:82:
mtls_migration_test.go:82: Performing cleanup
mtls_migration_test.go:83: Deleting resources from namespace istio-system
mtls_migration_test.go:82: Cleanup completed in 0.35s
--- PASS: TestMTlsMigration/mTLS_enabled_globally (7.66s)
test.go:91:
test.go:98: Test completed in 31.49s (excluding cleanup)
mtls_migration_test.go:34:
mtls_migration_test.go:34: Performing cleanup
mtls_migration_test.go:35: Deleting namespaces: [foo bar legacy]
mtls_migration_test.go:35: Creating namespaces: [foo bar legacy]
mtls_migration_test.go:34: Cleanup completed in 18.47s
--- PASS: TestMTlsMigration (49.96s)
PASS
ok github.com/maistra/maistra-test-tool/pkg/tests/tasks/security/authentication 133.601s
test_helper_setup.go:78: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external]
=== RUN TestAuthorizationDenyAllow
deny_test.go:35: This test validates authorization policies with a deny action
deny_test.go:37:
deny_test.go:37: STEP 1: Apply default SMCP and SMMR manifests
deny_test.go:37: Wait for condition condition=Ready on smcp istio-system/basic...
deny_test.go:37: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
deny_test.go:37: Wait for smmr/default to be ready in namespace istio-system
deny_test.go:39:
deny_test.go:39: STEP 2: Install httpbin and sleep
deny_test.go:40: Install app "httpbin" in namespace "foo"
deny_test.go:40: Install app "sleep" in namespace "foo"
deny_test.go:40: Wait for app foo/httpbin to be ready
deny_test.go:40: Wait for app foo/sleep to be ready
deny_test.go:42:
deny_test.go:42: STEP 3: Check if httpbin returns 200 OK when no authorization policies are in place
sleep.go:134: 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:134: SUCCESS: Got expected "403"
deny_test.go:55:
deny_test.go:55: STEP 3: Verify that POST request is allowed
sleep.go:134: SUCCESS: Got expected "200"
subtest.go:39:
subtest.go:46: Subtest completed in 2.81s (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.33s
--- PASS: TestAuthorizationDenyAllow/explicitly_deny_request (3.14s)
=== 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:134: SUCCESS: Got expected "200"
deny_test.go:69:
deny_test.go:69: STEP 3: Verify that GET request with HTTP header 'x-token: guest' is denied
sleep.go:134: SUCCESS: Got expected "403"
subtest.go:39:
subtest.go:46: Subtest completed in 2.81s (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.35s
--- PASS: TestAuthorizationDenyAllow/deny_request_header (3.16s)
=== 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:134: 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:134: 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:134: SUCCESS: Got expected "403"
subtest.go:39:
subtest.go:46: Subtest completed in 4.45s (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.70s
--- PASS: TestAuthorizationDenyAllow/allow_request_path (5.14s)
test.go:91:
test.go:98: Test completed in 19.87s (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 17.81s
--- PASS: TestAuthorizationDenyAllow (37.67s)
=== 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:134: 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:134: FAILURE: Expect "403", but got a different response; expected to find the string '403' in the output, but it wasn't found
sleep.go:134: --- Attempt 1/60 failed. Retrying...
sleep.go:134: SUCCESS: Got expected "403"
sleep.go:134: --- Attempt 2/60 successful; total time: 3.39s
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:134: 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:134: SUCCESS: Got expected "200"
test.go:91:
test.go:98: Test completed in 21.41s (excluding cleanup)
ext_auth_test.go:122:
ext_auth_test.go:122: Performing cleanup
ext_auth_test.go:123: Deleting resources from namespace foo
ext_auth_test.go:122: Cleanup completed in 0.35s
ext_auth_test.go:115:
ext_auth_test.go:115: Performing cleanup
ext_auth_test.go:115: Cleanup completed in 0.57s
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.51s
ext_auth_test.go:41:
ext_auth_test.go:41: Performing cleanup
ext_auth_test.go:42: Deleting resources from namespace foo
ext_auth_test.go:42: Deleting resources from namespace foo
ext_auth_test.go:41: Cleanup completed in 1.51s
--- PASS: TestEnvoyExtAuthzHttpExtensionProvider (24.36s)
=== RUN TestEnvoyExtAuthzGrpcExtensionProvider
ext_auth_test.go:143: This test validates authorization policies with a JWT Token
ext_auth_test.go:147:
ext_auth_test.go:147: STEP 1: Apply default SMCP and SMMR manifests
ext_auth_test.go:147: Wait for condition condition=Ready on smcp istio-system/basic...
ext_auth_test.go:147: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
ext_auth_test.go:147: Wait for smmr/default to be ready in namespace istio-system
ext_auth_test.go:149:
ext_auth_test.go:149: STEP 2: Install httpbin and sleep
ext_auth_test.go:150: Install app "httpbin" in namespace "foo"
ext_auth_test.go:150: Install app "sleep" in namespace "foo"
ext_auth_test.go:150: Wait for app foo/httpbin to be ready
ext_auth_test.go:150: Wait for app foo/sleep to be ready
ext_auth_test.go:155:
ext_auth_test.go:155: STEP 3: Check if httpbin returns 200 OK when no authorization policies are in place
sleep.go:134: 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:134: FAILURE: Expect "403", but got a different response; expected to find the string '403' in the output, but it wasn't found
sleep.go:134: --- Attempt 1/60 failed. Retrying...
sleep.go:134: SUCCESS: Got expected "403"
sleep.go:134: --- Attempt 2/60 successful; total time: 3.38s
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:134: 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:134: SUCCESS: Got expected "200"
test.go:91:
test.go:98: Test completed in 22.08s (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.33s
ext_auth_test.go:197:
ext_auth_test.go:197: Performing cleanup
ext_auth_test.go:197: Cleanup completed in 0.52s
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.48s
ext_auth_test.go:151:
ext_auth_test.go:151: Performing cleanup
ext_auth_test.go:152: Deleting resources from namespace foo
ext_auth_test.go:152: Deleting resources from namespace foo
ext_auth_test.go:151: Cleanup completed in 1.60s
--- PASS: TestEnvoyExtAuthzGrpcExtensionProvider (25.01s)
=== RUN TestAuthorizationHTTPTraffic
http_test.go:42: This test validates authorization policies for HTTP traffic.
http_test.go:43: Doc reference: https://istio.io/v1.14/docs/tasks/security/authorization/authz-http/
http_test.go:45:
http_test.go:45: STEP 1: Apply default SMCP and SMMR manifests
http_test.go:45: Wait for condition condition=Ready on smcp istio-system/basic...
http_test.go:45: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
http_test.go:45: Wait for smmr/default to be ready in namespace istio-system
http_test.go:47:
http_test.go:47: STEP 2: Enable Service Mesh Control Plane mTLS
http_test.go:53:
http_test.go:53: STEP 3: Install bookinfo with mTLS
http_test.go:54: Install app "bookinfo" in namespace "bookinfo"
http_test.go:54: Create Bookinfo Gateway
http_test.go:54: Create Bookinfo Destination Rules (all)
http_test.go:54: Create Bookinfo Deployments
http_test.go:54: Wait for app bookinfo/bookinfo to be ready
http_test.go:55: Wait for condition condition=Ready on smcp istio-system/basic...
http_test.go:55: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
=== RUN TestAuthorizationHTTPTraffic/deny_all_http_traffic_to_bookinfo
http_test.go:63:
http_test.go:63: STEP 1: Apply policy that denies all HTTP requests to bookinfo workloads
http_test.go:66:
http_test.go:66: STEP 2: Verify that GET request is denied
http_test.go:68: SUCCESS: string 'RBAC: access denied' found in response
subtest.go:39:
subtest.go:46: Subtest completed in 0.55s (excluding cleanup)
http_test.go:60:
http_test.go:60: Performing cleanup
http_test.go:61: Deleting resources from namespace bookinfo
http_test.go:60: Cleanup completed in 0.35s
--- PASS: TestAuthorizationHTTPTraffic/deny_all_http_traffic_to_bookinfo (0.90s)
=== RUN TestAuthorizationHTTPTraffic/only_allow_HTTP_GET_request_to_the_productpage_workload
http_test.go:81:
http_test.go:81: STEP 1: Apply policies that allow access with GET method to the productpage workload and deny requests to other workloads
http_test.go:85:
http_test.go:85: STEP 2: Verify that GET request to the productpage is allowed and fetching other services is denied
http_test.go:87: FAILURE: expected to find the string 'Error fetching product details' in the response, but it wasn't found
http_test.go:87: FAILURE: expected to find the string 'Error fetching product reviews' in the response, but it wasn't found
http_test.go:86: --- Attempt 1/60 failed. Retrying...
http_test.go:87: SUCCESS: string 'Error fetching product details' found in response
http_test.go:87: SUCCESS: string 'Error fetching product reviews' found in response
http_test.go:86: --- Attempt 2/60 successful; total time: 1.19s
subtest.go:39:
subtest.go:46: Subtest completed in 2.01s (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.69s
--- PASS: TestAuthorizationHTTPTraffic/only_allow_HTTP_GET_request_to_the_productpage_workload (2.71s)
=== 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:39:
subtest.go:46: Subtest completed in 2.60s (excluding cleanup)
http_test.go:97:
http_test.go:97: Performing cleanup
http_test.go:98: Deleting resources from namespace bookinfo
http_test.go:99: Deleting resources from namespace bookinfo
http_test.go:100: Deleting resources from namespace bookinfo
http_test.go:101: Deleting resources from namespace bookinfo
http_test.go:102: Deleting resources from namespace bookinfo
http_test.go:97: Cleanup completed in 1.74s
--- PASS: TestAuthorizationHTTPTraffic/allow_HTTP_GET_requests_to_all_bookinfo_workloads (4.34s)
test.go:91:
test.go:98: Test completed in 26.41s (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 16.44s
--- PASS: TestAuthorizationHTTPTraffic (42.85s)
=== 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:134: 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:134: 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:134: SUCCESS: Got expected "200"
subtest.go:39:
subtest.go:46: Subtest completed in 2.35s (excluding cleanup)
--- PASS: TestAuthorizationJWT/Allow_requests_with_valid_JWT_and_list-typed_claims (2.35s)
=== 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:134: SUCCESS: Got expected "200"
jwt_test.go:74:
jwt_test.go:74: STEP 2: Verify request without a JWT is denied
sleep.go:134: SUCCESS: Got expected "403"
subtest.go:39:
subtest.go:46: Subtest completed in 2.73s (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.35s
--- PASS: TestAuthorizationJWT/Security_authorization_allow_JWT_requestPrincipal (3.08s)
=== 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:134: 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:134: SUCCESS: Got expected "403"
subtest.go:39:
subtest.go:46: Subtest completed in 2.76s (excluding cleanup)
jwt_test.go:79:
jwt_test.go:79: Performing cleanup
jwt_test.go:80: Deleting resources from namespace foo
jwt_test.go:79: Cleanup completed in 0.35s
--- PASS: TestAuthorizationJWT/Security_authorization_allow_JWT_claims_group (3.11s)
test.go:91:
test.go:98: Test completed in 17.55s (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.35s
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 18.24s
--- PASS: TestAuthorizationJWT (36.14s)
=== RUN TestAuthorizationTCPTraffic
tcp_test.go:36: This test validates authorization policies for TCP traffic.
tcp_test.go:37: Doc reference: https://istio.io/latest/docs/tasks/security/authorization/authz-tcp/
tcp_test.go:39:
tcp_test.go:39: STEP 1: Apply default SMCP and SMMR manifests
tcp_test.go:39: Wait for condition condition=Ready on smcp istio-system/basic...
tcp_test.go:39: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
tcp_test.go:39: Wait for smmr/default to be ready in namespace istio-system
tcp_test.go:41:
tcp_test.go:41: STEP 2: Install sleep and echo
tcp_test.go:42: Install app "sleep" in namespace "foo"
tcp_test.go:42: Install app "echo" in namespace "foo"
tcp_test.go:42: Wait for app foo/sleep to be ready
tcp_test.go:42: Wait for app foo/echo to be ready
tcp_test.go:44:
tcp_test.go:44: STEP 3: Verify sleep to echo TCP connections
tcp_test.go:87: SUCCESS: Got expected hello message on port 9000
tcp_test.go:87: SUCCESS: Got expected hello message on port 9001
=== RUN TestAuthorizationTCPTraffic/TCP_invalid_policy
tcp_test.go:52:
tcp_test.go:52: STEP 1: Apply an invalid policy to allow requests to port 9000 and add an HTTP GET field
tcp_test.go:55:
tcp_test.go:55: STEP 2: Check whether the requests to port 9000 and 9001 are denied
tcp_test.go:98: SUCCESS: Got expected connection rejected on port 9000
tcp_test.go:98: SUCCESS: Got expected connection rejected on port 9001
subtest.go:39:
subtest.go:46: Subtest completed in 2.82s (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.35s
--- PASS: TestAuthorizationTCPTraffic/TCP_invalid_policy (3.18s)
=== RUN TestAuthorizationTCPTraffic/TCP_deny_policy
tcp_test.go:64:
tcp_test.go:64: STEP 1: Apply a policy to deny tcp requests to port 9000
tcp_test.go:67:
tcp_test.go:67: STEP 2: Check whether the request to port 9000 is denied and request to port 9001 is accepted
tcp_test.go:98: SUCCESS: Got expected connection rejected on port 9000
tcp_test.go:87: SUCCESS: Got expected hello message on port 9001
subtest.go:39:
subtest.go:46: Subtest completed in 2.77s (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.34s
--- PASS: TestAuthorizationTCPTraffic/TCP_deny_policy (3.12s)
=== RUN TestAuthorizationTCPTraffic/TCP_ALLOW_policy
tcp_test.go:76:
tcp_test.go:76: STEP 1: Apply a policy to allow tcp requests to port 9000 and 9001
tcp_test.go:79:
tcp_test.go:79: STEP 2: Check whether the requests to port 9000 and 9001 are accepted
tcp_test.go:87: SUCCESS: Got expected hello message on port 9000
tcp_test.go:87: SUCCESS: Got expected hello message on port 9001
subtest.go:39:
subtest.go:46: Subtest completed in 2.81s (excluding cleanup)
tcp_test.go:73:
tcp_test.go:73: Performing cleanup
tcp_test.go:74: Deleting resources from namespace foo
tcp_test.go:73: Cleanup completed in 0.35s
--- PASS: TestAuthorizationTCPTraffic/TCP_ALLOW_policy (3.16s)
test.go:91:
test.go:98: Test completed in 20.56s (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.23s
--- PASS: TestAuthorizationTCPTraffic (32.78s)
=== RUN TestTrustDomainMigration
trust_domain_test.go:35: This test verifies trust domain migration
trust_domain_test.go:36: Doc reference: https://istio.io/latest/docs/tasks/security/authorization/authz-td-migration/
trust_domain_test.go:48:
trust_domain_test.go:48: STEP 1: Apply default SMCP and SMMR manifests
trust_domain_test.go:48: Wait for condition condition=Ready on smcp istio-system/basic...
trust_domain_test.go:48: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
trust_domain_test.go:48: Wait for smmr/default to be ready in namespace istio-system
trust_domain_test.go:50:
trust_domain_test.go:50: STEP 2: Apply old-td trust domain
trust_domain_test.go:91: Configure spec.security.trust.domain to "old-td" and alias ""
trust_domain_test.go:107: Wait for condition condition=Ready on smcp istio-system/basic...
trust_domain_test.go:107: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
trust_domain_test.go:53:
trust_domain_test.go:53: STEP 3: Install httpbin and sleep in multiple namespaces
trust_domain_test.go:54: Install app "httpbin" in namespace "foo"
trust_domain_test.go:54: Install app "sleep" in namespace "foo"
trust_domain_test.go:54: Install app "sleep" in namespace "bar"
trust_domain_test.go:54: Wait for app foo/httpbin to be ready
trust_domain_test.go:54: Wait for app foo/sleep to be ready
trust_domain_test.go:54: Wait for app bar/sleep to be ready
trust_domain_test.go:59:
trust_domain_test.go:59: STEP 4: Apply trust domain policy to foo namespace
=== RUN TestTrustDomainMigration/Case_1:_Verifying_policy_works
trust_domain_test.go:63:
trust_domain_test.go:63: STEP 1: Check whether requests to foo namespace return 403 to foo namespace and 200 to bar namespace
sleep.go:134: SUCCESS: Got expected "403"
sleep.go:134: SUCCESS: Got expected "200"
subtest.go:39:
subtest.go:46: Subtest completed in 2.44s (excluding cleanup)
--- PASS: TestTrustDomainMigration/Case_1:_Verifying_policy_works (2.44s)
=== 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:134: SUCCESS: Got expected "403"
sleep.go:134: SUCCESS: Got expected "403"
subtest.go:39:
subtest.go:46: Subtest completed in 20.58s (excluding cleanup)
--- PASS: TestTrustDomainMigration/Case_2:_Migrate_trust_domain_without_trust_domain_aliases (20.58s)
=== RUN TestTrustDomainMigration/Case_3:_Migrate_trust_domain_with_trust_domain_aliases
trust_domain_test.go:79:
trust_domain_test.go:79: STEP 1: Apply new-td trust domain with alias old-td
trust_domain_test.go:91: Configure spec.security.trust.domain to "new-td" and alias "old-td"
trust_domain_test.go:107: Wait for condition condition=Ready on smcp istio-system/basic...
trust_domain_test.go:107: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
trust_domain_test.go:83:
trust_domain_test.go:83: STEP 2: Check whether requests to foo namespace return 403 to foo and 200 to bar namespaces
sleep.go:134: SUCCESS: Got expected "403"
sleep.go:134: SUCCESS: Got expected "200"
subtest.go:39:
subtest.go:46: Subtest completed in 26.06s (excluding cleanup)
--- PASS: TestTrustDomainMigration/Case_3:_Migrate_trust_domain_with_trust_domain_aliases (26.06s)
test.go:91:
test.go:98: Test completed in 66.04s (excluding cleanup)
trust_domain_test.go:38:
trust_domain_test.go:38: Performing cleanup
trust_domain_test.go:39: Deleting resources from namespace foo
trust_domain_test.go:42: Deleting resources from namespace foo
trust_domain_test.go:42: Deleting resources from namespace foo
trust_domain_test.go:42: Deleting resources from namespace bar
trust_domain_test.go:38: Cleanup completed in 3.37s
--- PASS: TestTrustDomainMigration (69.41s)
PASS
ok github.com/maistra/maistra-test-tool/pkg/tests/tasks/security/authorization 269.308s
test_helper_setup.go:78: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external]
=== RUN TestAlpnFilterDisabledForNonIstioMtls
test.go:128: This test is being skipped because it is not part of the "interop" test group
--- SKIP: TestAlpnFilterDisabledForNonIstioMtls (0.00s)
=== RUN TestExternalCertificate
external_ca_test.go:48:
external_ca_test.go:48: STEP 1: Uninstall existing SMCP
external_ca_test.go:49: Deleting namespaces: [istio-system]
external_ca_test.go:49: Creating namespaces: [istio-system]
external_ca_test.go:51:
external_ca_test.go:51: STEP 2: Create cacerts secret
external_ca_test.go:60:
external_ca_test.go:60: STEP 3: Apply SMCP to configure certificate authority to use cacerts secret
external_ca_test.go:62: Wait for condition condition=Ready on smcp istio-system/basic...
external_ca_test.go:62: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
external_ca_test.go:64:
external_ca_test.go:64: STEP 4: Install bookinfo
external_ca_test.go:65: Install app "bookinfo" in namespace "bookinfo"
external_ca_test.go:65: Create Bookinfo Gateway
external_ca_test.go:65: Create Bookinfo Destination Rules (all)
external_ca_test.go:65: Create Bookinfo Deployments
external_ca_test.go:65: Wait for app bookinfo/bookinfo to be ready
external_ca_test.go:67:
external_ca_test.go:67: STEP 5: Wait for response from productpage app
external_ca_test.go:69: SUCCESS: received expected status code 200
external_ca_test.go:74:
external_ca_test.go:74: STEP 6: Retrieve certificates from bookinfo details service
external_ca_test.go:86: SUCCESS: The cert-chain certificates are present in the certificates sent by the tested service
external_ca_test.go:90: SUCCESS: Certificate trust chain successfully verified
test.go:91:
test.go:98: Test completed in 36.77s (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.51s
--- PASS: TestExternalCertificate (51.28s)
PASS
ok github.com/maistra/maistra-test-tool/pkg/tests/tasks/security/certificate 52.336s
test_helper_setup.go:78: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external]
=== RUN TestIstioCsr
test.go:128: This test is being skipped because it is not part of the "interop" test group
--- SKIP: TestIstioCsr (0.00s)
=== RUN TestPluginCaCert
test.go:128: This test is being skipped because it is not part of the "interop" test group
--- SKIP: TestPluginCaCert (0.00s)
PASS
ok github.com/maistra/maistra-test-tool/pkg/tests/tasks/security/certmanager 1.045s
test_helper_setup.go:78: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external]
=== RUN TestCircuitBreaking
circuit_breaking_test.go:38: This test checks whether the circuit breaker functions correctly. Check documentation: https://istio.io/latest/docs/tasks/traffic-management/circuit-breaking/
circuit_breaking_test.go:44:
circuit_breaking_test.go:44: STEP 1: Apply default SMCP and SMMR manifests
circuit_breaking_test.go:44: Wait for condition condition=Ready on smcp istio-system/basic...
circuit_breaking_test.go:44: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s
error: timed out waiting for the condition on servicemeshcontrolplanes/basic
error: exit status 1
circuit_breaking_test.go:44: Wait for condition condition=Ready on smcp istio-system/basic...
circuit_breaking_test.go:44: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s
error: timed out waiting for the condition on servicemeshcontrolplanes/basic
error: exit status 1
circuit_breaking_test.go:44: Wait for condition condition=Ready on smcp istio-system/basic...
circuit_breaking_test.go:44: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
circuit_breaking_test.go:44: Wait for smmr/default to be ready in namespace istio-system
circuit_breaking_test.go:46:
circuit_breaking_test.go:46: STEP 2: Install httpbin and fortio
circuit_breaking_test.go:47: Install app "httpbin" in namespace "bookinfo"
circuit_breaking_test.go:47: Install app "fortio" in namespace "bookinfo"
circuit_breaking_test.go:47: Wait for app bookinfo/httpbin to be ready
circuit_breaking_test.go:47: Wait for app bookinfo/fortio to be ready
circuit_breaking_test.go:49:
circuit_breaking_test.go:49: STEP 3: Configure circuit breaker destination rule
circuit_breaking_test.go:52:
circuit_breaking_test.go:52: STEP 4: Verify connection with curl: expect 200 OK
circuit_breaking_test.go:55: SUCCESS: Got expected 200 OK response from httpbin
circuit_breaking_test.go:66:
circuit_breaking_test.go:66: STEP 5: Trip the circuit breaker by sending 50 requests to httpbin with 2 connections
circuit_breaking_test.go:67: We expect request with response code 503
circuit_breaking_test.go:79: Success rate 200: 26%
circuit_breaking_test.go:80: Success rate 503: 74%
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 : 37
test.go:91:
test.go:98: Test completed in 35.06s (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 17.90s
--- PASS: TestCircuitBreaking (52.96s)
=== 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.108s, which is within the expected range 4s - 14s
fault_injection_test.go:65: SUCCESS: productpage shows 'error fetching product reviews', which is expected
subtest.go:39:
subtest.go:46: Subtest completed in 7.09s (excluding cleanup)
--- PASS: TestFaultInjection/ratings-fault-delay (7.09s)
=== RUN TestFaultInjection/ratings-fault-abort
fault_injection_test.go:82:
fault_injection_test.go:82: STEP 1: check if productpage shows ratings service as unavailable due to abort injection
fault_injection_test.go:84: SUCCESS: productpage shows 'ratings service is currently unavailable' as expected
subtest.go:39:
subtest.go:46: Subtest completed in 1.47s (excluding cleanup)
--- PASS: TestFaultInjection/ratings-fault-abort (1.47s)
test.go:91:
test.go:98: Test completed in 22.73s (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 13.35s
--- PASS: TestFaultInjection (36.09s)
=== 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
Please sign in
The Comedy of Errors
Summary: Wikipedia Summary: The Comedy of Errors is one of William Shakespeare's early plays. It is his shortest and one of his most farcical comedies, with a major part of the humour coming from slapstick and mistaken identity, in addition to puns and word play.
Book Details
Type:
paperback
Pages:
200
Publisher:
PublisherA
Language:
English
ISBN-10:
1234567890
ISBN-13:
123-1234567890
Book Reviews
An extremely entertaining play by Shakespeare. The slapstick humour is refreshing!
Reviewer1
Absolutely fun and entertaining. The play lacks thematic depth when compared to other plays by Shakespeare.
Reviewer2
Reviews served by:
reviews-v1-686cd989df-9gmf2
request_routing_test.go:54:
request_routing_test.go:54: STEP 1: get productpage without logging in; expect to get reviews-v1 (5x)
request_routing_test.go:57: SUCCESS: productpage called reviews-v1
request_routing_test.go:57: SUCCESS: productpage called reviews-v1
request_routing_test.go:57: SUCCESS: productpage called reviews-v1
request_routing_test.go:57: SUCCESS: productpage called reviews-v1
request_routing_test.go:57: SUCCESS: productpage called reviews-v1
subtest.go:39:
subtest.go:46: Subtest completed in 2.23s (excluding cleanup)
--- PASS: TestRequestRouting/not-logged-in (2.23s)
=== RUN TestRequestRouting/logged-in
request_routing_test.go:73:
request_routing_test.go:73: STEP 1: get productpage as logged-in user; expect to get reviews-v2 (5x)
request_routing_test.go:76: SUCCESS: productpage called reviews-v2
request_routing_test.go:76: SUCCESS: productpage called reviews-v2
request_routing_test.go:76: SUCCESS: productpage called reviews-v2
request_routing_test.go:76: SUCCESS: productpage called reviews-v2
request_routing_test.go:76: SUCCESS: productpage called reviews-v2
subtest.go:39:
subtest.go:46: Subtest completed in 1.97s (excluding cleanup)
--- PASS: TestRequestRouting/logged-in (1.97s)
test.go:91:
test.go:98: Test completed in 17.00s (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.80s
--- PASS: TestRequestRouting (30.80s)
=== 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
Please sign in
The Comedy of Errors
Summary: Wikipedia Summary: The Comedy of Errors is one of William Shakespeare's early plays. It is his shortest and one of his most farcical comedies, with a major part of the humour coming from slapstick and mistaken identity, in addition to puns and word play.
Book Details
Type:
paperback
Pages:
200
Publisher:
PublisherA
Language:
English
ISBN-10:
1234567890
ISBN-13:
123-1234567890
Book Reviews
An extremely entertaining play by Shakespeare. The slapstick humour is refreshing!
Reviewer1
Absolutely fun and entertaining. The play lacks thematic depth when compared to other plays by Shakespeare.
Reviewer2
Reviews served by:
reviews-v1-686cd989df-sn2ts
request_timeouts_test.go:59: SUCCESS: received normal productpage response
request_timeouts_test.go:68:
request_timeouts_test.go:68: STEP 4: apply delay and timeout in VirtualServices
request_timeouts_test.go:71:
request_timeouts_test.go:71: STEP 5: check if productpage shows 'error fetching product reviews' due to delay and timeout injection
request_timeouts_test.go:74: SUCCESS: productpage shows 'error fetching product reviews', which is expected
request_timeouts_test.go:74: SUCCESS: productpage shows 'error fetching product reviews', which is expected
request_timeouts_test.go:74: SUCCESS: productpage shows 'error fetching product reviews', which is expected
request_timeouts_test.go:74: SUCCESS: productpage shows 'error fetching product reviews', which is expected
request_timeouts_test.go:74: SUCCESS: productpage shows 'error fetching product reviews', which is expected
request_timeouts_test.go:74: SUCCESS: productpage shows 'error fetching product reviews', which is expected
test.go:91:
test.go:98: Test completed in 20.82s (excluding cleanup)
request_timeouts_test.go:40:
request_timeouts_test.go:40: Performing cleanup
request_timeouts_test.go:41: Deleting namespaces: [bookinfo]
request_timeouts_test.go:41: Creating namespaces: [bookinfo]
request_timeouts_test.go:40: Cleanup completed in 13.47s
--- PASS: TestRequestTimeouts (34.30s)
=== RUN TestMirroring
traffic_mirroring_test.go:38:
traffic_mirroring_test.go:38: STEP 1: Apply default SMCP and SMMR manifests
traffic_mirroring_test.go:38: Wait for condition condition=Ready on smcp istio-system/basic...
traffic_mirroring_test.go:38: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
traffic_mirroring_test.go:38: Wait for smmr/default to be ready in namespace istio-system
traffic_mirroring_test.go:40:
traffic_mirroring_test.go:40: STEP 2: Install httpbin-v1, httpbin-v2, and sleep
traffic_mirroring_test.go:41: Install app "httpbin-v1" in namespace "bookinfo"
traffic_mirroring_test.go:41: Install app "httpbin-v2" in namespace "bookinfo"
traffic_mirroring_test.go:41: Install app "sleep" in namespace "bookinfo"
traffic_mirroring_test.go:41: Wait for app bookinfo/httpbin-v1 to be ready
traffic_mirroring_test.go:41: Wait for app bookinfo/httpbin-v2 to be ready
traffic_mirroring_test.go:41: Wait for app bookinfo/sleep to be ready
=== RUN TestMirroring/no_mirroring
traffic_mirroring_test.go:49:
traffic_mirroring_test.go:49: STEP 1: sending HTTP request from sleep to httpbin-v1, not expecting mirroring to v2
traffic_mirroring_test.go:58: SUCCESS: request received by httpbin-v1
traffic_mirroring_test.go:66: SUCCESS: request not mirrored to httpbin-v2
subtest.go:39:
subtest.go:46: Subtest completed in 3.43s (excluding cleanup)
--- PASS: TestMirroring/no_mirroring (3.43s)
=== RUN TestMirroring/mirroring_to_httpbin-v2
traffic_mirroring_test.go:79:
traffic_mirroring_test.go:79: STEP 1: sending HTTP request from sleep to httpbin-v1, expecting mirroring to v2
traffic_mirroring_test.go:88: SUCCESS: request received by httpbin-v1
traffic_mirroring_test.go:96: SUCCESS: request mirrored to httpbin-v2
subtest.go:39:
subtest.go:46: Subtest completed in 3.36s (excluding cleanup)
--- PASS: TestMirroring/mirroring_to_httpbin-v2 (3.36s)
test.go:91:
test.go:98: Test completed in 14.27s (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.00s
--- PASS: TestMirroring (32.27s)
=== RUN TestTrafficShifting
traffic_shifting_test.go:46:
traffic_shifting_test.go:46: STEP 1: Apply default SMCP and SMMR manifests
traffic_shifting_test.go:46: Wait for condition condition=Ready on smcp istio-system/basic...
traffic_shifting_test.go:46: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
traffic_shifting_test.go:46: Wait for smmr/default to be ready in namespace istio-system
traffic_shifting_test.go:48:
traffic_shifting_test.go:48: STEP 2: Install Bookinfo
traffic_shifting_test.go:49: Install app "bookinfo" in namespace "bookinfo"
traffic_shifting_test.go:49: Create Bookinfo Gateway
traffic_shifting_test.go:49: Create Bookinfo Destination Rules (all)
traffic_shifting_test.go:49: Create Bookinfo Deployments
traffic_shifting_test.go:49: Wait for app bookinfo/bookinfo to be ready
Simple Bookstore App
Please sign in
The Comedy of Errors
Summary: Wikipedia Summary: The Comedy of Errors is one of William Shakespeare's early plays. It is his shortest and one of his most farcical comedies, with a major part of the humour coming from slapstick and mistaken identity, in addition to puns and word play.
Book Details
Type:
paperback
Pages:
200
Publisher:
PublisherA
Language:
English
ISBN-10:
1234567890
ISBN-13:
123-1234567890
Book Reviews
An extremely entertaining play by Shakespeare. The slapstick humour is refreshing!
Reviewer1
Absolutely fun and entertaining. The play lacks thematic depth when compared to other plays by Shakespeare.
Reviewer2
Reviews served by:
reviews-v1-686cd989df-cn5ld
=== RUN TestTrafficShifting/50_percent_to_v3
traffic_shifting_test.go:58:
traffic_shifting_test.go:58: STEP 1: configure VirtualService to split traffic 50% to v1 and 50% to v3
traffic_shifting_test.go:61:
traffic_shifting_test.go:61: STEP 2: Make 100 requests and check if v1 and v3 get 50% of requests each (tolerance: 20%)
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:128: SUCCESS: 56/100 responses matched modified-productpage-normal-user-v3.html (actual rate 0.560000, expected 0.500000, tolerance 0.200000)
traffic_shifting_test.go:128: SUCCESS: 44/100 responses matched modified-productpage-normal-user-v1.html (actual rate 0.440000, expected 0.500000, tolerance 0.200000)
subtest.go:39:
subtest.go:46: Subtest completed in 9.67s (excluding cleanup)
--- PASS: TestTrafficShifting/50_percent_to_v3 (9.67s)
=== RUN TestTrafficShifting/100_percent_to_v3
traffic_shifting_test.go:73:
traffic_shifting_test.go:73: STEP 1: configure VirtualService to send all traffic to v3
traffic_shifting_test.go:76:
traffic_shifting_test.go:76: STEP 2: Make 100 requests and check if all of them go to v3 (tolerance: 0%)
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:130: FAILURE: 1/100 responses matched modified-productpage-normal-user-v1.html (actual rate 0.010000, expected 0.000000, tolerance 0.000000)
traffic_shifting_test.go:130: FAILURE: 99/100 responses matched modified-productpage-normal-user-v3.html (actual rate 0.990000, expected 1.000000, tolerance 0.000000)
traffic_shifting_test.go:77: --- Attempt 1/60 failed. Retrying...
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:91: SUCCESS: received expected status code 200
traffic_shifting_test.go:128: SUCCESS: 100/100 responses matched modified-productpage-normal-user-v3.html (actual rate 1.000000, expected 1.000000, tolerance 0.000000)
traffic_shifting_test.go:77: --- Attempt 2/60 successful; total time: 17.06s
subtest.go:39:
subtest.go:46: Subtest completed in 17.77s (excluding cleanup)
--- PASS: TestTrafficShifting/100_percent_to_v3 (17.77s)
test.go:91:
test.go:98: Test completed in 41.44s (excluding cleanup)
traffic_shifting_test.go:40:
traffic_shifting_test.go:40: Performing cleanup
traffic_shifting_test.go:41: Deleting namespaces: [bookinfo]
traffic_shifting_test.go:41: Creating namespaces: [bookinfo]
traffic_shifting_test.go:40: Cleanup completed in 14.05s
--- PASS: TestTrafficShifting (55.49s)
=== RUN TestTcpTrafficShifting
traffic_tcp_shifting_test.go:41: This test validates traffic shifting for TCP traffic.
traffic_tcp_shifting_test.go:42: Doc reference: https://istio.io/v1.14/docs/tasks/traffic-management/tcp-traffic-shifting/
traffic_tcp_shifting_test.go:44:
traffic_tcp_shifting_test.go:44: STEP 1: Apply default SMCP and SMMR manifests
traffic_tcp_shifting_test.go:44: Wait for condition condition=Ready on smcp istio-system/basic...
traffic_tcp_shifting_test.go:44: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
traffic_tcp_shifting_test.go:44: Wait for smmr/default to be ready in namespace istio-system
traffic_tcp_shifting_test.go:46:
traffic_tcp_shifting_test.go:46: STEP 2: Install sleep, echoV1 and echoV2
traffic_tcp_shifting_test.go:47: Install app "sleep" in namespace "foo"
traffic_tcp_shifting_test.go:47: Install app "echo-v1" in namespace "foo"
traffic_tcp_shifting_test.go:47: Install app "echo-v2" in namespace "foo"
traffic_tcp_shifting_test.go:47: Wait for app foo/sleep to be ready
traffic_tcp_shifting_test.go:47: Wait for app foo/echo-v1 to be ready
traffic_tcp_shifting_test.go:47: Wait for app foo/echo-v2 to be ready
=== RUN TestTcpTrafficShifting/tcp_shift_100_percent_to_v1
traffic_tcp_shifting_test.go:54:
traffic_tcp_shifting_test.go:54: STEP 1: Shifting all TCP traffic to v1
traffic_tcp_shifting_test.go:57:
traffic_tcp_shifting_test.go:57: STEP 2: make 20 requests and checking if all of them go to v1 (tolerance: 0%)
traffic_tcp_shifting_test.go:114: SUCCESS: 20/20 responses matched one (actual rate 1.000000, expected 1.000000, tolerance 0.000000)
subtest.go:39:
subtest.go:46: Subtest completed in 2.07s (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.61s
--- PASS: TestTcpTrafficShifting/tcp_shift_100_percent_to_v1 (2.68s)
=== 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: 80/100 responses matched one (actual rate 0.800000, expected 0.800000, tolerance 0.100000)
traffic_tcp_shifting_test.go:114: SUCCESS: 20/100 responses matched two (actual rate 0.200000, expected 0.200000, tolerance 0.100000)
subtest.go:39:
subtest.go:46: Subtest completed in 2.14s (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.61s
--- PASS: TestTcpTrafficShifting/tcp_shift_20_percent_to_v2 (2.75s)
test.go:91:
test.go:98: Test completed in 13.43s (excluding cleanup)
traffic_tcp_shifting_test.go:37:
traffic_tcp_shifting_test.go:37: Performing cleanup
traffic_tcp_shifting_test.go:38: Deleting resources from namespace foo
traffic_tcp_shifting_test.go:38: Deleting resources from namespace foo
traffic_tcp_shifting_test.go:38: Deleting resources from namespace foo
traffic_tcp_shifting_test.go:37: Cleanup completed in 1.89s
--- PASS: TestTcpTrafficShifting (15.32s)
PASS
ok github.com/maistra/maistra-test-tool/pkg/tests/tasks/traffic 258.241s
test_helper_setup.go:78: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external]
=== RUN TestAccessExternalServices
access_external_services_test.go:43: This test validates accesses to external services
access_external_services_test.go:45:
access_external_services_test.go:45: STEP 1: Apply default SMCP and SMMR manifests
access_external_services_test.go:45: Wait for condition condition=Ready on smcp istio-system/basic...
access_external_services_test.go:45: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
access_external_services_test.go:45: Wait for smmr/default to be ready in namespace istio-system
access_external_services_test.go:47:
access_external_services_test.go:47: STEP 2: Install sleep into bookinfo
access_external_services_test.go:48: Install app "sleep" in namespace "bookinfo"
access_external_services_test.go:48: Wait for app bookinfo/sleep to be ready
access_external_services_test.go:50:
access_external_services_test.go:50: STEP 3: Install httpbin in mesh-external
access_external_services_test.go:52: Install app "httpbin" in namespace "mesh-external"
access_external_services_test.go:52: Wait for app mesh-external/httpbin to be ready
access_external_services_test.go:54:
access_external_services_test.go:54: STEP 4: Make request to external httpbin from sleep
sleep.go:134: SUCCESS: Got expected "200"
access_external_services_test.go:58:
access_external_services_test.go:58: STEP 5: Make sure that external httpbin was not discovered by Istio
istioctl.go:26: SUCCESS: Httpbin was not discovered
access_external_services_test.go:66:
access_external_services_test.go:66: STEP 6: Patch outbound traffic policy to registry only - see https://istio.io/latest/docs/tasks/traffic-management/egress/egress-control/#envoy-passthrough-to-external-services
access_external_services_test.go:80:
access_external_services_test.go:80: STEP 7: Make request to external httpbin from sleep again, and expect it denied
sleep.go:134: SUCCESS: Got expected "CURL_FAILED"
=== RUN TestAccessExternalServices/allow_request_to_external_httpbin_after_applying_ServiceEntry
access_external_services_test.go:88:
access_external_services_test.go:88: STEP 1: Apply a ServiceEntry for external httpbin
access_external_services_test.go:91:
access_external_services_test.go:91: STEP 2: Send a request to external httpbin
sleep.go:134: SUCCESS: Got expected "200"
subtest.go:39:
subtest.go:46: Subtest completed in 1.61s (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.38s
--- PASS: TestAccessExternalServices/allow_request_to_external_httpbin_after_applying_ServiceEntry (2.00s)
test.go:91:
test.go:98: Test completed in 14.25s (excluding cleanup)
access_external_services_test.go:35:
access_external_services_test.go:35: Performing cleanup
access_external_services_test.go:36: Deleting resources from namespace bookinfo
access_external_services_test.go:35: Cleanup completed in 1.45s
--- PASS: TestAccessExternalServices (15.70s)
=== 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:134: SUCCESS: Got expected "200"
subtest.go:39:
subtest.go:46: Subtest completed in 3.98s (excluding cleanup)
egress_gateways_test.go:51:
egress_gateways_test.go:51: Performing cleanup
egress_gateways_test.go:52: Deleting resources from namespace bookinfo
egress_gateways_test.go:51: Cleanup completed in 0.63s
egress_gateways_test.go:45:
egress_gateways_test.go:45: Performing cleanup
egress_gateways_test.go:46: Deleting resources from namespace bookinfo
egress_gateways_test.go:45: Cleanup completed in 0.35s
--- PASS: TestEgressGateways/HTTP (4.95s)
=== 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:134: SUCCESS: Got expected "200"
subtest.go:39:
subtest.go:46: Subtest completed in 11.11s (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.61s
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.37s
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.35s
--- PASS: TestEgressGateways/HTTPS (12.44s)
test.go:91:
test.go:98: Test completed in 33.19s (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 11.29s
--- PASS: TestEgressGateways (44.49s)
=== RUN TestTLSOrigination
egress_gateways_tls_file_mount_test.go:33: This test verifies that TLS origination works in 2 scenarios:
egress_gateways_tls_file_mount_test.go:34: 1) Egress gateway TLS Origination
egress_gateways_tls_file_mount_test.go:35: 2) MTLS Origination with file mount (certificates mounted in egress gateway pod)
egress_gateways_tls_file_mount_test.go:41:
egress_gateways_tls_file_mount_test.go:41: STEP 1: Apply default SMCP and SMMR manifests
egress_gateways_tls_file_mount_test.go:41: Wait for condition condition=Ready on smcp istio-system/basic...
egress_gateways_tls_file_mount_test.go:41: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
egress_gateways_tls_file_mount_test.go:41: Wait for smmr/default to be ready in namespace istio-system
egress_gateways_tls_file_mount_test.go:43:
egress_gateways_tls_file_mount_test.go:43: STEP 2: Install sleep pod
egress_gateways_tls_file_mount_test.go:44: Install app "sleep" in namespace "bookinfo"
egress_gateways_tls_file_mount_test.go:44: Wait for app bookinfo/sleep to be ready
=== RUN TestTLSOrigination/Egress_Gateway_without_file_mount
egress_gateways_tls_file_mount_test.go:47: Perform TLS origination with an egress gateway
egress_gateways_tls_file_mount_test.go:49:
egress_gateways_tls_file_mount_test.go:49: STEP 1: Install external nginx
egress_gateways_tls_file_mount_test.go:50: Install app "nginx" in namespace "mesh-external"
egress_gateways_tls_file_mount_test.go:50: Wait for app mesh-external/nginx to be ready
egress_gateways_tls_file_mount_test.go:52:
egress_gateways_tls_file_mount_test.go:52: STEP 2: Make sure that mesh external namespace is not discovered by Istio - it would happen if mesh-external namespaces was added to the SMMR
istioctl.go:26: SUCCESS: mesh-external namespace was not discovered
egress_gateways_tls_file_mount_test.go:60:
egress_gateways_tls_file_mount_test.go:60: STEP 3: Create ServiceEntry for external nginx, port 80 and 443
egress_gateways_tls_file_mount_test.go:66:
egress_gateways_tls_file_mount_test.go:66: STEP 4: Create a Gateway, DestinationRule, and VirtualService to route requests to external nginx through the egress gateway
egress_gateways_tls_file_mount_test.go:74:
egress_gateways_tls_file_mount_test.go:74: STEP 5: Verify that request to external nginx is routed through the egress gateway (response 200 indicates that the TLS origination is done by the egress gateway)
egress_gateways_tls_file_mount_test.go:75: SUCCESS: Get expected response: Welcome to nginx
subtest.go:39:
subtest.go:46: Subtest completed in 7.23s (excluding cleanup)
egress_gateways_tls_file_mount_test.go:69:
egress_gateways_tls_file_mount_test.go:69: Performing cleanup
egress_gateways_tls_file_mount_test.go:70: Deleting resources from namespace bookinfo
egress_gateways_tls_file_mount_test.go:71: Deleting resources from namespace istio-system
egress_gateways_tls_file_mount_test.go:69: Cleanup completed in 1.12s
egress_gateways_tls_file_mount_test.go:62:
egress_gateways_tls_file_mount_test.go:62: Performing cleanup
egress_gateways_tls_file_mount_test.go:63: Deleting resources from namespace istio-system
egress_gateways_tls_file_mount_test.go:62: Cleanup completed in 0.35s
--- PASS: TestTLSOrigination/Egress_Gateway_without_file_mount (8.70s)
=== RUN TestTLSOrigination/mTLS_with_file_mount
egress_gateways_tls_file_mount_test.go:84: Perform mTLS origination with an egress gateway
egress_gateways_tls_file_mount_test.go:98:
egress_gateways_tls_file_mount_test.go:98: STEP 1: Deploy nginx mTLS server and create secrets in the mesh namespace
egress_gateways_tls_file_mount_test.go:103: Install app "nginx" in namespace "mesh-external"
egress_gateways_tls_file_mount_test.go:105:
egress_gateways_tls_file_mount_test.go:105: STEP 2: Patch egress gateway with File Mount configuration
egress_gateways_tls_file_mount_test.go:108:
egress_gateways_tls_file_mount_test.go:108: STEP 3: Configure mTLS origination for egress traffic
egress_gateways_tls_file_mount_test.go:112:
egress_gateways_tls_file_mount_test.go:112: STEP 4: Wait for egress gateway and nginx to be ready
egress_gateways_tls_file_mount_test.go:114: Wait for app mesh-external/nginx to be ready
egress_gateways_tls_file_mount_test.go:116:
egress_gateways_tls_file_mount_test.go:116: STEP 5: Verify NGINX server
egress_gateways_tls_file_mount_test.go:117: SUCCESS: Get expected response: Welcome to nginx
subtest.go:39:
subtest.go:46: Subtest completed in 7.83s (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-6bc45c47dc-dzrs7 is being deleted
egress_gateways_tls_file_mount_test.go:85: Cleanup completed in 10.18s
--- PASS: TestTLSOrigination/mTLS_with_file_mount (18.01s)
test.go:91:
test.go:98: Test completed in 33.14s (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.91s
--- PASS: TestTLSOrigination (34.05s)
=== 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:134: SUCCESS: Got expected "200"
test.go:91:
test.go:98: Test completed in 15.12s (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 48.71s
--- PASS: TestTLSOriginationSDS (63.82s)
=== 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:134: SUCCESS: Got expected "200"
subtest.go:39:
subtest.go:46: Subtest completed in 6.56s (excluding cleanup)
egress_tls_origination_test.go:41:
egress_tls_origination_test.go:41: Performing cleanup
egress_tls_origination_test.go:42: Deleting file /go/src/maistra-test-tool/pkg/app/yaml/nginx.yaml from namespace mesh-external
egress_tls_origination_test.go:43: Deleting resources from namespace bookinfo
egress_tls_origination_test.go:44: Deleting resources from namespace bookinfo
egress_tls_origination_test.go:45: Deleting resources from namespace bookinfo
egress_tls_origination_test.go:41: Cleanup completed in 2.58s
--- PASS: TestEgressTLSOrigination/TrafficManagement_egress_tls_origination (9.14s)
test.go:91:
test.go:98: Test completed in 14.97s (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 7.39s
--- PASS: TestEgressTLSOrigination (22.36s)
=== RUN TestEgressWildcard
egress_wildcard_hosts_test.go:31: This test checks if the wildcard in the ServiceEntry and Gateway works as expected for Egress traffic.
egress_wildcard_hosts_test.go:33:
egress_wildcard_hosts_test.go:33: STEP 1: Apply default SMCP and SMMR manifests
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:39:
subtest.go:46: Subtest completed in 3.65s (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.34s
--- PASS: TestEgressWildcard/ServiceEntry (3.99s)
=== 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:39:
subtest.go:46: Subtest completed in 4.21s (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.77s
--- PASS: TestEgressWildcard/Gateway (4.98s)
test.go:91:
test.go:98: Test completed in 14.51s (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.91s
--- PASS: TestEgressWildcard (15.42s)
PASS
ok github.com/maistra/maistra-test-tool/pkg/tests/tasks/traffic/egress 196.862s
test_helper_setup.go:78: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external]
=== RUN TestGatewayApi
gatewayapi_test.go:50:
gatewayapi_test.go:50: STEP 1: Apply default SMCP and SMMR manifests
gatewayapi_test.go:50: Wait for condition condition=Ready on smcp istio-system/basic...
gatewayapi_test.go:50: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
gatewayapi_test.go:50: Wait for smmr/default to be ready in namespace istio-system
gatewayapi_test.go:52:
gatewayapi_test.go:52: STEP 2: Install Gateway API CRD's
gatewayapi_test.go:58: Creating namespaces: [foo]
=== RUN TestGatewayApi/Check_default_Gateway_API_settings
gatewayapi_test.go:61: Check Gateway API is disabled by default
gatewayapi_test.go:63:
gatewayapi_test.go:63: STEP 1: Check istiod deployment environment variables
gatewayapi_test.go:80: Env PILOT_ENABLE_GATEWAY_API is set to false
gatewayapi_test.go:80: Env PILOT_ENABLE_GATEWAY_API_STATUS is set to false
gatewayapi_test.go:80: Env PILOT_ENABLE_GATEWAY_API_DEPLOYMENT_CONTROLLER is set to false
subtest.go:39:
subtest.go:46: Subtest completed in 0.34s (excluding cleanup)
--- PASS: TestGatewayApi/Check_default_Gateway_API_settings (0.34s)
=== RUN TestGatewayApi/Deploy_the_Kubernetes_Gateway_API
gatewayapi_test.go:100:
gatewayapi_test.go:100: STEP 1: Install httpbin
gatewayapi_test.go:101: Install app "httpbin" in namespace "foo"
gatewayapi_test.go:101: Wait for app foo/httpbin to be ready
gatewayapi_test.go:103:
gatewayapi_test.go:103: STEP 2: Deploy the Gateway SMCP
gatewayapi_test.go:136:
gatewayapi_test.go:136: STEP 3: Deploy the Gateway API configuration including a single exposed route (i.e., /get)
gatewayapi_test.go:142:
gatewayapi_test.go:142: STEP 4: Wait for Gateway to be ready
gatewayapi_test.go:143: Wait for condition condition=Programmed on Gateway foo/gateway...
gatewayapi_test.go:143: SUCCESS: Condition condition=Programmed met by Gateway foo/gateway
gatewayapi_test.go:145:
gatewayapi_test.go:145: STEP 5: Verfiy the GatewayApi access the httpbin service using curl
gatewayapi_test.go:147: SUCCESS: Access the httpbin service with GatewayApi
subtest.go:39:
subtest.go:46: Subtest completed in 8.21s (excluding cleanup)
gatewayapi_test.go:138:
gatewayapi_test.go:138: Performing cleanup
gatewayapi_test.go:139: Deleting resources from namespace foo
gatewayapi_test.go:138: Cleanup completed in 0.51s
gatewayapi_test.go:129:
gatewayapi_test.go:129: Performing cleanup
gatewayapi_test.go:129: Cleanup completed in 0.51s
gatewayapi_test.go:95:
gatewayapi_test.go:95: Performing cleanup
gatewayapi_test.go:96: Deleting namespaces: [istio-system]
gatewayapi_test.go:96: Creating namespaces: [istio-system]
gatewayapi_test.go:97: Deleting namespaces: [foo]
gatewayapi_test.go:97: Creating namespaces: [foo]
gatewayapi_test.go:95: Cleanup completed in 32.46s
--- PASS: TestGatewayApi/Deploy_the_Kubernetes_Gateway_API (41.70s)
=== RUN TestGatewayApi/Deploy_the_Gateway-Controller_Profile
gatewayapi_test.go:167:
gatewayapi_test.go:167: STEP 1: Install httpbin
gatewayapi_test.go:168: Install app "httpbin" in namespace "foo"
gatewayapi_test.go:168: Wait for app foo/httpbin to be ready
gatewayapi_test.go:170:
gatewayapi_test.go:170: STEP 2: Deploy SMCP with the profile
gatewayapi_test.go:179: Wait for condition condition=Ready on smcp istio-system/basic...
gatewayapi_test.go:179: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
gatewayapi_test.go:181:
gatewayapi_test.go:181: STEP 3: delete default SMMR and create custom SMMR
gatewayapi_test.go:182: Deleting resources from namespace istio-system
gatewayapi_test.go:184: Wait for smmr/default to be ready in namespace istio-system
gatewayapi_test.go:186:
gatewayapi_test.go:186: STEP 4: Deploy the Gateway API configuration including a single exposed route (i.e., /get)
gatewayapi_test.go:192:
gatewayapi_test.go:192: STEP 5: Wait for Gateway to be ready
gatewayapi_test.go:193: Wait for condition condition=Programmed on Gateway foo/gateway...
gatewayapi_test.go:193: SUCCESS: Condition condition=Programmed met by Gateway foo/gateway
gatewayapi_test.go:195:
gatewayapi_test.go:195: STEP 6: Verify the Gateway-Controller Profile access the httpbin service using curl
gatewayapi_test.go:197: SUCCESS: Access the httpbin service with GatewayApi
subtest.go:39:
subtest.go:46: Subtest completed in 9.62s (excluding cleanup)
gatewayapi_test.go:188:
gatewayapi_test.go:188: Performing cleanup
gatewayapi_test.go:189: Deleting resources from namespace foo
gatewayapi_test.go:188: Cleanup completed in 0.48s
gatewayapi_test.go:162:
gatewayapi_test.go:162: Performing cleanup
gatewayapi_test.go:163: Deleting namespaces: [istio-system]
gatewayapi_test.go:163: Creating namespaces: [istio-system]
gatewayapi_test.go:164: Deleting namespaces: [foo]
gatewayapi_test.go:164: Creating namespaces: [foo]
gatewayapi_test.go:162: Cleanup completed in 41.09s
--- PASS: TestGatewayApi/Deploy_the_Gateway-Controller_Profile (51.19s)
test.go:91:
test.go:98: Test completed in 98.85s (excluding cleanup)
gatewayapi_test.go:54:
gatewayapi_test.go:54: Performing cleanup
gatewayapi_test.go:54: Cleanup completed in 2.18s
--- PASS: TestGatewayApi (101.03s)
=== RUN TestIngressGateways
ingress_gateways_test.go:43:
ingress_gateways_test.go:43: STEP 1: Apply default SMCP and SMMR manifests
ingress_gateways_test.go:43: Wait for condition condition=Ready on smcp istio-system/basic...
ingress_gateways_test.go:43: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s
error: timed out waiting for the condition on servicemeshcontrolplanes/basic
error: exit status 1
ingress_gateways_test.go:43: Wait for condition condition=Ready on smcp istio-system/basic...
ingress_gateways_test.go:43: FAILURE: Command failed: oc wait -n istio-system smcp/basic --for condition=Ready --timeout 10s
error: timed out waiting for the condition on servicemeshcontrolplanes/basic
error: exit status 1
ingress_gateways_test.go:43: Wait for condition condition=Ready on smcp istio-system/basic...
ingress_gateways_test.go:43: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
ingress_gateways_test.go:43: Wait for smmr/default to be ready in namespace istio-system
ingress_gateways_test.go:45:
ingress_gateways_test.go:45: STEP 2: Install httpbin
ingress_gateways_test.go:46: Install app "httpbin" in namespace "bookinfo"
ingress_gateways_test.go:46: Wait for app bookinfo/httpbin to be ready
=== RUN TestIngressGateways/TrafficManagement_ingress_status_200_test
ingress_gateways_test.go:51:
ingress_gateways_test.go:51: STEP 1: Create httpbin Gateway and VirtualService with host set to httpbin.example.com
yaml_vars.go:49:
yaml_vars.go:49: STEP 2: Create OpenShift Route for host httpbin.example.com to istio-ingressgateway port http2
yaml_vars.go:50: NOTE: This is necessary in OSSM 2.4+, because IOR is disabled by default
ingress_gateways_test.go:58:
ingress_gateways_test.go:58: STEP 3: Check if httpbin service is reachable through istio-ingressgateway
ingress_gateways_test.go:60: FAILURE: expected status code 200 but got 503 Service Unavailable
ingress_gateways_test.go:59: --- Attempt 1/60 failed. Retrying...
ingress_gateways_test.go:60: FAILURE: expected status code 200 but got 503 Service Unavailable
ingress_gateways_test.go:59: --- Attempt 2/60 failed. Retrying...
ingress_gateways_test.go:60: SUCCESS: received expected status code 200
ingress_gateways_test.go:59: --- Attempt 3/60 successful; total time: 2.43s
subtest.go:39:
subtest.go:46: Subtest completed in 3.49s (excluding cleanup)
yaml_vars.go:58:
yaml_vars.go:58: Performing cleanup
yaml_vars.go:59: Deleting resources from namespace istio-system
yaml_vars.go:58: Cleanup completed in 0.36s
--- PASS: TestIngressGateways/TrafficManagement_ingress_status_200_test (3.85s)
=== RUN TestIngressGateways/TrafficManagement_ingress_headers_test
ingress_gateways_test.go:68:
ingress_gateways_test.go:68: STEP 1: Create httpbin Gateway and VirtualService with host set to *
ingress_gateways_test.go:71:
ingress_gateways_test.go:71: STEP 2: Check if httpbin service is reachable through istio-ingressgateway
ingress_gateways_test.go:73: FAILURE: expected status code 200 but got 404 Not Found
ingress_gateways_test.go:72: --- Attempt 1/60 failed. Retrying...
ingress_gateways_test.go:73: SUCCESS: received expected status code 200
ingress_gateways_test.go:72: --- Attempt 2/60 successful; total time: 1.21s
subtest.go:39:
subtest.go:46: Subtest completed in 10.19s (excluding cleanup)
--- PASS: TestIngressGateways/TrafficManagement_ingress_headers_test (10.19s)
test.go:91:
test.go:98: Test completed in 40.97s (excluding cleanup)
ingress_gateways_test.go:39:
ingress_gateways_test.go:39: Performing cleanup
ingress_gateways_test.go:40: Deleting namespaces: [bookinfo]
ingress_gateways_test.go:40: Creating namespaces: [bookinfo]
ingress_gateways_test.go:39: Cleanup completed in 18.18s
--- PASS: TestIngressGateways (59.15s)
=== RUN TestIngressWithoutTlsTermination
ingress_without_tls_termination_test.go:37: This test validates configuring an Gateway with TLS PassThrough
ingress_without_tls_termination_test.go:38: Doc reference: https://istio.io/v1.14/docs/tasks/traffic-management/ingress/ingress-sni-passthrough/
ingress_without_tls_termination_test.go:45:
ingress_without_tls_termination_test.go:45: STEP 1: Apply default SMCP and SMMR manifests
ingress_without_tls_termination_test.go:45: Wait for condition condition=Ready on smcp istio-system/basic...
ingress_without_tls_termination_test.go:45: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
ingress_without_tls_termination_test.go:45: Wait for smmr/default to be ready in namespace istio-system
ingress_without_tls_termination_test.go:47:
ingress_without_tls_termination_test.go:47: STEP 2: Create NGINX Deployment
ingress_without_tls_termination_test.go:48: Install app "nginx" in namespace "bookinfo"
ingress_without_tls_termination_test.go:48: Wait for app bookinfo/nginx to be ready
ingress_without_tls_termination_test.go:50:
ingress_without_tls_termination_test.go:50: STEP 3: Verify NGINX server is running by connecting to it via loopback
ingress_without_tls_termination_test.go:52: SUCCESS: Got expected Welcome to nginx response
ingress_without_tls_termination_test.go:62:
ingress_without_tls_termination_test.go:62: STEP 4: Configure Gateway resource with TLS passthrough for host nginx.example.com
yaml_vars.go:49:
yaml_vars.go:49: STEP 5: Create OpenShift Route for host nginx.example.com to istio-ingressgateway port https
yaml_vars.go:50: NOTE: This is necessary in OSSM 2.4+, because IOR is disabled by default
ingress_without_tls_termination_test.go:69:
ingress_without_tls_termination_test.go:69: STEP 6: Verify NGINX is reachable from outside the cluster through the ingressgateway
ingress_without_tls_termination_test.go:73: SUCCESS: string 'Welcome to nginx' found in response
test.go:91:
test.go:98: Test completed in 26.76s (excluding cleanup)
yaml_vars.go:58:
yaml_vars.go:58: Performing cleanup
yaml_vars.go:59: Deleting resources from namespace istio-system
yaml_vars.go:58: Cleanup completed in 0.36s
ingress_without_tls_termination_test.go:40:
ingress_without_tls_termination_test.go:40: Performing cleanup
ingress_without_tls_termination_test.go:41: Deleting resources from namespace bookinfo
ingress_without_tls_termination_test.go:42: Deleting file /go/src/maistra-test-tool/pkg/app/yaml/nginx.yaml from namespace bookinfo
ingress_without_tls_termination_test.go:40: Cleanup completed in 2.05s
--- PASS: TestIngressWithoutTlsTermination (29.17s)
=== RUN TestSecureGateways
secure_gateways_test.go:53: This test verifies secure gateways.
secure_gateways_test.go:54: Doc reference: https://istio.io/latest/docs/tasks/traffic-management/ingress/secure-ingress/
secure_gateways_test.go:62:
secure_gateways_test.go:62: STEP 1: Apply default SMCP and SMMR manifests
secure_gateways_test.go:62: Wait for condition condition=Ready on smcp istio-system/basic...
secure_gateways_test.go:62: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
secure_gateways_test.go:62: Wait for smmr/default to be ready in namespace istio-system
secure_gateways_test.go:64:
secure_gateways_test.go:64: STEP 2: Install httpbin
secure_gateways_test.go:65: Install app "httpbin" in namespace "bookinfo"
secure_gateways_test.go:65: Wait for app bookinfo/httpbin to be ready
secure_gateways_test.go:69:
secure_gateways_test.go:69: STEP 3: Create TLS secrets
=== RUN TestSecureGateways/tls_single_host
secure_gateways_test.go:79:
secure_gateways_test.go:79: STEP 1: Configure a TLS ingress gateway for a single host
yaml_vars.go:49:
yaml_vars.go:49: STEP 2: Create OpenShift Route for host httpbin.example.com to istio-ingressgateway port https
yaml_vars.go:50: NOTE: This is necessary in OSSM 2.4+, because IOR is disabled by default
secure_gateways_test.go:86:
secure_gateways_test.go:86: STEP 3: check if httpbin responds with teapot
secure_gateways_test.go:88: failed to get HTTP Response: Get "https://httpbin.example.com:443/status/418": tls: failed to verify certificate: x509: certificate is valid for *.apps.rosa.ci-rosa-h-hsfa.fto4.s3.devshift.org, not httpbin.example.com
secure_gateways_test.go:88: FAILURE: response is nil; the HTTP request must have failed
secure_gateways_test.go:87: --- Attempt 1/60 failed. Retrying...
secure_gateways_test.go:88: failed to get HTTP Response: Get "https://httpbin.example.com:443/status/418": tls: failed to verify certificate: x509: certificate is valid for *.apps.rosa.ci-rosa-h-hsfa.fto4.s3.devshift.org, not httpbin.example.com
secure_gateways_test.go:88: FAILURE: response is nil; the HTTP request must have failed
secure_gateways_test.go:87: --- Attempt 2/60 failed. Retrying...
secure_gateways_test.go:88: failed to get HTTP Response: Get "https://httpbin.example.com:443/status/418": tls: failed to verify certificate: x509: certificate is valid for *.apps.rosa.ci-rosa-h-hsfa.fto4.s3.devshift.org, not httpbin.example.com
secure_gateways_test.go:88: FAILURE: response is nil; the HTTP request must have failed
secure_gateways_test.go:87: --- Attempt 3/60 failed. Retrying...
secure_gateways_test.go:88: failed to get HTTP Response: Get "https://httpbin.example.com:443/status/418": tls: failed to verify certificate: x509: certificate is valid for *.apps.rosa.ci-rosa-h-hsfa.fto4.s3.devshift.org, not httpbin.example.com
secure_gateways_test.go:88: FAILURE: response is nil; the HTTP request must have failed
secure_gateways_test.go:87: --- Attempt 4/60 failed. Retrying...
secure_gateways_test.go:88: SUCCESS: string '-=[ teapot ]=-' found in response
secure_gateways_test.go:87: --- Attempt 5/60 successful; total time: 4.74s
subtest.go:39:
subtest.go:46: Subtest completed in 5.78s (excluding cleanup)
yaml_vars.go:58:
yaml_vars.go:58: Performing cleanup
yaml_vars.go:59: Deleting resources from namespace istio-system
yaml_vars.go:58: Cleanup completed in 0.35s
--- PASS: TestSecureGateways/tls_single_host (6.13s)
=== RUN TestSecureGateways/tls_multiple_hosts
secure_gateways_test.go:97:
secure_gateways_test.go:97: STEP 1: configure Gateway with multiple TLS hosts
yaml_vars.go:49:
yaml_vars.go:49: STEP 2: Create OpenShift Route for host helloworld-v1.example.com to istio-ingressgateway port https
yaml_vars.go:50: NOTE: This is necessary in OSSM 2.4+, because IOR is disabled by default
yaml_vars.go:49:
yaml_vars.go:49: STEP 3: Create OpenShift Route for host httpbin.example.com to istio-ingressgateway port https
yaml_vars.go:50: NOTE: This is necessary in OSSM 2.4+, because IOR is disabled by default
secure_gateways_test.go:105:
secure_gateways_test.go:105: STEP 4: check if helloworld-v1 responds with 200 OK
secure_gateways_test.go:107: failed to get HTTP Response: Get "https://helloworld-v1.example.com:443/hello": tls: failed to verify certificate: x509: certificate is valid for *.apps.rosa.ci-rosa-h-hsfa.fto4.s3.devshift.org, not helloworld-v1.example.com
secure_gateways_test.go:107: FAILURE: response is nil; the HTTP request must have failed
secure_gateways_test.go:106: --- Attempt 1/60 failed. Retrying...
secure_gateways_test.go:107: failed to get HTTP Response: Get "https://helloworld-v1.example.com:443/hello": tls: failed to verify certificate: x509: certificate is valid for *.apps.rosa.ci-rosa-h-hsfa.fto4.s3.devshift.org, not helloworld-v1.example.com
secure_gateways_test.go:107: FAILURE: response is nil; the HTTP request must have failed
secure_gateways_test.go:106: --- Attempt 2/60 failed. Retrying...
secure_gateways_test.go:107: SUCCESS: received expected status code 200
secure_gateways_test.go:106: --- Attempt 3/60 successful; total time: 2.63s
secure_gateways_test.go:113:
secure_gateways_test.go:113: STEP 5: check if httpbin responds with teapot
secure_gateways_test.go:115: SUCCESS: string '-=[ teapot ]=-' found in response
subtest.go:39:
subtest.go:46: Subtest completed in 4.57s (excluding cleanup)
yaml_vars.go:58:
yaml_vars.go:58: Performing cleanup
yaml_vars.go:59: Deleting resources from namespace istio-system
yaml_vars.go:58: Cleanup completed in 0.36s
yaml_vars.go:58:
yaml_vars.go:58: Performing cleanup
yaml_vars.go:59: Deleting resources from namespace istio-system
yaml_vars.go:58: Cleanup completed in 0.35s
--- PASS: TestSecureGateways/tls_multiple_hosts (5.28s)
=== RUN TestSecureGateways/mutual_tls
secure_gateways_test.go:123:
secure_gateways_test.go:123: STEP 1: configure Gateway with tls.mode=Mutual
yaml_vars.go:49:
yaml_vars.go:49: STEP 2: Create OpenShift Route for host httpbin.example.com to istio-ingressgateway port https
yaml_vars.go:50: NOTE: This is necessary in OSSM 2.4+, because IOR is disabled by default
secure_gateways_test.go:134:
secure_gateways_test.go:134: STEP 3: check if SSL handshake fails when no client certificate is given
secure_gateways_test.go:136: failed to get HTTP Response: Get "https://httpbin.example.com:443/status/418": remote error: tls: certificate required
secure_gateways_test.go:136: SUCCESS: request failed as expected
secure_gateways_test.go:136: SUCCESS: request failed with expected error message
secure_gateways_test.go:150:
secure_gateways_test.go:150: STEP 4: check if SSL handshake succeeds when client certificate is given
secure_gateways_test.go:152: SUCCESS: string '-=[ teapot ]=-' found in response
subtest.go:39:
subtest.go:46: Subtest completed in 2.12s (excluding cleanup)
yaml_vars.go:58:
yaml_vars.go:58: Performing cleanup
yaml_vars.go:59: Deleting resources from namespace istio-system
yaml_vars.go:58: Cleanup completed in 0.35s
--- PASS: TestSecureGateways/mutual_tls (2.48s)
=== RUN TestSecureGateways/mutual_tls_with_crl
secure_gateways_test.go:162: Reference: https://issues.redhat.com/browse/OSSM-414
secure_gateways_test.go:166:
secure_gateways_test.go:166: STEP 1: configure Gateway with tls.mode=Mutual and provide CRL file
yaml_vars.go:49:
yaml_vars.go:49: STEP 2: Create OpenShift Route for host httpbin.example.com to istio-ingressgateway port https
yaml_vars.go:50: NOTE: This is necessary in OSSM 2.4+, because IOR is disabled by default
secure_gateways_test.go:175:
secure_gateways_test.go:175: STEP 3: check if SSL handshake fails when no client certificate is given
secure_gateways_test.go:177: failed to get HTTP Response: Get "https://httpbin.example.com:443/status/418": tls: failed to verify certificate: x509: certificate is valid for *.apps.rosa.ci-rosa-h-hsfa.fto4.s3.devshift.org, not httpbin.example.com
secure_gateways_test.go:177: SUCCESS: request failed as expected
secure_gateways_test.go:177: FAILURE: request failed but with different error message;
expected any of error messages:'[Get "https://httpbin.example.com:443/status/418": remote error: tls: certificate require Get "https://httpbin.example.com:443/status/418": remote error: tls: handshake failure]'
actual error message:'Get "https://httpbin.example.com:443/status/418": tls: failed to verify certificate: x509: certificate is valid for *.apps.rosa.ci-rosa-h-hsfa.fto4.s3.devshift.org, not httpbin.example.com'
secure_gateways_test.go:176: --- Attempt 1/60 failed. Retrying...
secure_gateways_test.go:177: failed to get HTTP Response: Get "https://httpbin.example.com:443/status/418": tls: failed to verify certificate: x509: certificate is valid for *.apps.rosa.ci-rosa-h-hsfa.fto4.s3.devshift.org, not httpbin.example.com
secure_gateways_test.go:177: SUCCESS: request failed as expected
secure_gateways_test.go:177: FAILURE: request failed but with different error message;
expected any of error messages:'[Get "https://httpbin.example.com:443/status/418": remote error: tls: certificate require Get "https://httpbin.example.com:443/status/418": remote error: tls: handshake failure]'
actual error message:'Get "https://httpbin.example.com:443/status/418": tls: failed to verify certificate: x509: certificate is valid for *.apps.rosa.ci-rosa-h-hsfa.fto4.s3.devshift.org, not httpbin.example.com'
secure_gateways_test.go:176: --- Attempt 2/60 failed. Retrying...
secure_gateways_test.go:177: failed to get HTTP Response: Get "https://httpbin.example.com:443/status/418": tls: failed to verify certificate: x509: certificate is valid for *.apps.rosa.ci-rosa-h-hsfa.fto4.s3.devshift.org, not httpbin.example.com
secure_gateways_test.go:177: SUCCESS: request failed as expected
secure_gateways_test.go:177: FAILURE: request failed but with different error message;
expected any of error messages:'[Get "https://httpbin.example.com:443/status/418": remote error: tls: certificate require Get "https://httpbin.example.com:443/status/418": remote error: tls: handshake failure]'
actual error message:'Get "https://httpbin.example.com:443/status/418": tls: failed to verify certificate: x509: certificate is valid for *.apps.rosa.ci-rosa-h-hsfa.fto4.s3.devshift.org, not httpbin.example.com'
secure_gateways_test.go:176: --- Attempt 3/60 failed. Retrying...
secure_gateways_test.go:177: failed to get HTTP Response: Get "https://httpbin.example.com:443/status/418": tls: failed to verify certificate: x509: certificate is valid for *.apps.rosa.ci-rosa-h-hsfa.fto4.s3.devshift.org, not httpbin.example.com
secure_gateways_test.go:177: SUCCESS: request failed as expected
secure_gateways_test.go:177: FAILURE: request failed but with different error message;
expected any of error messages:'[Get "https://httpbin.example.com:443/status/418": remote error: tls: certificate require Get "https://httpbin.example.com:443/status/418": remote error: tls: handshake failure]'
actual error message:'Get "https://httpbin.example.com:443/status/418": tls: failed to verify certificate: x509: certificate is valid for *.apps.rosa.ci-rosa-h-hsfa.fto4.s3.devshift.org, not httpbin.example.com'
secure_gateways_test.go:176: --- Attempt 4/60 failed. Retrying...
secure_gateways_test.go:177: failed to get HTTP Response: Get "https://httpbin.example.com:443/status/418": remote error: tls: certificate required
secure_gateways_test.go:177: SUCCESS: request failed as expected
secure_gateways_test.go:177: SUCCESS: request failed with expected error message
secure_gateways_test.go:176: --- Attempt 5/60 successful; total time: 4.72s
secure_gateways_test.go:192:
secure_gateways_test.go:192: STEP 4: check if SSL handshake succeeds when client certificate is given
secure_gateways_test.go:194: SUCCESS: string '-=[ teapot ]=-' found in response
secure_gateways_test.go:202:
secure_gateways_test.go:202: STEP 5: check if SSL handshake fails when revoked client certificate is given
secure_gateways_test.go:204: failed to get HTTP Response: Get "https://httpbin.example.com:443/status/418": remote error: tls: revoked certificate
secure_gateways_test.go:204: SUCCESS: request failed as expected
secure_gateways_test.go:204: SUCCESS: request failed with expected error message
subtest.go:39:
subtest.go:46: Subtest completed in 6.75s (excluding cleanup)
yaml_vars.go:58:
yaml_vars.go:58: Performing cleanup
yaml_vars.go:59: Deleting resources from namespace istio-system
yaml_vars.go:58: Cleanup completed in 0.36s
--- PASS: TestSecureGateways/mutual_tls_with_crl (7.11s)
test.go:91:
test.go:98: Test completed in 37.82s (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.78s
--- PASS: TestSecureGateways (56.61s)
PASS
ok github.com/maistra/maistra-test-tool/pkg/tests/tasks/traffic/ingress 246.982s
DONE 126 tests, 34 skipped, 1 failure in 1973.020s
test_helper_setup.go:78: Creating namespaces: [istio-system bookinfo foo bar legacy mesh-external]
=== RUN TestNativeSidecars
native_sidecars_test.go:52:
native_sidecars_test.go:52: STEP 1: Deploying SMCP
native_sidecars_test.go:54: Wait for condition condition=Ready on smcp istio-system/basic...
native_sidecars_test.go:54: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
native_sidecars_test.go:56:
native_sidecars_test.go:56: STEP 2: Install httpbin and sleep in mode
native_sidecars_test.go:57: Install app "httpbin" in namespace "foo"
native_sidecars_test.go:57: Install app "sleep" in namespace "foo"
native_sidecars_test.go:57: Wait for app foo/httpbin to be ready
native_sidecars_test.go:57: Wait for app foo/sleep to be ready
=== RUN TestNativeSidecars/HTTP_request_from_ingress_gateway_to_httpbin_in_mode
native_sidecars_test.go:63: SUCCESS: received expected status code 200
subtest.go:39:
subtest.go:46: Subtest completed in 1.16s (excluding cleanup)
--- PASS: TestNativeSidecars/HTTP_request_from_ingress_gateway_to_httpbin_in_mode (1.16s)
=== RUN TestNativeSidecars/HTTP_request_from_sleep_to_httpbin
native_sidecars_test.go:68: SUCCESS: Request succeeded
subtest.go:39:
subtest.go:46: Subtest completed in 1.21s (excluding cleanup)
--- PASS: TestNativeSidecars/HTTP_request_from_sleep_to_httpbin (1.21s)
test.go:91:
test.go:98: Test completed in 22.56s (excluding cleanup)
native_sidecars_test.go:47:
native_sidecars_test.go:47: Performing cleanup
native_sidecars_test.go:48: Deleting resources from namespace istio-system
native_sidecars_test.go:49: Deleting namespaces: [foo]
native_sidecars_test.go:49: Creating namespaces: [foo]
native_sidecars_test.go:47: Cleanup completed in 30.27s
--- PASS: TestNativeSidecars (52.83s)
PASS
ok github.com/maistra/maistra-test-tool/pkg/tests/tasks/injection 53.886s
=== Skipped
=== SKIP: pkg/tests/non-dependant TestSMCPMultiple (0.00s)
test.go:128: This test is being skipped because it is not part of the "interop" test group
=== SKIP: pkg/tests/non-dependant TestOlmWebhookCreation (0.00s)
test.go:128: This test is being skipped because it is not part of the "interop" test group
=== SKIP: pkg/tests/ossm TestIstiodPodFailsAfterRestarts (0.00s)
test.go:128: This test is being skipped because it is not part of the "interop" test group
=== SKIP: pkg/tests/ossm TestIstiodPodFailsWithValidationMessages (0.00s)
test.go:128: This test is being skipped because it is not part of the "interop" test group
=== SKIP: pkg/tests/ossm TestDeployOnInfraNodes (0.00s)
test.go:128: This test is being skipped because it is not part of the "interop" test group
=== SKIP: pkg/tests/ossm TestExcludeCniFromNode (0.00s)
test.go:128: This test is being skipped because it is not part of the "interop" test group
=== SKIP: pkg/tests/ossm TestDiscoverySelectors (0.00s)
test.go:128: This test is being skipped because it is not part of the "interop" test group
=== SKIP: pkg/tests/ossm TestInitContainerNotRemovedDuringInjection (0.00s)
test.go:128: This test is being skipped because it is not part of the "interop" test group
=== SKIP: pkg/tests/ossm TestIOR (0.00s)
test.go:128: This test is being skipped because it is not part of the "interop" test group
=== SKIP: pkg/tests/ossm TestInjectionInPrivelegedPods (0.00s)
test.go:128: This test is being skipped because it is not part of the "interop" test group
=== SKIP: pkg/tests/ossm TestOperatorCanUpdatePrometheusConfigMap (0.00s)
test.go:128: This test is being skipped because it is not part of the "interop" test group
=== SKIP: pkg/tests/ossm TestRateLimiting (0.00s)
test.go:128: This test is being skipped because it is not part of the "interop" test group
=== SKIP: pkg/tests/ossm TestRoutePreventAdditionalIngress (0.00s)
test.go:128: This test is being skipped because it is not part of the "interop" test group
=== SKIP: pkg/tests/ossm TestSMCPAddons (0.00s)
test.go:128: This test is being skipped because it is not part of the "interop" test group
=== SKIP: pkg/tests/ossm TestSMCPAnnotations (0.00s)
test.go:128: This test is being skipped because it is not part of the "interop" test group
=== SKIP: pkg/tests/ossm TestLogging (0.00s)
test.go:128: This test is being skipped because it is not part of the "interop" test group
=== SKIP: pkg/tests/ossm TestMustGather (0.00s)
test.go:128: This test is being skipped because it is not part of the "interop" test group
=== SKIP: pkg/tests/ossm TestSMCPSecret (0.00s)
test.go:128: This test is being skipped because it is not part of the "interop" test group
=== SKIP: pkg/tests/ossm TestSMMRAutoCreationAndDeletion (0.00s)
test.go:128: This test is being skipped because it is not part of the "interop" test group
=== SKIP: pkg/tests/ossm TestSMMReconciliation (0.00s)
test.go:128: This test is being skipped because it is not part of the "interop" test group
=== SKIP: pkg/tests/ossm TestTempoTracing (0.00s)
test.go:128: This test is being skipped because it is not part of the "interop" test group
=== SKIP: pkg/tests/ossm-federation TestMultiClusterFederationFailover (0.00s)
test.go:128: This test is being skipped because it is not part of the "interop" test group
=== SKIP: pkg/tests/ossm-federation TestFederation (0.00s)
test.go:128: This test is being skipped because it is not part of the "interop" test group
=== SKIP: pkg/tests/ossm-federation TestFederationDifferentCerts (0.00s)
test.go:128: This test is being skipped because it is not part of the "interop" test group
=== SKIP: pkg/tests/ossm/operator TestClusterWideMode (0.00s)
test.go:128: This test is being skipped because it is not part of the "interop" test group
=== SKIP: pkg/tests/ossm/operator TestOperatorCanReconcileSMCPWhenIstiodOffline (0.00s)
test.go:128: This test is being skipped because it is not part of the "interop" test group
=== SKIP: pkg/tests/ossm/operator TestOperatorPodHonorsReadinessProbe (0.00s)
test.go:128: This test is being skipped because it is not part of the "interop" test group
=== SKIP: pkg/tests/tasks/extensions TestThreeScaleWasmPlugin (0.00s)
test.go:128: This test is being skipped because it is not part of the "interop" test group
=== SKIP: pkg/tests/tasks/observability TestCustomPrometheus (0.00s)
test.go:128: This test is being skipped because it is not part of the "interop" test group
=== SKIP: pkg/tests/tasks/observability TestFederatedOpenShiftMonitoring (0.00s)
test.go:128: This test is being skipped because it is not part of the "interop" test group
=== SKIP: pkg/tests/tasks/observability TestOpenShiftMonitoring (0.00s)
test.go:128: This test is being skipped because it is not part of the "interop" test group
=== SKIP: pkg/tests/tasks/security/certificate TestAlpnFilterDisabledForNonIstioMtls (0.00s)
test.go:128: This test is being skipped because it is not part of the "interop" test group
=== SKIP: pkg/tests/tasks/security/certmanager TestIstioCsr (0.00s)
test.go:128: This test is being skipped because it is not part of the "interop" test group
=== SKIP: pkg/tests/tasks/security/certmanager TestPluginCaCert (0.00s)
test.go:128: This test is being skipped because it is not part of the "interop" test group
=== Failed
=== FAIL: pkg/tests/tasks/injection TestNativeSidecars (344.86s)
native_sidecars_test.go:52:
native_sidecars_test.go:52: STEP 1: Deploying SMCP
native_sidecars_test.go:54: Wait for condition condition=Ready on smcp istio-system/basic...
native_sidecars_test.go:54: SUCCESS: Condition condition=Ready met by smcp istio-system/basic
native_sidecars_test.go:56:
native_sidecars_test.go:56: STEP 2: Install httpbin and sleep in mode
native_sidecars_test.go:57: Install app "httpbin" in namespace "foo"
native_sidecars_test.go:57: Install app "sleep" in namespace "foo"
native_sidecars_test.go:57: Wait for app foo/httpbin to be ready
native_sidecars_test.go:57: Wait for app foo/sleep to be ready
native_sidecars_test.go:57: FATAL: Command failed: kubectl -n foo rollout status deploy/sleep --timeout=4m0s
Waiting for deployment "sleep" rollout to finish: 0 out of 1 new replicas have been updated...
error: timed out waiting for the condition
error: exit status 1
test.go:91:
test.go:93: Test failed in 264.91s (excluding cleanup)
test.go:111: Capturing cluster state using must-gather registry.redhat.io/openshift-service-mesh/istio-must-gather-rhel8:2.6
test.go:115: /go/src/maistra-test-tool/tests/result-20240916214741/v2.6/failures-must-gather/20240916215859-TestNativeSidecars
native_sidecars_test.go:47:
native_sidecars_test.go:47: Performing cleanup
native_sidecars_test.go:48: Deleting resources from namespace istio-system
native_sidecars_test.go:49: Deleting namespaces: [foo]
native_sidecars_test.go:49: Creating namespaces: [foo]
native_sidecars_test.go:47: Cleanup completed in 30.27s
DONE 2 runs, 129 tests, 34 skipped, 1 failure in 2027.333s
====== JUnit report file(s)
v2.6: /go/src/maistra-test-tool/tests/result-20240916214741/v2.6/report.xml
====== Test summary
v2.6: DONE 2 runs, 129 tests, 34 skipped, 1 failure in 2027.333s
real 33m49.796s
user 2m47.665s
sys 1m6.555s
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