mirror of
				https://github.com/Telecominfraproject/wlan-testing.git
				synced 2025-10-31 02:48:11 +00:00 
			
		
		
		
	Updated advanced workflow as per 3.2 AP target (#992)
Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
This commit is contained in:
		 Jitendrakumar Kushavah
					Jitendrakumar Kushavah
				
			
				
					committed by
					
						 GitHub
						GitHub
					
				
			
			
				
	
			
			
			 GitHub
						GitHub
					
				
			
						parent
						
							91373d810c
						
					
				
				
					commit
					87c328272d
				
			
							
								
								
									
										320
									
								
								.github/workflows/advanced.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										320
									
								
								.github/workflows/advanced.yml
									
									
									
									
										vendored
									
									
								
							| @@ -21,7 +21,7 @@ on: | ||||
|         description: 'revision of the Open Wifi Helm chart' | ||||
|       ap_models: | ||||
|         required: true | ||||
|         default: 'edgecore_eap104,edgecore_oap101-6e,cig_wf186h,edgecore_eap101,edgecore_eap102,cig_wf196' | ||||
|         default: 'edgecore_eap104,edgecore_eap101,edgecore_eap111,cig_wf189,edgecore_eap105,sercomm_ap72tip,cig_wf196,yuncore_ax820,yuncore_fap655' | ||||
|         description: 'the AP models to test' | ||||
|       ap_version: | ||||
|         required: true | ||||
| @@ -202,13 +202,13 @@ jobs: | ||||
|       if: failure() | ||||
|       run: kubectl -n openwifi-${{ needs.vars.outputs.existing_controller }} logs deployment/owsub | ||||
|  | ||||
|   test-edgecore-oap101-6e: | ||||
|   test-edgecore-eap101: | ||||
|     runs-on: [ self-hosted, small ] | ||||
|     needs: [ "vars", "build" ] | ||||
|     timeout-minutes: 1440 | ||||
|     if: "!cancelled() && contains(fromJSON(needs.vars.outputs.ap_models), 'edgecore_oap101-6e')" | ||||
|     if: "!cancelled() && contains(fromJSON(needs.vars.outputs.ap_models), 'edgecore_eap101')" | ||||
|     env: | ||||
|       AP_MODEL: edgecore_oap101-6e | ||||
|       AP_MODEL: edgecore_eap101 | ||||
|     steps: | ||||
|       - name: Set AP model output | ||||
|         id: ap_model | ||||
| @@ -298,13 +298,13 @@ jobs: | ||||
|         if: failure() | ||||
|         run: kubectl -n openwifi-${{ needs.vars.outputs.existing_controller }} logs deployment/owsub | ||||
|  | ||||
|   test-cig-wf86h: | ||||
|   test-edgecore-eap111: | ||||
|     runs-on: [ self-hosted, small ] | ||||
|     needs: [ "vars", "build" ] | ||||
|     timeout-minutes: 1440 | ||||
|     if: "!cancelled() && contains(fromJSON(needs.vars.outputs.ap_models), 'cig_wf186h')" | ||||
|     if: "!cancelled() && contains(fromJSON(needs.vars.outputs.ap_models), 'edgecore_eap111')" | ||||
|     env: | ||||
|       AP_MODEL: cig_wf186h | ||||
|       AP_MODEL: edgecore_eap111 | ||||
|     steps: | ||||
|       - name: Set AP model output | ||||
|         id: ap_model | ||||
| @@ -393,13 +393,13 @@ jobs: | ||||
|         if: failure() | ||||
|         run: kubectl -n openwifi-${{ needs.vars.outputs.existing_controller }} logs deployment/owsub | ||||
|  | ||||
|   test-edgecore-eap101: | ||||
|   test-cig-wf189: | ||||
|     runs-on: [ self-hosted, small ] | ||||
|     needs: [ "vars", "build" ] | ||||
|     timeout-minutes: 1440 | ||||
|     if: "!cancelled() && contains(fromJSON(needs.vars.outputs.ap_models), 'edgecore_eap101')" | ||||
|     if: "!cancelled() && contains(fromJSON(needs.vars.outputs.ap_models), 'cig_wf189')" | ||||
|     env: | ||||
|       AP_MODEL: edgecore_eap101 | ||||
|       AP_MODEL: cig_wf189 | ||||
|     steps: | ||||
|       - name: Set AP model output | ||||
|         id: ap_model | ||||
| @@ -489,13 +489,13 @@ jobs: | ||||
|         if: failure() | ||||
|         run: kubectl -n openwifi-${{ needs.vars.outputs.existing_controller }} logs deployment/owsub | ||||
|  | ||||
|   test-edgecore-eap102: | ||||
|   test-edgecore-eap105: | ||||
|     runs-on: [ self-hosted, small ] | ||||
|     needs: [ "vars", "build" ] | ||||
|     timeout-minutes: 1440 | ||||
|     if: "!cancelled() && contains(fromJSON(needs.vars.outputs.ap_models), 'edgecore_eap102')" | ||||
|     if: "!cancelled() && contains(fromJSON(needs.vars.outputs.ap_models), 'edgecore_eap105')" | ||||
|     env: | ||||
|       AP_MODEL: edgecore_eap102 | ||||
|       AP_MODEL: edgecore_eap105 | ||||
|     steps: | ||||
|       - name: Set AP model output | ||||
|         id: ap_model | ||||
| @@ -585,6 +585,102 @@ jobs: | ||||
|         if: failure() | ||||
|         run: kubectl -n openwifi-${{ needs.vars.outputs.existing_controller }} logs deployment/owsub | ||||
|  | ||||
|   test-sercomm-ap72tip: | ||||
|     runs-on: [ self-hosted, small ] | ||||
|     needs: [ "vars", "build" ] | ||||
|     timeout-minutes: 1440 | ||||
|     if: "!cancelled() && contains(fromJSON(needs.vars.outputs.ap_models), 'sercomm_ap72tip')" | ||||
|     env: | ||||
|       AP_MODEL: sercomm_ap72tip | ||||
|     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" | ||||
|  | ||||
|       - uses: actions/checkout@v3 | ||||
|       - 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: install kubectl | ||||
|         run: | | ||||
|           # TODO WIFI-7839 revert to using stable when issue is resolved on AWS CLI side | ||||
|           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: get EKS access credentials | ||||
|         run: aws eks update-kubeconfig  --name ${{ env.AWS_EKS_NAME }} | ||||
|  | ||||
|       - name: prepare namespace name | ||||
|         id: namespace | ||||
|         run: | | ||||
|           NAMESPACE="testing-${{ 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 | ||||
|         uses: ./.github/actions/run-tests | ||||
|         with: | ||||
|           namespace: ${{ steps.namespace.outputs.name }} | ||||
|           testbed: advanced-2c | ||||
|           marker_expression: "${{ needs.vars.outputs.marker_expression }}" | ||||
|           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 }}" | ||||
|           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 }} --no-headers -o custom-columns=":metadata.name" -l job-name=testing | sed "s/pod\///") | ||||
|           kubectl logs --timestamps -n ${{ steps.namespace.outputs.name }} $podname || true | ||||
|  | ||||
|       - name: delete namespace | ||||
|         if: always() | ||||
|         continue-on-error: true | ||||
|         run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }} | ||||
|  | ||||
|       - 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 sec logs | ||||
|         if: failure() | ||||
|         run: kubectl -n openwifi-${{ needs.vars.outputs.existing_controller }} logs deployment/owsec | ||||
|  | ||||
|       - name: show analytics logs | ||||
|         if: failure() | ||||
|         run: kubectl -n openwifi-${{ needs.vars.outputs.existing_controller }} logs deployment/analytics | ||||
|  | ||||
|       - name: show subscription (userportal) logs | ||||
|         if: failure() | ||||
|         run: kubectl -n openwifi-${{ needs.vars.outputs.existing_controller }} logs deployment/owsub | ||||
|  | ||||
|   test-cig-wf196: | ||||
|     runs-on: [ self-hosted, small ] | ||||
|     needs: [ "vars", "build" ] | ||||
| @@ -602,7 +698,7 @@ jobs: | ||||
|       - name: Set up Python | ||||
|         uses: actions/setup-python@v4 | ||||
|         with: | ||||
|          python-version: "3.8" | ||||
|           python-version: "3.8" | ||||
|  | ||||
|       - uses: actions/checkout@v3 | ||||
|       - name: install aws CLI tool | ||||
| @@ -681,11 +777,203 @@ jobs: | ||||
|         if: failure() | ||||
|         run: kubectl -n openwifi-${{ needs.vars.outputs.existing_controller }} logs deployment/owsub | ||||
|  | ||||
|   test-yuncore-ax820: | ||||
|     runs-on: [ self-hosted, small ] | ||||
|     needs: [ "vars", "build" ] | ||||
|     timeout-minutes: 1440 | ||||
|     if: "!cancelled() && contains(fromJSON(needs.vars.outputs.ap_models), 'yuncore_ax820')" | ||||
|     env: | ||||
|       AP_MODEL: yuncore_ax820 | ||||
|     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" | ||||
|  | ||||
|       - uses: actions/checkout@v3 | ||||
|       - 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: install kubectl | ||||
|         run: | | ||||
|           # TODO WIFI-7839 revert to using stable when issue is resolved on AWS CLI side | ||||
|           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: get EKS access credentials | ||||
|         run: aws eks update-kubeconfig  --name ${{ env.AWS_EKS_NAME }} | ||||
|  | ||||
|       - name: prepare namespace name | ||||
|         id: namespace | ||||
|         run: | | ||||
|           NAMESPACE="testing-${{ 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 | ||||
|         uses: ./.github/actions/run-tests | ||||
|         with: | ||||
|           namespace: ${{ steps.namespace.outputs.name }} | ||||
|           testbed: advanced-3b | ||||
|           marker_expression: "${{ needs.vars.outputs.marker_expression }}" | ||||
|           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 }}" | ||||
|           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 }} --no-headers -o custom-columns=":metadata.name" -l job-name=testing | sed "s/pod\///") | ||||
|           kubectl logs --timestamps -n ${{ steps.namespace.outputs.name }} $podname || true | ||||
|  | ||||
|       - name: delete namespace | ||||
|         if: always() | ||||
|         continue-on-error: true | ||||
|         run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }} | ||||
|  | ||||
|       - 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 sec logs | ||||
|         if: failure() | ||||
|         run: kubectl -n openwifi-${{ needs.vars.outputs.existing_controller }} logs deployment/owsec | ||||
|  | ||||
|       - name: show analytics logs | ||||
|         if: failure() | ||||
|         run: kubectl -n openwifi-${{ needs.vars.outputs.existing_controller }} logs deployment/analytics | ||||
|  | ||||
|       - name: show subscription (userportal) logs | ||||
|         if: failure() | ||||
|         run: kubectl -n openwifi-${{ needs.vars.outputs.existing_controller }} logs deployment/owsub | ||||
|  | ||||
|   test-yuncore-fap655: | ||||
|     runs-on: [ self-hosted, small ] | ||||
|     needs: [ "vars", "build" ] | ||||
|     timeout-minutes: 1440 | ||||
|     if: "!cancelled() && contains(fromJSON(needs.vars.outputs.ap_models), 'yuncore_fap655')" | ||||
|     env: | ||||
|       AP_MODEL: yuncore_fap655 | ||||
|     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" | ||||
|  | ||||
|       - uses: actions/checkout@v3 | ||||
|       - 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: install kubectl | ||||
|         run: | | ||||
|           # TODO WIFI-7839 revert to using stable when issue is resolved on AWS CLI side | ||||
|           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: get EKS access credentials | ||||
|         run: aws eks update-kubeconfig  --name ${{ env.AWS_EKS_NAME }} | ||||
|  | ||||
|       - name: prepare namespace name | ||||
|         id: namespace | ||||
|         run: | | ||||
|           NAMESPACE="testing-${{ 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 | ||||
|         uses: ./.github/actions/run-tests | ||||
|         with: | ||||
|           namespace: ${{ steps.namespace.outputs.name }} | ||||
|           testbed: advanced-3c | ||||
|           marker_expression: "${{ needs.vars.outputs.marker_expression }}" | ||||
|           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 }}" | ||||
|           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 }} --no-headers -o custom-columns=":metadata.name" -l job-name=testing | sed "s/pod\///") | ||||
|           kubectl logs --timestamps -n ${{ steps.namespace.outputs.name }} $podname || true | ||||
|  | ||||
|       - name: delete namespace | ||||
|         if: always() | ||||
|         continue-on-error: true | ||||
|         run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }} | ||||
|  | ||||
|       - 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 sec logs | ||||
|         if: failure() | ||||
|         run: kubectl -n openwifi-${{ needs.vars.outputs.existing_controller }} logs deployment/owsec | ||||
|  | ||||
|       - name: show analytics logs | ||||
|         if: failure() | ||||
|         run: kubectl -n openwifi-${{ needs.vars.outputs.existing_controller }} logs deployment/analytics | ||||
|  | ||||
|       - name: show subscription (userportal) logs | ||||
|         if: failure() | ||||
|         run: kubectl -n openwifi-${{ needs.vars.outputs.existing_controller }} logs deployment/owsub | ||||
|  | ||||
|   # report | ||||
|   report: | ||||
|     if: "!cancelled()" | ||||
|     runs-on: ubuntu-latest | ||||
|     needs: [ vars, test-edgecore-eap104, test-edgecore-oap101-6e, test-cig-wf86h, test-edgecore-eap101, test-edgecore-eap102, test-cig-wf196 ] | ||||
|     needs: [ vars, test-edgecore-eap104, test-edgecore-eap101, test-edgecore-eap111, test-cig-wf189, test-edgecore-eap105, test-sercomm-ap72tip, test-cig-wf196, test-yuncore-ax820, test-yuncore-fap655 ] | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
| @@ -736,7 +1024,7 @@ jobs: | ||||
|         s3_access_key_secret: ${{ secrets.ALLURE_S3_ACCESS_KEY_SECRET }} | ||||
|  | ||||
|   cleanup: | ||||
|     needs: [ test-edgecore-eap104, test-edgecore-oap101-6e, test-cig-wf86h, test-edgecore-eap101, test-edgecore-eap102, test-cig-wf196 ] | ||||
|     needs: [ test-edgecore-eap104, test-edgecore-eap101, test-edgecore-eap111, test-cig-wf189, test-edgecore-eap105, test-sercomm-ap72tip, test-cig-wf196, test-yuncore-ax820, test-yuncore-fap655 ] | ||||
|     runs-on: ubuntu-latest | ||||
|     if: always() | ||||
|     steps: | ||||
|   | ||||
		Reference in New Issue
	
	Block a user