diff --git a/.github/workflows/regression.yml b/.github/workflows/regression.yml index a86890e9c..0acbed6f6 100644 --- a/.github/workflows/regression.yml +++ b/.github/workflows/regression.yml @@ -30,7 +30,7 @@ on: description: "revision of firmware to flash on AP, -" marker_expressions: required: true - default: "dfs_tests,multi_psk_tests,rate_limiting_tests,rate_limiting_with_radius_tests,dynamic_vlan_tests,multi_vlan_tests,strict_forwarding_tests,advanced_captive_portal_tests,firmware_upgrade_downgrade,asb_tests,schema_validation_tests" + default: "dfs_tests,multi_psk_tests,rate_limiting_tests,rate_limiting_with_radius_tests,dynamic_vlan_tests,multi_vlan_tests,strict_forwarding_tests,advanced_captive_portal_tests,firmware_upgrade_downgrade,asb_tests,schema_validation_tests,client_connectivity_tests" description: "Marker expressions to select tests to execute" additional_args: default: "" @@ -72,7 +72,7 @@ jobs: echo "ap_version=$(echo ${{ github.event.inputs.ap_version || 'next-latest' }})" >> $GITHUB_OUTPUT echo "existing_controller=$(echo ${{ github.event.inputs.existing_controller || 'qa01' }})" >> $GITHUB_OUTPUT - MARKER_EXPRESSIONS="${{ github.event.inputs.marker_expressions || 'dfs_tests,multi_psk_tests,rate_limiting_tests,rate_limiting_with_radius_tests,dynamic_vlan_tests,multi_vlan_tests,strict_forwarding_tests,advanced_captive_portal_tests,firmware_upgrade_downgrade,asb_tests,schema_validation_tests' }}" + MARKER_EXPRESSIONS="${{ github.event.inputs.marker_expressions || 'dfs_tests,multi_psk_tests,rate_limiting_tests,rate_limiting_with_radius_tests,dynamic_vlan_tests,multi_vlan_tests,strict_forwarding_tests,advanced_captive_portal_tests,firmware_upgrade_downgrade,asb_tests,schema_validation_tests,client_connectivity_tests' }}" MARKER_EXPRESSIONS=$(echo $MARKER_EXPRESSIONS | sed "s/,/\",\"/g" | sed 's/^/[\"/g' | sed 's/$/\"]/g') echo "additional_arguments=$(echo ${{ github.event.inputs.additional_arguments || ''}})" >> $GITHUB_OUTPUT cat >> $GITHUB_OUTPUT << EOF @@ -229,6 +229,32 @@ jobs: continue-on-error: true run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-schema-validation + - name: run client_connectivity tests + uses: ./.github/actions/run-tests + if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'client_connectivity_tests')" + with: + namespace: ${{ steps.namespace.outputs.name }}-client_connectivity + testbed: basic-3a + marker_expression: "ow_regression_lf and client_connectivity_tests" + configuration_file: "./lab_info.json" + testing_docker_image: tip-tip-wlan-cloud-docker-repo.jfrog.io/cloud-sdk-nightly:${{ github.run_id }} + additional_args: "-o firmware=${{ needs.vars.outputs.ap_version }} ${{ needs.vars.outputs.additional_arguments }} ${{ github.event.inputs.additional_args }}" + allure_results_artifact_name: allure-results-${{ steps.ap_model.outputs.model }}-client_connectivity_tests + dns_records_to_resolve: "sec-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build gw-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build fms-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build" + + # necessary because if conditionals in composite actions are currently not respected + - name: get tests logs + if: always() + continue-on-error: true + run: | + podname=$(kubectl get pods -n ${{ steps.namespace.outputs.name }}-client_connectivity --no-headers -o custom-columns=":metadata.name" -l job-name=testing | sed "s/pod\///") + kubectl logs --timestamps -n ${{ steps.namespace.outputs.name }}-client_connectivity $podname || true + + - name: delete namespace + if: always() + continue-on-error: true + run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-client_connectivity + - name: run multipsk tests uses: ./.github/actions/run-tests if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'multi_psk_tests')" @@ -587,6 +613,32 @@ jobs: continue-on-error: true run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-schema-validation + - name: run client_connectivity tests + uses: ./.github/actions/run-tests + if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'client_connectivity_tests')" + with: + namespace: ${{ steps.namespace.outputs.name }}-client_connectivity + testbed: basic-1 + marker_expression: "ow_regression_lf and client_connectivity_tests" + configuration_file: "./lab_info.json" + testing_docker_image: tip-tip-wlan-cloud-docker-repo.jfrog.io/cloud-sdk-nightly:${{ github.run_id }} + additional_args: "-o firmware=${{ needs.vars.outputs.ap_version }} ${{ needs.vars.outputs.additional_arguments }} ${{ github.event.inputs.additional_args }}" + allure_results_artifact_name: allure-results-${{ steps.ap_model.outputs.model }}-client_connectivity_tests + dns_records_to_resolve: "sec-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build gw-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build fms-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build" + + # necessary because if conditionals in composite actions are currently not respected + - name: get tests logs + if: always() + continue-on-error: true + run: | + podname=$(kubectl get pods -n ${{ steps.namespace.outputs.name }}-client_connectivity --no-headers -o custom-columns=":metadata.name" -l job-name=testing | sed "s/pod\///") + kubectl logs --timestamps -n ${{ steps.namespace.outputs.name }}-client_connectivity $podname || true + + - name: delete namespace + if: always() + continue-on-error: true + run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-client_connectivity + - name: run multipsk tests uses: ./.github/actions/run-tests if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'multi_psk_tests')" @@ -946,6 +998,32 @@ jobs: continue-on-error: true run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-schema-validation + - name: run client_connectivity tests + uses: ./.github/actions/run-tests + if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'client_connectivity_tests')" + with: + namespace: ${{ steps.namespace.outputs.name }}-client_connectivity + testbed: basic-6 + marker_expression: "ow_regression_lf and client_connectivity_tests" + configuration_file: "./lab_info.json" + testing_docker_image: tip-tip-wlan-cloud-docker-repo.jfrog.io/cloud-sdk-nightly:${{ github.run_id }} + additional_args: "-o firmware=${{ needs.vars.outputs.ap_version }} ${{ needs.vars.outputs.additional_arguments }} ${{ github.event.inputs.additional_args }}" + allure_results_artifact_name: allure-results-${{ steps.ap_model.outputs.model }}-client_connectivity_tests + dns_records_to_resolve: "sec-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build gw-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build fms-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build" + + # necessary because if conditionals in composite actions are currently not respected + - name: get tests logs + if: always() + continue-on-error: true + run: | + podname=$(kubectl get pods -n ${{ steps.namespace.outputs.name }}-client_connectivity --no-headers -o custom-columns=":metadata.name" -l job-name=testing | sed "s/pod\///") + kubectl logs --timestamps -n ${{ steps.namespace.outputs.name }}-client_connectivity $podname || true + + - name: delete namespace + if: always() + continue-on-error: true + run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-client_connectivity + - name: run multipsk tests uses: ./.github/actions/run-tests if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'multi_psk_tests')" @@ -1305,6 +1383,32 @@ jobs: continue-on-error: true run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-schema-validation + - name: run client_connectivity tests + uses: ./.github/actions/run-tests + if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'client_connectivity_tests')" + with: + namespace: ${{ steps.namespace.outputs.name }}-client_connectivity + testbed: basic-2 + marker_expression: "ow_regression_lf and client_connectivity_tests" + configuration_file: "./lab_info.json" + testing_docker_image: tip-tip-wlan-cloud-docker-repo.jfrog.io/cloud-sdk-nightly:${{ github.run_id }} + additional_args: "-o firmware=${{ needs.vars.outputs.ap_version }} ${{ needs.vars.outputs.additional_arguments }} ${{ github.event.inputs.additional_args }}" + allure_results_artifact_name: allure-results-${{ steps.ap_model.outputs.model }}-client_connectivity_tests + dns_records_to_resolve: "sec-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build gw-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build fms-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build" + + # necessary because if conditionals in composite actions are currently not respected + - name: get tests logs + if: always() + continue-on-error: true + run: | + podname=$(kubectl get pods -n ${{ steps.namespace.outputs.name }}-client_connectivity --no-headers -o custom-columns=":metadata.name" -l job-name=testing | sed "s/pod\///") + kubectl logs --timestamps -n ${{ steps.namespace.outputs.name }}-client_connectivity $podname || true + + - name: delete namespace + if: always() + continue-on-error: true + run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-client_connectivity + - name: run multipsk tests uses: ./.github/actions/run-tests if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'multi_psk_tests')" @@ -1664,6 +1768,32 @@ jobs: continue-on-error: true run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-schema-validation + - name: run client_connectivity tests + uses: ./.github/actions/run-tests + if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'client_connectivity_tests')" + with: + namespace: ${{ steps.namespace.outputs.name }}-client_connectivity + testbed: basic-5a + marker_expression: "ow_regression_lf and client_connectivity_tests" + configuration_file: "./lab_info.json" + testing_docker_image: tip-tip-wlan-cloud-docker-repo.jfrog.io/cloud-sdk-nightly:${{ github.run_id }} + additional_args: "-o firmware=${{ needs.vars.outputs.ap_version }} ${{ needs.vars.outputs.additional_arguments }} ${{ github.event.inputs.additional_args }}" + allure_results_artifact_name: allure-results-${{ steps.ap_model.outputs.model }}-client_connectivity_tests + dns_records_to_resolve: "sec-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build gw-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build fms-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build" + + # necessary because if conditionals in composite actions are currently not respected + - name: get tests logs + if: always() + continue-on-error: true + run: | + podname=$(kubectl get pods -n ${{ steps.namespace.outputs.name }}-client_connectivity --no-headers -o custom-columns=":metadata.name" -l job-name=testing | sed "s/pod\///") + kubectl logs --timestamps -n ${{ steps.namespace.outputs.name }}-client_connectivity $podname || true + + - name: delete namespace + if: always() + continue-on-error: true + run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-client_connectivity + - name: run multipsk tests uses: ./.github/actions/run-tests if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'multi_psk_tests')" @@ -2022,6 +2152,32 @@ jobs: continue-on-error: true run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-schema-validation + - name: run client_connectivity tests + uses: ./.github/actions/run-tests + if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'client_connectivity_tests')" + with: + namespace: ${{ steps.namespace.outputs.name }}-client_connectivity + testbed: basic-5a + marker_expression: "ow_regression_lf and client_connectivity_tests" + configuration_file: "./lab_info.json" + testing_docker_image: tip-tip-wlan-cloud-docker-repo.jfrog.io/cloud-sdk-nightly:${{ github.run_id }} + additional_args: "-o firmware=${{ needs.vars.outputs.ap_version }} ${{ needs.vars.outputs.additional_arguments }} ${{ github.event.inputs.additional_args }}" + allure_results_artifact_name: allure-results-${{ steps.ap_model.outputs.model }}-client_connectivity_tests + dns_records_to_resolve: "sec-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build gw-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build fms-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build" + + # necessary because if conditionals in composite actions are currently not respected + - name: get tests logs + if: always() + continue-on-error: true + run: | + podname=$(kubectl get pods -n ${{ steps.namespace.outputs.name }}-client_connectivity --no-headers -o custom-columns=":metadata.name" -l job-name=testing | sed "s/pod\///") + kubectl logs --timestamps -n ${{ steps.namespace.outputs.name }}-client_connectivity $podname || true + + - name: delete namespace + if: always() + continue-on-error: true + run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-client_connectivity + - name: run multipsk tests uses: ./.github/actions/run-tests if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'multi_psk_tests')" @@ -2380,6 +2536,32 @@ jobs: continue-on-error: true run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-schema-validation + - name: run client_connectivity tests + uses: ./.github/actions/run-tests + if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'client_connectivity_tests')" + with: + namespace: ${{ steps.namespace.outputs.name }}-client_connectivity + testbed: basic-1a + marker_expression: "ow_regression_lf and client_connectivity_tests" + configuration_file: "./lab_info.json" + testing_docker_image: tip-tip-wlan-cloud-docker-repo.jfrog.io/cloud-sdk-nightly:${{ github.run_id }} + additional_args: "-o firmware=${{ needs.vars.outputs.ap_version }} ${{ needs.vars.outputs.additional_arguments }} ${{ github.event.inputs.additional_args }}" + allure_results_artifact_name: allure-results-${{ steps.ap_model.outputs.model }}-client_connectivity_tests + dns_records_to_resolve: "sec-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build gw-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build fms-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build" + + # necessary because if conditionals in composite actions are currently not respected + - name: get tests logs + if: always() + continue-on-error: true + run: | + podname=$(kubectl get pods -n ${{ steps.namespace.outputs.name }}-client_connectivity --no-headers -o custom-columns=":metadata.name" -l job-name=testing | sed "s/pod\///") + kubectl logs --timestamps -n ${{ steps.namespace.outputs.name }}-client_connectivity $podname || true + + - name: delete namespace + if: always() + continue-on-error: true + run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-client_connectivity + - name: run multipsk tests uses: ./.github/actions/run-tests if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'multi_psk_tests')" @@ -2739,6 +2921,32 @@ jobs: continue-on-error: true run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-schema-validation + - name: run client_connectivity tests + uses: ./.github/actions/run-tests + if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'client_connectivity_tests')" + with: + namespace: ${{ steps.namespace.outputs.name }}-client_connectivity + testbed: basic-2a + marker_expression: "ow_regression_lf and client_connectivity_tests" + configuration_file: "./lab_info.json" + testing_docker_image: tip-tip-wlan-cloud-docker-repo.jfrog.io/cloud-sdk-nightly:${{ github.run_id }} + additional_args: "-o firmware=${{ needs.vars.outputs.ap_version }} ${{ needs.vars.outputs.additional_arguments }} ${{ github.event.inputs.additional_args }}" + allure_results_artifact_name: allure-results-${{ steps.ap_model.outputs.model }}-client_connectivity_tests + dns_records_to_resolve: "sec-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build gw-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build fms-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build" + + # necessary because if conditionals in composite actions are currently not respected + - name: get tests logs + if: always() + continue-on-error: true + run: | + podname=$(kubectl get pods -n ${{ steps.namespace.outputs.name }}-client_connectivity --no-headers -o custom-columns=":metadata.name" -l job-name=testing | sed "s/pod\///") + kubectl logs --timestamps -n ${{ steps.namespace.outputs.name }}-client_connectivity $podname || true + + - name: delete namespace + if: always() + continue-on-error: true + run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-client_connectivity + - name: run multipsk tests uses: ./.github/actions/run-tests if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'multi_psk_tests')" @@ -3097,6 +3305,32 @@ jobs: continue-on-error: true run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-schema-validation + - name: run client_connectivity tests + uses: ./.github/actions/run-tests + if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'client_connectivity_tests')" + with: + namespace: ${{ steps.namespace.outputs.name }}-client_connectivity + testbed: basic-4 + marker_expression: "ow_regression_lf and client_connectivity_tests" + configuration_file: "./lab_info.json" + testing_docker_image: tip-tip-wlan-cloud-docker-repo.jfrog.io/cloud-sdk-nightly:${{ github.run_id }} + additional_args: "-o firmware=${{ needs.vars.outputs.ap_version }} ${{ needs.vars.outputs.additional_arguments }} ${{ github.event.inputs.additional_args }}" + allure_results_artifact_name: allure-results-${{ steps.ap_model.outputs.model }}-client_connectivity_tests + dns_records_to_resolve: "sec-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build gw-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build fms-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build" + + # necessary because if conditionals in composite actions are currently not respected + - name: get tests logs + if: always() + continue-on-error: true + run: | + podname=$(kubectl get pods -n ${{ steps.namespace.outputs.name }}-client_connectivity --no-headers -o custom-columns=":metadata.name" -l job-name=testing | sed "s/pod\///") + kubectl logs --timestamps -n ${{ steps.namespace.outputs.name }}-client_connectivity $podname || true + + - name: delete namespace + if: always() + continue-on-error: true + run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-client_connectivity + - name: run multipsk tests uses: ./.github/actions/run-tests if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'multi_psk_tests')" @@ -3450,6 +3684,32 @@ jobs: continue-on-error: true run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-schema-validation + - name: run client_connectivity tests + uses: ./.github/actions/run-tests + if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'client_connectivity_tests')" + with: + namespace: ${{ steps.namespace.outputs.name }}-client_connectivity + testbed: basic-6a + marker_expression: "ow_regression_lf and client_connectivity_tests" + configuration_file: "./lab_info.json" + testing_docker_image: tip-tip-wlan-cloud-docker-repo.jfrog.io/cloud-sdk-nightly:${{ github.run_id }} + additional_args: "-o firmware=${{ needs.vars.outputs.ap_version }} ${{ needs.vars.outputs.additional_arguments }} ${{ github.event.inputs.additional_args }}" + allure_results_artifact_name: allure-results-${{ steps.ap_model.outputs.model }}-client_connectivity_tests + dns_records_to_resolve: "sec-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build gw-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build fms-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build" + + # necessary because if conditionals in composite actions are currently not respected + - name: get tests logs + if: always() + continue-on-error: true + run: | + podname=$(kubectl get pods -n ${{ steps.namespace.outputs.name }}-client_connectivity --no-headers -o custom-columns=":metadata.name" -l job-name=testing | sed "s/pod\///") + kubectl logs --timestamps -n ${{ steps.namespace.outputs.name }}-client_connectivity $podname || true + + - name: delete namespace + if: always() + continue-on-error: true + run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-client_connectivity + - name: run multipsk tests uses: ./.github/actions/run-tests if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'multi_psk_tests')" @@ -3808,6 +4068,32 @@ jobs: continue-on-error: true run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-schema-validation + - name: run client_connectivity tests + uses: ./.github/actions/run-tests + if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'client_connectivity_tests')" + with: + namespace: ${{ steps.namespace.outputs.name }}-client_connectivity + testbed: basic-2 + marker_expression: "ow_regression_lf and client_connectivity_tests" + configuration_file: "./lab_info.json" + testing_docker_image: tip-tip-wlan-cloud-docker-repo.jfrog.io/cloud-sdk-nightly:${{ github.run_id }} + additional_args: "-o firmware=${{ needs.vars.outputs.ap_version }} ${{ needs.vars.outputs.additional_arguments }} ${{ github.event.inputs.additional_args }}" + allure_results_artifact_name: allure-results-${{ steps.ap_model.outputs.model }}-client_connectivity_tests + dns_records_to_resolve: "sec-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build gw-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build fms-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build" + + # necessary because if conditionals in composite actions are currently not respected + - name: get tests logs + if: always() + continue-on-error: true + run: | + podname=$(kubectl get pods -n ${{ steps.namespace.outputs.name }}-client_connectivity --no-headers -o custom-columns=":metadata.name" -l job-name=testing | sed "s/pod\///") + kubectl logs --timestamps -n ${{ steps.namespace.outputs.name }}-client_connectivity $podname || true + + - name: delete namespace + if: always() + continue-on-error: true + run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-client_connectivity + - name: run multipsk tests uses: ./.github/actions/run-tests if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'multi_psk_tests')" @@ -4166,6 +4452,32 @@ jobs: continue-on-error: true run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-schema-validation + - name: run client_connectivity tests + uses: ./.github/actions/run-tests + if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'client_connectivity_tests')" + with: + namespace: ${{ steps.namespace.outputs.name }}-client_connectivity + testbed: basic-5 + marker_expression: "ow_regression_lf and client_connectivity_tests" + configuration_file: "./lab_info.json" + testing_docker_image: tip-tip-wlan-cloud-docker-repo.jfrog.io/cloud-sdk-nightly:${{ github.run_id }} + additional_args: "-o firmware=${{ needs.vars.outputs.ap_version }} ${{ needs.vars.outputs.additional_arguments }} ${{ github.event.inputs.additional_args }}" + allure_results_artifact_name: allure-results-${{ steps.ap_model.outputs.model }}-client_connectivity_tests + dns_records_to_resolve: "sec-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build gw-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build fms-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build" + + # necessary because if conditionals in composite actions are currently not respected + - name: get tests logs + if: always() + continue-on-error: true + run: | + podname=$(kubectl get pods -n ${{ steps.namespace.outputs.name }}-client_connectivity --no-headers -o custom-columns=":metadata.name" -l job-name=testing | sed "s/pod\///") + kubectl logs --timestamps -n ${{ steps.namespace.outputs.name }}-client_connectivity $podname || true + + - name: delete namespace + if: always() + continue-on-error: true + run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-client_connectivity + - name: run multipsk tests uses: ./.github/actions/run-tests if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'multi_psk_tests')" @@ -4524,6 +4836,32 @@ jobs: continue-on-error: true run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-schema-validation + - name: run client_connectivity tests + uses: ./.github/actions/run-tests + if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'client_connectivity_tests')" + with: + namespace: ${{ steps.namespace.outputs.name }}-client_connectivity + testbed: basic-4a + marker_expression: "ow_regression_lf and client_connectivity_tests" + configuration_file: "./lab_info.json" + testing_docker_image: tip-tip-wlan-cloud-docker-repo.jfrog.io/cloud-sdk-nightly:${{ github.run_id }} + additional_args: "-o firmware=${{ needs.vars.outputs.ap_version }} ${{ needs.vars.outputs.additional_arguments }} ${{ github.event.inputs.additional_args }}" + allure_results_artifact_name: allure-results-${{ steps.ap_model.outputs.model }}-client_connectivity_tests + dns_records_to_resolve: "sec-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build gw-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build fms-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build" + + # necessary because if conditionals in composite actions are currently not respected + - name: get tests logs + if: always() + continue-on-error: true + run: | + podname=$(kubectl get pods -n ${{ steps.namespace.outputs.name }}-client_connectivity --no-headers -o custom-columns=":metadata.name" -l job-name=testing | sed "s/pod\///") + kubectl logs --timestamps -n ${{ steps.namespace.outputs.name }}-client_connectivity $podname || true + + - name: delete namespace + if: always() + continue-on-error: true + run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-client_connectivity + - name: run multipsk tests uses: ./.github/actions/run-tests if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'multi_psk_tests')" @@ -4882,6 +5220,32 @@ jobs: continue-on-error: true run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-schema-validation + - name: run client_connectivity tests + uses: ./.github/actions/run-tests + if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'client_connectivity_tests')" + with: + namespace: ${{ steps.namespace.outputs.name }}-client_connectivity + testbed: basic-3 + marker_expression: "ow_regression_lf and client_connectivity_tests" + configuration_file: "./lab_info.json" + testing_docker_image: tip-tip-wlan-cloud-docker-repo.jfrog.io/cloud-sdk-nightly:${{ github.run_id }} + additional_args: "-o firmware=${{ needs.vars.outputs.ap_version }} ${{ needs.vars.outputs.additional_arguments }} ${{ github.event.inputs.additional_args }}" + allure_results_artifact_name: allure-results-${{ steps.ap_model.outputs.model }}-client_connectivity_tests + dns_records_to_resolve: "sec-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build gw-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build fms-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build" + + # necessary because if conditionals in composite actions are currently not respected + - name: get tests logs + if: always() + continue-on-error: true + run: | + podname=$(kubectl get pods -n ${{ steps.namespace.outputs.name }}-client_connectivity --no-headers -o custom-columns=":metadata.name" -l job-name=testing | sed "s/pod\///") + kubectl logs --timestamps -n ${{ steps.namespace.outputs.name }}-client_connectivity $podname || true + + - name: delete namespace + if: always() + continue-on-error: true + run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-client_connectivity + - name: run multipsk tests uses: ./.github/actions/run-tests if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'multi_psk_tests')" @@ -5240,6 +5604,32 @@ jobs: continue-on-error: true run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-schema-validation + - name: run client_connectivity tests + uses: ./.github/actions/run-tests + if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'client_connectivity_tests')" + with: + namespace: ${{ steps.namespace.outputs.name }}-client_connectivity + testbed: basic-1 + marker_expression: "ow_regression_lf and client_connectivity_tests" + configuration_file: "./lab_info.json" + testing_docker_image: tip-tip-wlan-cloud-docker-repo.jfrog.io/cloud-sdk-nightly:${{ github.run_id }} + additional_args: "-o firmware=${{ needs.vars.outputs.ap_version }} ${{ needs.vars.outputs.additional_arguments }} ${{ github.event.inputs.additional_args }}" + allure_results_artifact_name: allure-results-${{ steps.ap_model.outputs.model }}-client_connectivity_tests + dns_records_to_resolve: "sec-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build gw-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build fms-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build" + + # necessary because if conditionals in composite actions are currently not respected + - name: get tests logs + if: always() + continue-on-error: true + run: | + podname=$(kubectl get pods -n ${{ steps.namespace.outputs.name }}-client_connectivity --no-headers -o custom-columns=":metadata.name" -l job-name=testing | sed "s/pod\///") + kubectl logs --timestamps -n ${{ steps.namespace.outputs.name }}-client_connectivity $podname || true + + - name: delete namespace + if: always() + continue-on-error: true + run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-client_connectivity + - name: run multipsk tests uses: ./.github/actions/run-tests if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'multi_psk_tests')" @@ -5598,6 +5988,32 @@ jobs: continue-on-error: true run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-schema-validation + - name: run client_connectivity tests + uses: ./.github/actions/run-tests + if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'client_connectivity_tests')" + with: + namespace: ${{ steps.namespace.outputs.name }}-client_connectivity + testbed: basic-1 + marker_expression: "ow_regression_lf and client_connectivity_tests" + configuration_file: "./lab_info.json" + testing_docker_image: tip-tip-wlan-cloud-docker-repo.jfrog.io/cloud-sdk-nightly:${{ github.run_id }} + additional_args: "-o firmware=${{ needs.vars.outputs.ap_version }} ${{ needs.vars.outputs.additional_arguments }} ${{ github.event.inputs.additional_args }}" + allure_results_artifact_name: allure-results-${{ steps.ap_model.outputs.model }}-client_connectivity_tests + dns_records_to_resolve: "sec-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build gw-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build fms-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build" + + # necessary because if conditionals in composite actions are currently not respected + - name: get tests logs + if: always() + continue-on-error: true + run: | + podname=$(kubectl get pods -n ${{ steps.namespace.outputs.name }}-client_connectivity --no-headers -o custom-columns=":metadata.name" -l job-name=testing | sed "s/pod\///") + kubectl logs --timestamps -n ${{ steps.namespace.outputs.name }}-client_connectivity $podname || true + + - name: delete namespace + if: always() + continue-on-error: true + run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-client_connectivity + - name: run multipsk tests uses: ./.github/actions/run-tests if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'multi_psk_tests')" @@ -5956,6 +6372,32 @@ jobs: continue-on-error: true run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-schema-validation + - name: run client_connectivity tests + uses: ./.github/actions/run-tests + if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'client_connectivity_tests')" + with: + namespace: ${{ steps.namespace.outputs.name }}-client_connectivity + testbed: basic-4 + marker_expression: "ow_regression_lf and client_connectivity_tests" + configuration_file: "./lab_info.json" + testing_docker_image: tip-tip-wlan-cloud-docker-repo.jfrog.io/cloud-sdk-nightly:${{ github.run_id }} + additional_args: "-o firmware=${{ needs.vars.outputs.ap_version }} ${{ needs.vars.outputs.additional_arguments }} ${{ github.event.inputs.additional_args }}" + allure_results_artifact_name: allure-results-${{ steps.ap_model.outputs.model }}-client_connectivity_tests + dns_records_to_resolve: "sec-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build gw-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build fms-${{ needs.vars.outputs.existing_controller }}.cicd.lab.wlan.tip.build" + + # necessary because if conditionals in composite actions are currently not respected + - name: get tests logs + if: always() + continue-on-error: true + run: | + podname=$(kubectl get pods -n ${{ steps.namespace.outputs.name }}-client_connectivity --no-headers -o custom-columns=":metadata.name" -l job-name=testing | sed "s/pod\///") + kubectl logs --timestamps -n ${{ steps.namespace.outputs.name }}-client_connectivity $podname || true + + - name: delete namespace + if: always() + continue-on-error: true + run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-client_connectivity + - name: run multipsk tests uses: ./.github/actions/run-tests if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'multi_psk_tests')" diff --git a/tests/e2e/basic/validation_of_operating_modes/bridge_mode/client_connectivity/test_general_security_modes.py b/tests/e2e/basic/validation_of_operating_modes/bridge_mode/client_connectivity/test_general_security_modes.py index 0cb989a32..3c9599e7a 100644 --- a/tests/e2e/basic/validation_of_operating_modes/bridge_mode/client_connectivity/test_general_security_modes.py +++ b/tests/e2e/basic/validation_of_operating_modes/bridge_mode/client_connectivity/test_general_security_modes.py @@ -454,7 +454,7 @@ class TestBridgeModeConnectivityOWE(object): @pytest.mark.owe @pytest.mark.twog @pytest.mark.ow_regression_lf - @pytest.mark.owe_owe_transition + @pytest.mark.owe_tests @allure.story('OWE 2.4 GHZ Band') @allure.title("BRIDGE Mode Client Connectivity Test with OWE encryption 2.4 GHz Band") @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13669", name="WIFI-13669") @@ -483,7 +483,7 @@ class TestBridgeModeConnectivityOWE(object): @pytest.mark.owe @pytest.mark.fiveg @pytest.mark.ow_regression_lf - @pytest.mark.owe_owe_transition + @pytest.mark.owe_tests @allure.story('OWE 5 GHZ Band') @allure.title("BRIDGE Mode Client Connectivity Test with OWE encryption 5 GHz Band") @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13669", name="WIFI-13669") @@ -513,7 +513,7 @@ class TestBridgeModeConnectivityOWE(object): @pytest.mark.twog @pytest.mark.sixg @pytest.mark.ow_regression_lf - @pytest.mark.owe_owe_transition + @pytest.mark.owe_tests @allure.story('OWE 6 GHZ Band') @allure.title("BRIDGE Mode Client Connectivity Test with OWE encryption 6 GHz Band") @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13669", name="WIFI-13669") @@ -575,7 +575,7 @@ class TestBridgeModeConnectivityOWETransition(object): @pytest.mark.twog @pytest.mark.owe_client @pytest.mark.ow_regression_lf - @pytest.mark.owe_owe_transition + @pytest.mark.owe_tests @allure.story('OWE-Transition 2.4 GHZ Band - OWE Client') @allure.title("BRIDGE Mode OWE-Transition: OWE client connects to hidden SSID") @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13674", name="WIFI-13674") @@ -605,7 +605,7 @@ class TestBridgeModeConnectivityOWETransition(object): @pytest.mark.twog @pytest.mark.non_owe_client @pytest.mark.ow_regression_lf - @pytest.mark.owe_owe_transition + @pytest.mark.owe_tests @allure.story('OWE-Transition 2.4 GHZ Band - Non-OWE Client') @allure.title("BRIDGE Mode OWE-Transition: Non-OWE client connects to SSID in open mode") @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13673", name="WIFI-13673") @@ -635,7 +635,7 @@ class TestBridgeModeConnectivityOWETransition(object): @pytest.mark.fiveg @pytest.mark.owe_client @pytest.mark.ow_regression_lf - @pytest.mark.owe_owe_transition + @pytest.mark.owe_tests @allure.story('OWE-Transition 5 GHZ Band - OWE Client') @allure.title("BRIDGE Mode OWE-Transition: OWE client connects to hidden SSID") @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13674", name="WIFI-13674") @@ -665,7 +665,7 @@ class TestBridgeModeConnectivityOWETransition(object): @pytest.mark.fiveg @pytest.mark.non_owe_client @pytest.mark.ow_regression_lf - @pytest.mark.owe_owe_transition + @pytest.mark.owe_tests @allure.story('OWE-Transition 5 GHZ Band - Non-OWE Client') @allure.title("BRIDGE Mode OWE-Transition: Non-OWE client connects to SSID in open mode") @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13673", name="WIFI-13673") diff --git a/tests/e2e/basic/validation_of_operating_modes/nat_mode/client_connectivity/test_general_security_modes.py b/tests/e2e/basic/validation_of_operating_modes/nat_mode/client_connectivity/test_general_security_modes.py index 71ec7556e..038cef6cc 100644 --- a/tests/e2e/basic/validation_of_operating_modes/nat_mode/client_connectivity/test_general_security_modes.py +++ b/tests/e2e/basic/validation_of_operating_modes/nat_mode/client_connectivity/test_general_security_modes.py @@ -504,7 +504,7 @@ class TestNatModeConnectivityOWE(object): @pytest.mark.owe @pytest.mark.twog @pytest.mark.ow_regression_lf - @pytest.mark.owe_owe_transition + @pytest.mark.owe_tests @allure.story('OWE 2.4 GHZ Band') @allure.title("NAT Mode Client Connectivity Test with OWE encryption 2.4 GHz Band") @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13669", name="WIFI-13669") @@ -533,7 +533,7 @@ class TestNatModeConnectivityOWE(object): @pytest.mark.owe @pytest.mark.fiveg @pytest.mark.ow_regression_lf - @pytest.mark.owe_owe_transition + @pytest.mark.owe_tests @allure.story('OWE 5 GHZ Band') @allure.title("NAT Mode Client Connectivity Test with OWE encryption 5 GHz Band") @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13669", name="WIFI-13669") @@ -563,7 +563,7 @@ class TestNatModeConnectivityOWE(object): @pytest.mark.twog @pytest.mark.sixg @pytest.mark.ow_regression_lf - @pytest.mark.owe_owe_transition + @pytest.mark.owe_tests @allure.story('OWE 6 GHZ Band') @allure.title("NAT Mode Client Connectivity Test with OWE encryption 6 GHz Band") @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13669", name="WIFI-13669") @@ -626,7 +626,7 @@ class TestNatModeConnectivityOWETransition(object): @pytest.mark.twog @pytest.mark.owe_client @pytest.mark.ow_regression_lf - @pytest.mark.owe_owe_transition + @pytest.mark.owe_tests @allure.story('OWE-Transition 2.4 GHZ Band - OWE Client') @allure.title("NAT Mode OWE-Transition: OWE client connects to hidden SSID") @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13674", name="WIFI-13674") @@ -656,7 +656,7 @@ class TestNatModeConnectivityOWETransition(object): @pytest.mark.twog @pytest.mark.non_owe_client @pytest.mark.ow_regression_lf - @pytest.mark.owe_owe_transition + @pytest.mark.owe_tests @allure.story('OWE-Transition 2.4 GHZ Band - Non-OWE Client') @allure.title("NAT Mode OWE-Transition: Non-OWE client connects to SSID in open mode") @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13673", name="WIFI-13673") @@ -686,7 +686,7 @@ class TestNatModeConnectivityOWETransition(object): @pytest.mark.fiveg @pytest.mark.owe_client @pytest.mark.ow_regression_lf - @pytest.mark.owe_owe_transition + @pytest.mark.owe_tests @allure.story('OWE-Transition 5 GHZ Band - OWE Client') @allure.title("NAT Mode OWE-Transition: OWE client connects to hidden SSID") @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13674", name="WIFI-13674") @@ -716,7 +716,7 @@ class TestNatModeConnectivityOWETransition(object): @pytest.mark.fiveg @pytest.mark.non_owe_client @pytest.mark.ow_regression_lf - @pytest.mark.owe_owe_transition + @pytest.mark.owe_tests @allure.story('OWE-Transition 5 GHZ Band - Non-OWE Client') @allure.title("NAT Mode OWE-Transition: Non-OWE client connects to SSID in open mode") @allure.testcase(url="https://telecominfraproject.atlassian.net/browse/WIFI-13673", name="WIFI-13673")