mirror of
				https://github.com/Telecominfraproject/wlan-testing.git
				synced 2025-10-31 19:08:01 +00:00 
			
		
		
		
	Add CIG189H to performance workflow and add pass/fail criteria for performance testing
This commit is contained in:
		
							
								
								
									
										235
									
								
								.github/workflows/performance.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										235
									
								
								.github/workflows/performance.yml
									
									
									
									
										vendored
									
									
								
							| @@ -22,7 +22,7 @@ on: | |||||||
|         description: "revision of the Open Wifi Helm chart" |         description: "revision of the Open Wifi Helm chart" | ||||||
|       ap_models: |       ap_models: | ||||||
|         required: true |         required: true | ||||||
|         default: "cig_wf186h,edgecore_eap104,sonicfi_rap630c-311g,hfcl_ion4xe,yuncore_fap655,cig_wf189,edgecore_eap105,sonicfi_rap7110c-341x,edgecore_eap101,edgecore_eap111, edgecore_oap103, edgecore_eap112" |         default: "cig_wf186h,edgecore_eap104,sonicfi_rap630c-311g,hfcl_ion4xe,yuncore_fap655,cig_wf189,edgecore_eap105,sonicfi_rap7110c-341x,edgecore_eap101,edgecore_eap111, edgecore_oap103, edgecore_eap112,cig_wf189h" | ||||||
|         description: "the AP models to test" |         description: "the AP models to test" | ||||||
|       ap_version: |       ap_version: | ||||||
|         required: true |         required: true | ||||||
| @@ -97,7 +97,7 @@ jobs: | |||||||
|           elif [[ "$DOW" -eq "4" ]]; then |           elif [[ "$DOW" -eq "4" ]]; then | ||||||
|             AP_MODELS="${{ github.event.inputs.ap_models || 'cig_wf186h,cig_wf196,yuncore_ax820' }}" |             AP_MODELS="${{ github.event.inputs.ap_models || 'cig_wf186h,cig_wf196,yuncore_ax820' }}" | ||||||
|           else |           else | ||||||
|             AP_MODELS="${{ github.event.inputs.ap_models || 'cig_wf186h,cig_wf196,yuncore_ax820,yuncore_fap655,sercomm_ap72tip,edgecore_eap101,edgecore_oap103,edgecore_eap112' }}" |             AP_MODELS="${{ github.event.inputs.ap_models || 'cig_wf186h,cig_wf196,yuncore_ax820,yuncore_fap655,sercomm_ap72tip,edgecore_eap101,edgecore_oap103,edgecore_eap112,cig_wf189h' }}" | ||||||
|           fi |           fi | ||||||
|           echo "List of AP models to test - $AP_MODELS" |           echo "List of AP models to test - $AP_MODELS" | ||||||
|           AP_MODELS=$(echo $AP_MODELS | sed "s/,/\",\"/g" | sed 's/^/[\"/g' | sed 's/$/\"]/g') |           AP_MODELS=$(echo $AP_MODELS | sed "s/,/\",\"/g" | sed 's/^/[\"/g' | sed 's/$/\"]/g') | ||||||
| @@ -3337,12 +3337,239 @@ jobs: | |||||||
|       - name: show sec logs |       - name: show sec logs | ||||||
|         if: failure() |         if: failure() | ||||||
|         run: kubectl -n openwifi-${{ needs.vars.outputs.existing_controller }} logs deployment/owsec |         run: kubectl -n openwifi-${{ needs.vars.outputs.existing_controller }} logs deployment/owsec | ||||||
|  |   test-cig-wf189h: | ||||||
|  |     needs: [ "vars", "build"] | ||||||
|  |     runs-on: [ self-hosted, small ] | ||||||
|  |     timeout-minutes: 1440 | ||||||
|  |     if: "!cancelled() && contains(fromJSON(needs.vars.outputs.ap_models), 'cig_wf189h')" | ||||||
|  |     env: | ||||||
|  |  | ||||||
|  |       AP_MODEL: cig_wf189h | ||||||
|  |     steps: | ||||||
|  |       - name: Set AP model output | ||||||
|  |         id: ap_model | ||||||
|  |         run: | | ||||||
|  |           echo "model=${AP_MODEL}" >> $GITHUB_OUTPUT | ||||||
|  |  | ||||||
|  |       - uses: actions/checkout@v3 | ||||||
|  |       - name: Set up Python | ||||||
|  |         uses: actions/setup-python@v4 | ||||||
|  |         with: | ||||||
|  |           python-version: "3.8" | ||||||
|  |  | ||||||
|  |  | ||||||
|  |       # TODO WIFI-7839 delete when issue is resolved on AWS CLI side | ||||||
|  |       - name: install kubectl | ||||||
|  |         run: | | ||||||
|  |           curl -s -LO "https://dl.k8s.io/release/v1.27.6/bin/linux/amd64/kubectl" | ||||||
|  |           sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl | ||||||
|  |  | ||||||
|  |       - name: install aws CLI tool | ||||||
|  |         run: | | ||||||
|  |           curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" | ||||||
|  |           unzip awscliv2.zip | ||||||
|  |           sudo ./aws/install | ||||||
|  |  | ||||||
|  |       - name: get EKS access credentials | ||||||
|  |         run: aws eks update-kubeconfig --name ${{ env.AWS_EKS_NAME }} | ||||||
|  |  | ||||||
|  |       - name: prepare namespace name | ||||||
|  |         id: namespace | ||||||
|  |         run: | | ||||||
|  |           NAMESPACE="performance-${{ github.run_id }}-$(echo ${{ steps.ap_model.outputs.model }} | tr '[:upper:]' '[:lower:]' | tr '_' '-')" | ||||||
|  |           echo "name=${NAMESPACE}" >> $GITHUB_OUTPUT | ||||||
|  |  | ||||||
|  |       - name: prepare configuration | ||||||
|  |         run: | | ||||||
|  |           cat << EOF > lab_info.json | ||||||
|  |           ${{ secrets.LAB_INFO_JSON }} | ||||||
|  |           EOF | ||||||
|  |  | ||||||
|  |  | ||||||
|  |       - name: run tests dataplane_tests | ||||||
|  |         uses: ./.github/actions/run-tests | ||||||
|  |         if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'dataplane_tests')" | ||||||
|  |         with: | ||||||
|  |           namespace: ${{ steps.namespace.outputs.name }}-dtt | ||||||
|  |           testbed: basic-4 | ||||||
|  |           marker_expression: "performance and dataplane_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 }}" | ||||||
|  |           allure_results_artifact_name: "allure-results-${{ steps.ap_model.outputs.model }}-dataplane_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 }}-dtt --no-headers -o custom-columns=":metadata.name" -l job-name=testing | sed "s/pod\///") | ||||||
|  |           kubectl logs --timestamps -n ${{ steps.namespace.outputs.name }}-dtt $podname || true | ||||||
|  |  | ||||||
|  |       - name: delete namespace | ||||||
|  |         if: always() | ||||||
|  |         continue-on-error: true | ||||||
|  |         run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-dtt | ||||||
|  |  | ||||||
|  |       - name: run tests wifi_capacity_ax_tests | ||||||
|  |         uses: ./.github/actions/run-tests | ||||||
|  |         if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'wifi_capacity_ax_tests')" | ||||||
|  |         with: | ||||||
|  |           namespace: ${{ steps.namespace.outputs.name }}-wca | ||||||
|  |           testbed: basic-4 | ||||||
|  |           marker_expression: "performance and wifi_capacity_ax_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 }}"' | ||||||
|  |           allure_results_artifact_name: "allure-results-${{ steps.ap_model.outputs.model }}-wifi_capacity_ax_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 }}-wca --no-headers -o custom-columns=":metadata.name" -l job-name=testing | sed "s/pod\///") | ||||||
|  |           kubectl logs --timestamps -n ${{ steps.namespace.outputs.name }}-wca $podname || true | ||||||
|  |  | ||||||
|  |       - name: delete namespace | ||||||
|  |         if: always() | ||||||
|  |         continue-on-error: true | ||||||
|  |         run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-wca | ||||||
|  |  | ||||||
|  |       - name: run tests wifi_capacity_be_tests | ||||||
|  |         uses: ./.github/actions/run-tests | ||||||
|  |         if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'wifi_capacity_be_tests')" | ||||||
|  |         with: | ||||||
|  |           namespace: ${{ steps.namespace.outputs.name }}-ssdbt | ||||||
|  |           testbed: basic-4 | ||||||
|  |           marker_expression: "performance and wifi_capacity_be_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 }}" | ||||||
|  |           allure_results_artifact_name: "allure-results-${{ steps.ap_model.outputs.model }}-wifi_capacity_be_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 }}-ssdbt --no-headers -o custom-columns=":metadata.name" -l job-name=testing | sed "s/pod\///") | ||||||
|  |           kubectl logs --timestamps -n ${{ steps.namespace.outputs.name }}-ssdbt $podname || true | ||||||
|  |  | ||||||
|  |       - name: delete namespace | ||||||
|  |         if: always() | ||||||
|  |         continue-on-error: true | ||||||
|  |         run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-ssdbt | ||||||
|  |  | ||||||
|  |       - name: run tests ax_client_scale_tests | ||||||
|  |         uses: ./.github/actions/run-tests | ||||||
|  |         if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'ax_client_scale_tests')" | ||||||
|  |         with: | ||||||
|  |           namespace: ${{ steps.namespace.outputs.name }}-wct | ||||||
|  |           testbed: basic-4 | ||||||
|  |           marker_expression: "performance and ax_client_scale_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 }}" | ||||||
|  |           allure_results_artifact_name: "allure-results-${{ steps.ap_model.outputs.model }}-ax_client_scale_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 }}-wct --no-headers -o custom-columns=":metadata.name" -l job-name=testing | sed "s/pod\///") | ||||||
|  |           kubectl logs --timestamps -n ${{ steps.namespace.outputs.name }}-wct $podname || true | ||||||
|  |  | ||||||
|  |       - name: delete namespace | ||||||
|  |         if: always() | ||||||
|  |         continue-on-error: true | ||||||
|  |         run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-wct | ||||||
|  |  | ||||||
|  |       - name: run tests be_client_scale_tests | ||||||
|  |         uses: ./.github/actions/run-tests | ||||||
|  |         if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'be_client_scale_tests')" | ||||||
|  |         with: | ||||||
|  |           namespace: ${{ steps.namespace.outputs.name }}-wct | ||||||
|  |           testbed: basic-4 | ||||||
|  |           marker_expression: "performance and be_client_scale_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 }}" | ||||||
|  |           allure_results_artifact_name: "allure-results-${{ steps.ap_model.outputs.model }}-be_client_scale_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 }}-wct --no-headers -o custom-columns=":metadata.name" -l job-name=testing | sed "s/pod\///") | ||||||
|  |           kubectl logs --timestamps -n ${{ steps.namespace.outputs.name }}-wct $podname || true | ||||||
|  |  | ||||||
|  |       - name: delete namespace | ||||||
|  |         if: always() | ||||||
|  |         continue-on-error: true | ||||||
|  |         run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-wct | ||||||
|  |  | ||||||
|  |       - name: run tests multi_band_tests | ||||||
|  |         uses: ./.github/actions/run-tests | ||||||
|  |         if: "!cancelled() && contains(fromJSON(needs.vars.outputs.marker_expressions), 'multi_band_tests')" | ||||||
|  |         with: | ||||||
|  |           namespace: ${{ steps.namespace.outputs.name }}-wct | ||||||
|  |           testbed: basic-4 | ||||||
|  |           marker_expression: "performance and multi_band_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 }}" | ||||||
|  |           allure_results_artifact_name: "allure-results-${{ steps.ap_model.outputs.model }}-multi_band_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 }}-wct --no-headers -o custom-columns=":metadata.name" -l job-name=testing | sed "s/pod\///") | ||||||
|  |           kubectl logs --timestamps -n ${{ steps.namespace.outputs.name }}-wct $podname || true | ||||||
|  |  | ||||||
|  |       - name: delete namespace | ||||||
|  |         if: always() | ||||||
|  |         continue-on-error: true | ||||||
|  |         run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}-wct | ||||||
|  |  | ||||||
|  |       - name: show gw logs | ||||||
|  |         if: failure() | ||||||
|  |         run: kubectl -n openwifi-${{ needs.vars.outputs.existing_controller }} logs deployment/owgw | ||||||
|  |  | ||||||
|  |       - name: show fms logs | ||||||
|  |         if: failure() | ||||||
|  |         run: kubectl -n openwifi-${{ needs.vars.outputs.existing_controller }} logs deployment/owfms | ||||||
|  |  | ||||||
|  |       - name: show prov logs | ||||||
|  |         if: failure() | ||||||
|  |         run: kubectl -n openwifi-${{ needs.vars.outputs.existing_controller }} logs deployment/owprov | ||||||
|  |  | ||||||
|  |       - name: show analytics logs | ||||||
|  |         if: failure() | ||||||
|  |         run: kubectl -n openwifi-${{ needs.vars.outputs.existing_controller }} logs deployment/owanalytics | ||||||
|  |  | ||||||
|  |       - name: show subscription (userportal) logs | ||||||
|  |         if: failure() | ||||||
|  |         run: kubectl -n openwifi-${{ needs.vars.outputs.existing_controller }} logs deployment/owsub | ||||||
|  |  | ||||||
|  |       - name: show sec logs | ||||||
|  |         if: failure() | ||||||
|  |         run: kubectl -n openwifi-${{ needs.vars.outputs.existing_controller }} logs deployment/owsec | ||||||
|   # Save reports |   # Save reports | ||||||
|   report: |   report: | ||||||
|     if: "!cancelled()" |     if: "!cancelled()" | ||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|     needs: [vars, test-cig-wf186h, test-edgecore-eap104, test-cig-wf196, test-udaya-a6-id2, test-sonicfi-rap630c-311g, test-hfcl-ion4xe, test-yuncore-fap655, test-cig-wf189, test-edgecore-eap105, test-sonicfi-rap7110c-341x, test-edgecore-eap101, test-edgecore-eap111, test-edgecore-oap103,test-edgecore-eap112] |     needs: [vars, test-cig-wf186h, test-edgecore-eap104, test-cig-wf196, test-udaya-a6-id2, test-sonicfi-rap630c-311g, test-hfcl-ion4xe, test-yuncore-fap655, test-cig-wf189, test-edgecore-eap105, test-sonicfi-rap7110c-341x, test-edgecore-eap101, test-edgecore-eap111, test-edgecore-oap103,test-edgecore-eap112,test-cig-wf189h] | ||||||
|     strategy: |     strategy: | ||||||
|       fail-fast: false |       fail-fast: false | ||||||
|       matrix: |       matrix: | ||||||
| @@ -3429,7 +3656,7 @@ jobs: | |||||||
|  |  | ||||||
|   # Cleanup |   # Cleanup | ||||||
|   cleanup: |   cleanup: | ||||||
|     needs: [test-cig-wf186h, test-edgecore-eap104, test-cig-wf196, test-udaya-a6-id2, test-sonicfi-rap630c-311g, test-hfcl-ion4xe, test-yuncore-fap655, test-cig-wf189, test-edgecore-eap105, test-sonicfi-rap7110c-341x, test-edgecore-eap101, test-edgecore-eap111, test-edgecore-oap103,test-edgecore-eap112] |     needs: [test-cig-wf186h, test-edgecore-eap104, test-cig-wf196, test-udaya-a6-id2, test-sonicfi-rap630c-311g, test-hfcl-ion4xe, test-yuncore-fap655, test-cig-wf189, test-edgecore-eap105, test-sonicfi-rap7110c-341x, test-edgecore-eap101, test-edgecore-eap111, test-edgecore-oap103,test-edgecore-eap112,test-cig-wf189h] | ||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|     if: always() |     if: always() | ||||||
|     steps: |     steps: | ||||||
|   | |||||||
| @@ -643,6 +643,30 @@ | |||||||
|         "UDP": null |         "UDP": null | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|  |   }, | ||||||
|  |     "edgecore_oap103":{ | ||||||
|  |       "AX":{ | ||||||
|  |       "2G 2x2 20MHz": { | ||||||
|  |         "TCP": 200, | ||||||
|  |         "UDP": 220 | ||||||
|  |       }, | ||||||
|  |       "5G 2x2 80MHz": { | ||||||
|  |         "TCP": 800, | ||||||
|  |         "UDP": 900 | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |     "edgecore_eap112":{ | ||||||
|  |       "AX":{ | ||||||
|  |       "2G 2x2 20MHz": { | ||||||
|  |         "TCP": 200, | ||||||
|  |         "UDP": 220 | ||||||
|  |       }, | ||||||
|  |       "5G 2x2 80MHz": { | ||||||
|  |         "TCP": 800, | ||||||
|  |         "UDP": 900 | ||||||
|  |       } | ||||||
|  |     } | ||||||
|   } |   } | ||||||
| } | } | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 bhargavi-ct
					bhargavi-ct