mirror of
https://github.com/Telecominfraproject/wlan-testing.git
synced 2025-10-30 18:38:06 +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:
committed by
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