Skip to content

Commit 98e6783

Browse files
jitendra-kushavahbhargavi-ctbhargavi-ct
authored
Merged WIFI-7 branches (#1053)
* Added sanity marker for 6g test cases Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Add logic for better error handling * Add detailed error logging * Add fix for broken Dynamic VLAN 6GHz test cases * Configured channel mode to EHT for wifi7 * Removed sercomm_ap72tip and Added sonicfi_rap7110c-341x AP in the sanity, performance and regression workflows Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Replaced HE mode with EHT mode for the AP config Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Increased sleep time after config push * Replaced 2g test case with 5g test case in the sanity suite Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Swapped the testbed basic-4a and basic-5a Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Increased the sleep time after the config push Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Update sleep time for all interfaces to come up * Removed sonicfi_rap7110c-341x AP from basic-4 and added it in advanced-2 testbed Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Updated the DFS path for WiFi 7 APs Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Add BE capacity tests and BE client scale tests * Rename client_scale tests into ax_client_scale tests * Rename client_scale_tests into ax_client_scale_tests * Remove bidirectional tests from ax_client_scale tests * Add configuraion data * Provide pass fail criteria for 2G 2x2 40MHz * Modified the marker name Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Added be_client_scale_tests, wifi_capacity_be_tests and ax_client_scale_tests for new performance suite Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Increased the wait time after config push Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Added the ax capacity marker Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Change upload and download rate for BE client scale * Added pass fail values for BE mode Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Modified the markers for the test cases Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Added be mode pass fail Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Added pass-fail values for 6g 2x2 160MHz Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Added pass-fail values for 6g 2x2 160MHz Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Replaced basic-4a with adv-2a Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Add Multiband testcases * Add multi_band_tests marker * Replaced dual band with multi band test Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> * Update sleep time after config push * Update sleep time after config push * ADD EMPSK 6G testcase * Update dataplane tests * Modified the namespace name for sonicfi_rap630c-311g Signed-off-by: jitendra-kushavah <jitendra.kushavah@candelatech.com> * Replaced advanced-2a with advanced-2c Signed-off-by: jitendra-kushavah <jitendra.kushavah@candelatech.com> * Replaced advanced-2a with advanced-2c Signed-off-by: jitendra-kushavah <jitendra.kushavah@candelatech.com> * Updated code as per master Signed-off-by: jitendra-kushavah <jitendra.kushavah@candelatech.com> * Replaced advanced-2c with basic-5b Signed-off-by: jitendra-kushavah <jitendra.kushavah@candelatech.com> * Added jsonschema module Signed-off-by: jitendra-kushavah <jitendra.kushavah@candelatech.com> * Replace basic-5b with advanced-2c * Add EAP112 & OAP103-BR to all automation workflows * Add EAP112 & OAP103-BR to all automation workflows * Update workflows * Update workflows * Add CIG189H in workflows * Add CIG189H to performance workflow and add pass/fail criteria for performance testing * Add CIG189H in AP models in a workflow * Add Advance Captive Portal testcases on 5GHz and 6GHz * Change sonicfi-rap7110c-341x AP from advance-2c to basic-4a in sanity and regression workflows * Modify the namespace name for sonicfi_rap7110c-341x * Update logic to assign channel mode in controller.py Signed-off-by: bhargavi-ct <bhargavimamidipaka@candelatech.com> * Update performance workflow and add sanity marker to a be_capacity test Signed-off-by: bhargavi-ct <bhargavimamidipaka@candelatech.com> * Add pass fail criteria for perforamnce for CIG189H AP Signed-off-by: bhargavi-ct <bhargavimamidipaka@candelatech.com> * Added sets parameter to enable the UDP-Burst,UDP-GRO and Multiple Endpoints options Signed-off-by: jitendra-kushavah <jitendra.kushavah@candelatech.com> * Remove regression marker from EMPSK testcase Signed-off-by: bhargavi-ct <bhargavimamidipaka@candelatech.com> * Update DFS path for the EAP112 AP Signed-off-by: bhargavi-ct <bhargavimamidipaka@candelatech.com> * Update pass fail criteria for CIG189H AP for AX mode Signed-off-by: bhargavi-ct <bhargavimamidipaka@candelatech.com> * Update pass fail criteria for cig189h AP Signed-off-by: bhargavi-ct <bhargavimamidipaka@candelatech.com> * Modify tedtbed from basic-4a to basic-5a for cig_wf189 AP in sanity workflow Signed-off-by: bhargavi-ct <bhargavimamidipaka@candelatech.com> * Update dfs path for WIFI7 AP Signed-off-by: bhargavi-ct <bhargavimamidipaka@candelatech.com> * Update dfs path Signed-off-by: bhargavi-ct <bhargavimamidipaka@candelatech.com> * Update EMPSK test case Signed-off-by: bhargavi-ct <bhargavimamidipaka@candelatech.com> * Enable 320MHz from client side for EMPSK test case Signed-off-by: bhargavi-ct <bhargavimamidipaka@candelatech.com> * Add EMPSK test case into sanity test suite * Remove EMPSK from sanity Signed-off-by: bhargavi-ct <bhargavimamidipaka@candelatech.com> * Fix typos: replaced wap with wpa encryption Signed-off-by: bhargavi-ct <bhargavimamidipaka@candelatech.com> * Update EMPSK testcase Signed-off-by: bhargavi-ct <bhargavimamidipaka@candelatech.com> * Update the testbed name for sonicfi_rap7110c-341x AP to basic-4a in performance workflow Signed-off-by: bhargavi-ct <bhargavimamidipaka@candelatech.com> * Update radio config for DFS testcases Signed-off-by: bhargavi-ct <bhargavimamidipaka@candelatech.com> * Update DFS testcase to verify configured channel Signed-off-by: bhargavi-ct <bhargavimamidipaka@candelatech.com> * Add get_dut_logs_per_test_case and get_test_device_logs fixtures to multiband testcases Signed-off-by: bhargavi-ct <bhargavimamidipaka@candelatech.com> --------- Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com> Signed-off-by: jitendra-kushavah <jitendra.kushavah@candelatech.com> Signed-off-by: bhargavi-ct <bhargavimamidipaka@candelatech.com> Co-authored-by: bhargavi-mamidipaka <bhargavi.mamidipaka@candelatech.com> Co-authored-by: bhargavi-ct <bhargavimamidipaka@candelatech.com>
1 parent ae0fb31 commit 98e6783

64 files changed

Lines changed: 9413 additions & 893 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/performance.yml

Lines changed: 1171 additions & 168 deletions
Large diffs are not rendered by default.

.github/workflows/quali.yml

Lines changed: 270 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ on:
2222
description: "revision of the Open Wifi Helm chart"
2323
ap_models:
2424
required: true
25-
default: "cig_wf186h,edgecore_eap104,cig_wf196,udaya_a6-id2,sonicfi_rap630c-311g,hfcl_ion4xe,yuncore_fap655,cig_wf189,edgecore_eap105,sonicfi_rap7110c-341x,edgecore_eap101,edgecore_eap111"
25+
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"
2626
description: "the AP models to test"
2727
ap_version:
2828
required: true
@@ -103,7 +103,7 @@ jobs:
103103
AP_MODELS="${{ github.event.inputs.ap_models || 'cig_wf189,edgecore_eap105,edgecore_eap111' }}"
104104
fi
105105
else
106-
AP_MODELS="${{ github.event.inputs.ap_models || 'cig_wf186h,cig_wf196,yuncore_ax820,yuncore_fap655,sercomm_ap72tip,edgecore_eap101' }}"
106+
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' }}"
107107
fi
108108
109109
echo "List of AP models to test - $AP_MODELS"
@@ -1208,11 +1208,277 @@ jobs:
12081208
if: failure()
12091209
run: kubectl -n openwifi-qa01 logs deployment/owsec
12101210

1211+
test-edgecore-oap103:
1212+
needs: [ "vars", "build" ]
1213+
runs-on: ubuntu-latest
1214+
if: "!cancelled() && contains(fromJSON(needs.vars.outputs.ap_models), 'edgecore_oap103')"
1215+
env:
1216+
AP_MODEL: edgecore_oap103
1217+
steps:
1218+
- name: Set AP model output
1219+
id: ap_model
1220+
run: |
1221+
echo "model=${AP_MODEL}" >> $GITHUB_OUTPUT
1222+
1223+
- uses: actions/checkout@v3
1224+
- name: Set up Python
1225+
uses: actions/setup-python@v4
1226+
with:
1227+
python-version: "3.8"
1228+
1229+
# TODO WIFI-7839 delete when issue is resolved on AWS CLI side
1230+
- name: install kubectl
1231+
run: |
1232+
curl -s -LO "https://dl.k8s.io/release/v1.27.6/bin/linux/amd64/kubectl"
1233+
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
1234+
1235+
- name: get EKS access credentials
1236+
run: aws eks update-kubeconfig --name ${{ env.AWS_EKS_NAME }}
1237+
1238+
- name: prepare namespace name
1239+
id: namespace
1240+
run: |
1241+
NAMESPACE="testing-${{ github.run_id }}-$(echo ${{ steps.ap_model.outputs.model }} | tr '[:upper:]' '[:lower:]' | tr '_' '-')"
1242+
echo "name=${NAMESPACE}" >> $GITHUB_OUTPUT
1243+
1244+
- name: prepare configuration
1245+
run: |
1246+
cat << EOF > lab_info.json
1247+
${{ secrets.LAB_INFO_JSON }}
1248+
EOF
1249+
1250+
1251+
- name: run tests
1252+
uses: ./.github/actions/run-tests
1253+
with:
1254+
namespace: ${{ steps.namespace.outputs.name }}
1255+
testbed: basic-3
1256+
marker_expression: "${{ needs.vars.outputs.marker_expression }}"
1257+
configuration_file: "./lab_info.json"
1258+
testing_docker_image: tip-tip-wlan-cloud-docker-repo.jfrog.io/cloud-sdk-nightly:${{ github.run_id }}
1259+
additional_args: '-o firmware="${{ needs.vars.outputs.ap_version }}"'
1260+
allure_results_artifact_name: "allure-results-${{ steps.ap_model.outputs.model }}"
1261+
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"
1262+
1263+
# necessary because if conditionals in composite actions are currently not respected
1264+
- name: get tests logs
1265+
if: always()
1266+
continue-on-error: true
1267+
run: |
1268+
podname=$(kubectl get pods -n ${{ steps.namespace.outputs.name }} --no-headers -o custom-columns=":metadata.name" -l job-name=testing | sed "s/pod\///")
1269+
kubectl logs --timestamps -n ${{ steps.namespace.outputs.name }} $podname || true
1270+
1271+
- name: delete namespace
1272+
if: always()
1273+
continue-on-error: true
1274+
run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}
1275+
1276+
- name: show gw logs
1277+
if: failure()
1278+
run: kubectl -n openwifi-qa01 logs deployment/owgw
1279+
1280+
- name: show fms logs
1281+
if: failure()
1282+
run: kubectl -n openwifi-qa01 logs deployment/owfms
1283+
1284+
- name: show prov logs
1285+
if: failure()
1286+
run: kubectl -n openwifi-qa01 logs deployment/owprov
1287+
1288+
- name: show analytics logs
1289+
if: failure()
1290+
run: kubectl -n openwifi-qa01 logs deployment/owanalytics
1291+
1292+
- name: show subscription (userportal) logs
1293+
if: failure()
1294+
run: kubectl -n openwifi-qa01 logs deployment/owsub
1295+
1296+
- name: show sec logs
1297+
if: failure()
1298+
run: kubectl -n openwifi-qa01 logs deployment/owsec
1299+
1300+
test-edgecore-eap112:
1301+
needs: [ "vars", "build" ]
1302+
runs-on: ubuntu-latest
1303+
if: "!cancelled() && contains(fromJSON(needs.vars.outputs.ap_models), 'edgecore_eap112')"
1304+
env:
1305+
AP_MODEL: edgecore_eap112
1306+
steps:
1307+
- name: Set AP model output
1308+
id: ap_model
1309+
run: |
1310+
echo "model=${AP_MODEL}" >> $GITHUB_OUTPUT
1311+
1312+
- uses: actions/checkout@v3
1313+
- name: Set up Python
1314+
uses: actions/setup-python@v4
1315+
with:
1316+
python-version: "3.8"
1317+
1318+
# TODO WIFI-7839 delete when issue is resolved on AWS CLI side
1319+
- name: install kubectl
1320+
run: |
1321+
curl -s -LO "https://dl.k8s.io/release/v1.27.6/bin/linux/amd64/kubectl"
1322+
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
1323+
1324+
- name: get EKS access credentials
1325+
run: aws eks update-kubeconfig --name ${{ env.AWS_EKS_NAME }}
1326+
1327+
- name: prepare namespace name
1328+
id: namespace
1329+
run: |
1330+
NAMESPACE="testing-${{ github.run_id }}-$(echo ${{ steps.ap_model.outputs.model }} | tr '[:upper:]' '[:lower:]' | tr '_' '-')"
1331+
echo "name=${NAMESPACE}" >> $GITHUB_OUTPUT
1332+
1333+
- name: prepare configuration
1334+
run: |
1335+
cat << EOF > lab_info.json
1336+
${{ secrets.LAB_INFO_JSON }}
1337+
EOF
1338+
1339+
1340+
- name: run tests
1341+
uses: ./.github/actions/run-tests
1342+
with:
1343+
namespace: ${{ steps.namespace.outputs.name }}
1344+
testbed: basic-1
1345+
marker_expression: "${{ needs.vars.outputs.marker_expression }}"
1346+
configuration_file: "./lab_info.json"
1347+
testing_docker_image: tip-tip-wlan-cloud-docker-repo.jfrog.io/cloud-sdk-nightly:${{ github.run_id }}
1348+
additional_args: '-o firmware="${{ needs.vars.outputs.ap_version }}"'
1349+
allure_results_artifact_name: "allure-results-${{ steps.ap_model.outputs.model }}"
1350+
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"
1351+
1352+
# necessary because if conditionals in composite actions are currently not respected
1353+
- name: get tests logs
1354+
if: always()
1355+
continue-on-error: true
1356+
run: |
1357+
podname=$(kubectl get pods -n ${{ steps.namespace.outputs.name }} --no-headers -o custom-columns=":metadata.name" -l job-name=testing | sed "s/pod\///")
1358+
kubectl logs --timestamps -n ${{ steps.namespace.outputs.name }} $podname || true
1359+
1360+
- name: delete namespace
1361+
if: always()
1362+
continue-on-error: true
1363+
run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}
1364+
1365+
- name: show gw logs
1366+
if: failure()
1367+
run: kubectl -n openwifi-qa01 logs deployment/owgw
1368+
1369+
- name: show fms logs
1370+
if: failure()
1371+
run: kubectl -n openwifi-qa01 logs deployment/owfms
1372+
1373+
- name: show prov logs
1374+
if: failure()
1375+
run: kubectl -n openwifi-qa01 logs deployment/owprov
1376+
1377+
- name: show analytics logs
1378+
if: failure()
1379+
run: kubectl -n openwifi-qa01 logs deployment/owanalytics
1380+
1381+
- name: show subscription (userportal) logs
1382+
if: failure()
1383+
run: kubectl -n openwifi-qa01 logs deployment/owsub
1384+
1385+
- name: show sec logs
1386+
if: failure()
1387+
run: kubectl -n openwifi-qa01 logs deployment/owsec
1388+
1389+
test-cig-wf189h:
1390+
needs: [ "vars", "build" ]
1391+
runs-on: ubuntu-latest
1392+
if: "!cancelled() && contains(fromJSON(needs.vars.outputs.ap_models), 'cig_wf189h')"
1393+
env:
1394+
AP_MODEL: cig_wf189h
1395+
steps:
1396+
- name: Set AP model output
1397+
id: ap_model
1398+
run: |
1399+
echo "model=${AP_MODEL}" >> $GITHUB_OUTPUT
1400+
1401+
- uses: actions/checkout@v3
1402+
- name: Set up Python
1403+
uses: actions/setup-python@v4
1404+
with:
1405+
python-version: "3.8"
1406+
1407+
# TODO WIFI-7839 delete when issue is resolved on AWS CLI side
1408+
- name: install kubectl
1409+
run: |
1410+
curl -s -LO "https://dl.k8s.io/release/v1.27.6/bin/linux/amd64/kubectl"
1411+
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
1412+
1413+
- name: get EKS access credentials
1414+
run: aws eks update-kubeconfig --name ${{ env.AWS_EKS_NAME }}
1415+
1416+
- name: prepare namespace name
1417+
id: namespace
1418+
run: |
1419+
NAMESPACE="testing-${{ github.run_id }}-$(echo ${{ steps.ap_model.outputs.model }} | tr '[:upper:]' '[:lower:]' | tr '_' '-')"
1420+
echo "name=${NAMESPACE}" >> $GITHUB_OUTPUT
1421+
1422+
- name: prepare configuration
1423+
run: |
1424+
cat << EOF > lab_info.json
1425+
${{ secrets.LAB_INFO_JSON }}
1426+
EOF
1427+
1428+
1429+
- name: run tests
1430+
uses: ./.github/actions/run-tests
1431+
with:
1432+
namespace: ${{ steps.namespace.outputs.name }}
1433+
testbed: basic-4
1434+
marker_expression: "${{ needs.vars.outputs.marker_expression }}"
1435+
configuration_file: "./lab_info.json"
1436+
testing_docker_image: tip-tip-wlan-cloud-docker-repo.jfrog.io/cloud-sdk-nightly:${{ github.run_id }}
1437+
additional_args: '-o firmware="${{ needs.vars.outputs.ap_version }}"'
1438+
allure_results_artifact_name: "allure-results-${{ steps.ap_model.outputs.model }}"
1439+
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"
1440+
1441+
# necessary because if conditionals in composite actions are currently not respected
1442+
- name: get tests logs
1443+
if: always()
1444+
continue-on-error: true
1445+
run: |
1446+
podname=$(kubectl get pods -n ${{ steps.namespace.outputs.name }} --no-headers -o custom-columns=":metadata.name" -l job-name=testing | sed "s/pod\///")
1447+
kubectl logs --timestamps -n ${{ steps.namespace.outputs.name }} $podname || true
1448+
1449+
- name: delete namespace
1450+
if: always()
1451+
continue-on-error: true
1452+
run: kubectl delete ns --ignore-not-found=true --wait ${{ steps.namespace.outputs.name }}
1453+
1454+
- name: show gw logs
1455+
if: failure()
1456+
run: kubectl -n openwifi-qa01 logs deployment/owgw
1457+
1458+
- name: show fms logs
1459+
if: failure()
1460+
run: kubectl -n openwifi-qa01 logs deployment/owfms
1461+
1462+
- name: show prov logs
1463+
if: failure()
1464+
run: kubectl -n openwifi-qa01 logs deployment/owprov
1465+
1466+
- name: show analytics logs
1467+
if: failure()
1468+
run: kubectl -n openwifi-qa01 logs deployment/owanalytics
1469+
1470+
- name: show subscription (userportal) logs
1471+
if: failure()
1472+
run: kubectl -n openwifi-qa01 logs deployment/owsub
1473+
1474+
- name: show sec logs
1475+
if: failure()
1476+
run: kubectl -n openwifi-qa01 logs deployment/owsec
12111477
# Save reports
12121478
report:
12131479
if: "!cancelled()"
12141480
runs-on: ubuntu-latest
1215-
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]
1481+
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]
12161482
strategy:
12171483
fail-fast: false
12181484
matrix:
@@ -1263,7 +1529,7 @@ jobs:
12631529

12641530
# Cleanup
12651531
cleanup:
1266-
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]
1532+
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]
12671533
runs-on: ubuntu-latest
12681534
if: always()
12691535
steps:

0 commit comments

Comments
 (0)