diff --git a/py-scripts/tools/ct_tests.json b/py-scripts/tools/ct_tests.json new file mode 100644 index 00000000..711f07b7 --- /dev/null +++ b/py-scripts/tools/ct_tests.json @@ -0,0 +1,379 @@ +{ + "ct_tests_001":{ + "Notes":[ + "The json is used to orchastrate the tests to be run on testbed ct_us_001", + "This json file is used as an input to the ./lf_check.py file", + "The variables that are all capitalized below are replaced with configuration", + "from the json file. so LF_MGR_IP in the test below is replaced by the json lf_mgr_ip", + "The replacement is loosely coupled so the upper and lower case convention is used", + "to identify replaced strings in the lf_check.py code." + ] + }, + "test_suites":{ + "suite_l3":{ + "test_l3_longevity":{"enabled":"TRUE","load_db":"skip","command":"test_l3_longevity.py","args":"--test_duration 15s --polling_interval 5s --upstream_port eth2 --radio 'radio==wiphy1,stations==4,ssid==asus11ax-5,ssid_pw==hello123,security==wpa2' --endp_type lf_udp --rates_are_totals --side_a_min_bps=20000 --side_b_min_bps=300000000"} + }, + "suite_wc_dp_mt":{ + "CT-US-001_create_chamberview_dut_0":{ + "enabled":"TRUE", + "load_db":"skip", + "command":"create_chamberview_dut.py", + "args":"", + "args_list":[ + " --lfmgr LF_MGR_IP --port LF_MGR_PORT --dut_name DUT_NAME", + " --ssid 'ssid_idx=0 ssid=asus11ax-5 security=WPA2 password=hello123 bssid=DUT_BSSID_5G'", + " --ssid 'ssid_idx=1 ssid=asus11ax-5 security=WPA2 password=hello123 bssid=DUT_BSSID_5G'", + " --sw_version DUT_SW --hw_version DUT_HW --serial_num DUT_SERIAL --model_num DUT_NAME" + ] + }, + "CT-US-001_create_chamberview_mt7915e_sta19":{ + "enabled":"TRUE", + "load_db":"skip", + "command":"create_chamberview.py", + "args":"", + "args_list":[ + " --lfmgr LF_MGR_IP --port LF_MGR_PORT --delete_scenario", + " --create_scenario ct-us-001-scenario ", + " --raw_line \"profile_link 1.1 STA-AC 19 'DUT: DUT_NAME Radio-1' NA wiphy7,AUTO -1 NA\" ", + " --raw_line \"profile_link 1.1 upstream-dhcp 1 NA NA UPSTREAM_PORT,AUTO -1 NA\"" + ] + }, + "CT-US-001_wifi_capacity_mt7915e":{ + "enabled":"TRUE", + "timeout":"600", + "load_db":"skip", + "command":"lf_wifi_capacity_test.py", + "args":"", + "args_list":[ + " --mgr LF_MGR_IP --port LF_MGR_PORT --lf_user lanforge --lf_password lanforge --instance_name cicd-wct", + " --upstream 1.1.eth2 --batch_size 1,5,25 --loop_iter 1 --protocol UDP-IPv4 --duration 6000", + " --pull_report --local_lf_report_dir REPORT_PATH --test_tag 'mt7915e'", + " --test_rig TEST_RIG --influx_host DATABASE_HOST --influx_port DATABASE_PORT --influx_org DATABASE_ORG", + " --influx_token=DATABASE_TOKEN --influx_bucket DATABASE_BUCKET --influx_tag DATABASE_TAG --set DUT_SET_NAME" + ] + }, + "CT-US-001_create_chamberview_mt7915e_sta1":{ + "enabled":"TRUE", + "load_db":"skip", + "command":"create_chamberview.py", + "args":"", + "args_list":[ + " --lfmgr LF_MGR_IP --port LF_MGR_PORT --delete_scenario", + " --create_scenario ct-us-001-scenario ", + " --raw_line \"profile_link 1.1 STA-AC 1 'DUT: DUT_NAME Radio-1' NA wiphy7,AUTO -1 NA\" ", + " --raw_line \"profile_link 1.1 upstream-dhcp 1 NA NA UPSTREAM_PORT,AUTO -1 NA\"" + ] + }, + "CT-US-001_dataplane_ATH10K_mt7915e_sta1":{ + "enabled":"TRUE", + "load_db":"skip", + "command":"lf_dataplane_test.py", + "args":"", + "args_list":[ + " --mgr LF_MGR_IP --port LF_MGR_PORT --lf_user lanforge --lf_password lanforge --instance_name cicd-dpt", + " --config_name test_con --upstream 1.1.eth2 --dut asus_5g --duration 30s --station 1.1.wlan7", + " --download_speed 85% --upload_speed 0 --raw_line 'pkts: 60;88;120;256;512;1024;MTU' ", + " --raw_line 'directions: DUT Transmit' --raw_line 'traffic_types: UDP' --raw_line 'bandw_options: 20'", + " --raw_line 'spatial_streams: 1' --pull_report --local_lf_report_dir REPORT_PATH --test_tag 'mt7915e' ", + " --test_rig TEST_RIG" + ] + }, + "CT-US-001_QA":{ + "enabled":"TRUE", + "timeout":"600", + "load_db":"skip", + "command":"./tools/lf_qa.py", + "args":"", + "args_list":[ + " --path REPORT_PATH --store --png --database ./tools/qa_test_db" + ] + } + + }, + "suite_wc_dp_short":{ + "CT-US-001_create_chamberview_dut_for_ATH10K":{ + "enabled":"TRUE", + "load_db":"skip", + "command":"create_chamberview_dut.py", + "args":"", + "args_list":[ + " --lfmgr LF_MGR_IP --port LF_MGR_PORT --dut_name DUT_NAME", + " --ssid 'ssid_idx=0 ssid=asus11ax-5 security=WPA2 password=hello123 bssid=DUT_BSSID_5G'", + " --ssid 'ssid_idx=1 ssid=asus11ax-5 security=WPA2 password=hello123 bssid=DUT_BSSID_5G'", + " --sw_version DUT_SW --hw_version DUT_HW --serial_num DUT_SERIAL --model_num DUT_NAME" + ] + }, + "CT-US-001_create_chamberview_ATH10K(9984)_sta50":{ + "enabled":"TRUE", + "load_db":"skip", + "command":"create_chamberview.py", + "args":"", + "args_list":[ + " --lfmgr LF_MGR_IP --port LF_MGR_PORT --delete_scenario", + " --create_scenario ct-us-001-scenario ", + " --raw_line \"profile_link 1.1 STA-AC 50 'DUT: DUT_NAME Radio-1' NA wiphy1,AUTO -1 NA\" ", + " --raw_line \"profile_link 1.1 upstream-dhcp 1 NA NA UPSTREAM_PORT,AUTO -1 NA\"" + ] + }, + "CT-US-001_wifi_capacity_ATH10K(9984)":{ + "enabled":"TRUE", + "timeout":"600", + "load_db":"skip", + "command":"lf_wifi_capacity_test.py", + "args":"", + "args_list":[ + " --mgr LF_MGR_IP --port LF_MGR_PORT --lf_user lanforge --lf_password lanforge --instance_name cicd-wct", + " --upstream 1.1.eth2 --batch_size 1,5,25 --loop_iter 1 --protocol UDP-IPv4 --duration 6000", + " --pull_report --local_lf_report_dir REPORT_PATH --test_tag 'ATH10K(9984)'", + " --test_rig TEST_RIG " + ] + }, + "CT-US-001_QA":{ + "enabled":"TRUE", + "timeout":"600", + "load_db":"skip", + "command":"./tools/lf_qa.py", + "args":"", + "args_list":[ + " --path REPORT_PATH --store --png --database ./tools/qa_test_db" + ] + } + }, + "suite_wc_dp":{ + "CT-US-001_create_chamberview_dut_for_ATH10K":{ + "enabled":"TRUE", + "load_db":"skip", + "command":"create_chamberview_dut.py", + "args":"", + "args_list":[ + " --lfmgr LF_MGR_IP --port LF_MGR_PORT --dut_name DUT_NAME", + " --ssid 'ssid_idx=0 ssid=asus11ax-5 security=WPA2 password=hello123 bssid=DUT_BSSID_5G'", + " --ssid 'ssid_idx=1 ssid=asus11ax-5 security=WPA2 password=hello123 bssid=DUT_BSSID_5G'", + " --sw_version DUT_SW --hw_version DUT_HW --serial_num DUT_SERIAL --model_num DUT_NAME" + ] + }, + "CT-US-001_create_chamberview_ATH10K(9984)_sta50":{ + "enabled":"TRUE", + "load_db":"skip", + "command":"create_chamberview.py", + "args":"", + "args_list":[ + " --lfmgr LF_MGR_IP --port LF_MGR_PORT --delete_scenario", + " --create_scenario ct-us-001-scenario ", + " --raw_line \"profile_link 1.1 STA-AC 50 'DUT: DUT_NAME Radio-1' NA wiphy1,AUTO -1 NA\" ", + " --raw_line \"profile_link 1.1 upstream-dhcp 1 NA NA UPSTREAM_PORT,AUTO -1 NA\"" + ] + }, + "CT-US-001_wifi_capacity_ATH10K(9984)":{ + "enabled":"TRUE", + "timeout":"600", + "load_db":"skip", + "command":"lf_wifi_capacity_test.py", + "args":"", + "args_list":[ + " --mgr LF_MGR_IP --port LF_MGR_PORT --lf_user lanforge --lf_password lanforge --instance_name cicd-wct", + " --upstream 1.1.eth2 --batch_size 1,5,25 --loop_iter 1 --protocol UDP-IPv4 --duration 6000", + " --pull_report --local_lf_report_dir REPORT_PATH --test_tag 'ATH10K(9984)'", + " --test_rig TEST_RIG --influx_host DATABASE_HOST --influx_port DATABASE_PORT --influx_org DATABASE_ORG", + " --influx_token=DATABASE_TOKEN --influx_bucket DATABASE_BUCKET --influx_tag DATABASE_TAG --set DUT_SET_NAME" + ] + }, + "CT-US-001_create_chamberview_ATH10K(9984)_sta1":{ + "enabled":"TRUE", + "load_db":"skip", + "command":"create_chamberview.py", + "args":"", + "args_list":[ + " --lfmgr LF_MGR_IP --port LF_MGR_PORT --delete_scenario", + " --create_scenario ct-us-001-scenario ", + " --raw_line \"profile_link 1.1 STA-AC 1 'DUT: DUT_NAME Radio-1' NA wiphy1,AUTO -1 NA\" ", + " --raw_line \"profile_link 1.1 upstream-dhcp 1 NA NA UPSTREAM_PORT,AUTO -1 NA\"" + ] + }, + "CT-US-001_dataplane_ATH10K(9984)_sta1":{ + "enabled":"TRUE", + "load_db":"skip", + "command":"lf_dataplane_test.py", + "args":"", + "args_list":[ + " --mgr LF_MGR_IP --port LF_MGR_PORT --lf_user lanforge --lf_password lanforge --instance_name cicd-dpt", + " --config_name test_con --upstream 1.1.eth2 --dut asus_5g --duration 30s --station 1.1.wlan1", + " --download_speed 85% --upload_speed 0 --raw_line 'pkts: 60;88;120;256;512;1024;MTU' ", + " --raw_line 'directions: DUT Transmit' --raw_line 'traffic_types: UDP' --raw_line 'bandw_options: 20'", + " --raw_line 'spatial_streams: 1' --pull_report --local_lf_report_dir REPORT_PATH --test_tag 'ATH10K(9984)' ", + " --test_rig TEST_RIG" + ] + }, + "CT-US-001_create_chamberview_dut_for_AX210":{ + "enabled":"TRUE", + "load_db":"skip", + "command":"create_chamberview_dut.py", + "args":"", + "args_list":[ + "--lfmgr LF_MGR_IP --port LF_MGR_PORT --dut_name DUT_NAME", + " --ssid 'ssid_idx=0 ssid=asus11ax-5 security=WPA2 password=hello123 bssid=DUT_BSSID_5G'", + " --ssid 'ssid_idx=1 ssid=asus11ax-5 security=WPA2 password=hello123 bssid=DUT_BSSID_5G'", + " --sw_version DUT_SW --hw_version DUT_HW --serial_num DUT_SERIAL --model_num DUT_NAME" + ] + }, + "CT-US-001_create_chamberview_wiphy3_AX210_sta1":{ + "enabled":"TRUE", + "load_db":"skip", + "command":"create_chamberview.py", + "args":"", + "args_list":[ + " --lfmgr LF_MGR_IP --port LF_MGR_PORT --delete_scenario", + " --create_scenario ct-us-001-scenario ", + " --raw_line \"profile_link 1.1 STA-AC 1 'DUT: DUT_NAME Radio-1' NA wiphy3,AUTO -1 NA\" ", + " --raw_line \"profile_link 1.1 upstream-dhcp 1 NA NA UPSTREAM_PORT,AUTO -1 NA\" " + ] + }, + "CT-US-001_wifi_capacity_wiphy3_AX210_sta1":{ + "enabled":"TRUE", + "load_db":"skip", + "command":"lf_wifi_capacity_test.py", + "args":"", + "args_list":[ + " --mgr LF_MGR_IP --port LF_MGR_PORT --lf_user lanforge --lf_password lanforge --instance_name cicd-wct", + " --upstream 1.1.eth2 --batch_size 1,5,25 --loop_iter 1 --protocol UDP-IPv4 --duration 6000", + " --pull_report --local_lf_report_dir REPORT_PATH --stations 1.1.wlan3 --test_tag 'AX210'", + " --test_rig TEST_RIG --influx_host DATABASE_HOST --influx_port DATABASE_PORT --influx_org DATABASE_ORG", + " --influx_token=DATABASE_TOKEN --influx_bucket DATABASE_BUCKET --influx_tag DATABASE_TAG --set DUT_SET_NAME" + ] + }, + "CT-US-001_dataplane_wiphy3_AX210_sta1":{ + "enabled":"TRUE", + "load_db":"skip", + "command":"lf_dataplane_test.py", + "args":"", + "args_list":[ + " --mgr LF_MGR_IP --port LF_MGR_PORT --lf_user lanforge --lf_password lanforge --instance_name cicd-dpt", + " --config_name test_con --upstream 1.1.eth2 --dut asus_5g --duration 30s --station 1.1.wlan3", + " --download_speed 85% --upload_speed 0 --raw_line 'pkts: 60;88;120;256;512;1024;MTU' ", + " --raw_line 'directions: DUT Transmit' --raw_line 'traffic_types: UDP' --raw_line 'bandw_options: 20'", + " --raw_line 'spatial_streams: 1' --pull_report --local_lf_report_dir REPORT_PATH --test_tag 'AX210'", + " --test_rig TEST_RIG" + ] + }, + "CT-US-001_create_chamberview_dut_for_mt7915e":{ + "enabled":"TRUE", + "load_db":"skip", + "command":"create_chamberview_dut.py", + "args":"", + "args_list":[ + " --lfmgr LF_MGR_IP --port LF_MGR_PORT --dut_name DUT_NAME", + " --ssid 'ssid_idx=0 ssid=asus11ax-5 security=WPA2 password=hello123 bssid=DUT_BSSID_5G'", + " --ssid 'ssid_idx=1 ssid=asus11ax-5 security=WPA2 password=hello123 bssid=DUT_BSSID_5G'", + " --sw_version DUT_SW --hw_version DUT_HW --serial_num DUT_SERIAL --model_num DUT_NAME" + ] + }, + "CT-US-001_create_chamberview_mt7915e_sta19":{ + "enabled":"TRUE", + "load_db":"skip", + "command":"create_chamberview.py", + "args":"", + "args_list":[ + " --lfmgr LF_MGR_IP --port LF_MGR_PORT --delete_scenario", + " --create_scenario ct-us-001-scenario ", + " --raw_line \"profile_link 1.1 STA-AC 19 'DUT: DUT_NAME Radio-1' NA wiphy7,AUTO -1 NA\" ", + " --raw_line \"profile_link 1.1 upstream-dhcp 1 NA NA UPSTREAM_PORT,AUTO -1 NA\"" + ] + }, + "CT-US-001_wifi_capacity_mt7915e":{ + "enabled":"TRUE", + "timeout":"600", + "load_db":"skip", + "command":"lf_wifi_capacity_test.py", + "args":"", + "args_list":[ + " --mgr LF_MGR_IP --port LF_MGR_PORT --lf_user lanforge --lf_password lanforge --instance_name cicd-wct", + " --upstream 1.1.eth2 --batch_size 1,5,25 --loop_iter 1 --protocol UDP-IPv4 --duration 6000", + " --pull_report --local_lf_report_dir REPORT_PATH --test_tag 'mt7915e'", + " --test_rig TEST_RIG" + ] + }, + "CT-US-001_create_chamberview_mt7915e_sta1":{ + "enabled":"TRUE", + "load_db":"skip", + "command":"create_chamberview.py", + "args":"", + "args_list":[ + " --lfmgr LF_MGR_IP --port LF_MGR_PORT --delete_scenario", + " --create_scenario ct-us-001-scenario ", + " --raw_line \"profile_link 1.1 STA-AC 1 'DUT: DUT_NAME Radio-1' NA wiphy7,AUTO -1 NA\" ", + " --raw_line \"profile_link 1.1 upstream-dhcp 1 NA NA UPSTREAM_PORT,AUTO -1 NA\"" + ] + }, + "CT-US-001_dataplane_ATH10K_mt7915e_sta1":{ + "enabled":"TRUE", + "load_db":"skip", + "command":"lf_dataplane_test.py", + "args":"", + "args_list":[ + " --mgr LF_MGR_IP --port LF_MGR_PORT --lf_user lanforge --lf_password lanforge --instance_name cicd-dpt", + " --config_name test_con --upstream 1.1.eth2 --dut asus_5g --duration 30s --station 1.1.wlan7", + " --download_speed 85% --upload_speed 0 --raw_line 'pkts: 60;88;120;256;512;1024;MTU' ", + " --raw_line 'directions: DUT Transmit' --raw_line 'traffic_types: UDP' --raw_line 'bandw_options: 20'", + " --raw_line 'spatial_streams: 1' --pull_report --local_lf_report_dir REPORT_PATH --test_tag 'mt7915e' ", + " --test_rig TEST_RIG" + ] + }, + "CT-US-001_create_chamberview_dut_2":{ + "enabled":"TRUE", + "load_db":"skip", + "command":"create_chamberview_dut.py", + "args":"", + "args_list":[ + " --lfmgr LF_MGR_IP --port LF_MGR_PORT --dut_name DUT_NAME", + " --ssid 'ssid_idx=0 ssid=asus11ax-5 security=WPA2 password=hello123 bssid=DUT_BSSID_5G'", + " --ssid 'ssid_idx=1 ssid=asus11ax-5 security=WPA2 password=hello123 bssid=DUT_BSSID_5G'", + " --sw_version DUT_SW --hw_version DUT_HW --serial_num DUT_SERIAL --model_num DUT_NAME" + ]}, + "CT-US-001_create_chamberview_ap":{ + "enabled":"TRUE", + "load_db":"skip", + "command":"create_chamberview.py", + "args":"", + "args_list":[ + " --lfmgr LF_MGR_IP --port LF_MGR_PORT --delete_scenario", + " --create_scenario ucentral-scenario ", + " --raw_line \"profile_link 1.1 STA-AC 64 'DUT: DUT_NAME Radio-1' NA wiphy1,AUTO -1 NA\" ", + " --raw_line \"profile_link 1.1 STA-AC 1 'DUT: DUT_NAME Radio-1' NA wiphy4,AUTO -1 NA\" ", + " --raw_line \"profile_link 1.1 upstream-dhcp 1 NA NA UPSTREAM_PORT,AUTO -1 NA \" " + ] + }, + "CT-US-001_lf_ap_auto_test": { + "enabled": "TRUE", + "command": "lf_ap_auto_test.py", + "timeout":"1200", + "args": "", + "args_list":[ + " --mgr LF_MGR_IP --port LF_MGR_PORT --lf_user lanforge --lf_password lanforge", + " --instance_name ap-auto-instance --config_name test_con --upstream UPSTREAM_PORT", + " --dut5_0 'DUT_NAME lanforge DUT_BSSID_5G (1)' --dut2_0 'DUT_NAME lanforge DUT_BSSID_5G (1)'", + " --max_stations_2 32 --max_stations_5 32 --max_stations_dual 100 --radio2 1.1.wiphy1", + " --radio5 1.1.wiphy2 --set 'Basic Client Connectivity' 1", + " --set 'Multi Band Performance' 0 --set 'Stability' 0 --set 'Multi-Station Throughput vs Pkt Size' 0,", + " --set 'Throughput vs Pkt Size' 0 --set 'Capacity' 0 --set 'Band-Steering' 0 --set 'Skip 2.4 Ghz Tests' 1", + " --pull_report --local_lf_report_dir REPORT_PATH --test_tag 'ATH10K(9984)'", + " --test_rig TEST_RIG" + ] + }, + "CT-US-001_QA":{ + "enabled":"TRUE", + "timeout":"600", + "load_db":"skip", + "command":"./tools/lf_qa.py", + "args":"", + "args_list":[ + " --path REPORT_PATH --store --png --database ./tools/qa_test_db" + ] + } + + } + } +} + + + + \ No newline at end of file diff --git a/py-scripts/tools/ct_us_001_rig.json b/py-scripts/tools/ct_us_001_rig.json index 600d0155..91bc528f 100644 --- a/py-scripts/tools/ct_us_001_rig.json +++ b/py-scripts/tools/ct_us_001_rig.json @@ -72,370 +72,7 @@ "radio_dict":{ "RADIO_0_CFG":{"KEY":"RADIO_0_CFG","RADIO":"wiphy0","STATIONS":"1","SSID":"asus11ax-5","PASSWD":"hello123","SECURITY":"wpa2"}, "RADIO_1_CFG":{"KEY":"RADIO_1_CFG","RADIO":"wiphy1","STATIONS":"1","SSID":"asus11ax-5","PASSWD":"hello123","SECURITY":"wpa2"} - }, - "test_suites":{ - "suite_l3":{ - "test_l3_longevity":{"enabled":"TRUE","load_db":"skip","command":"test_l3_longevity.py","args":"--test_duration 15s --polling_interval 5s --upstream_port eth2 --radio 'radio==wiphy1,stations==4,ssid==asus11ax-5,ssid_pw==hello123,security==wpa2' --endp_type lf_udp --rates_are_totals --side_a_min_bps=20000 --side_b_min_bps=300000000"} - }, - "suite_wc_dp_mt":{ - "CT-US-001_create_chamberview_dut_0":{ - "enabled":"TRUE", - "load_db":"skip", - "command":"create_chamberview_dut.py", - "args":"", - "args_list":[ - " --lfmgr LF_MGR_IP --port LF_MGR_PORT --dut_name DUT_NAME", - " --ssid 'ssid_idx=0 ssid=asus11ax-5 security=WPA2 password=hello123 bssid=DUT_BSSID_5G'", - " --ssid 'ssid_idx=1 ssid=asus11ax-5 security=WPA2 password=hello123 bssid=DUT_BSSID_5G'", - " --sw_version DUT_SW --hw_version DUT_HW --serial_num DUT_SERIAL --model_num DUT_NAME" - ] - }, - "CT-US-001_create_chamberview_mt7915e_sta19":{ - "enabled":"TRUE", - "load_db":"skip", - "command":"create_chamberview.py", - "args":"", - "args_list":[ - " --lfmgr LF_MGR_IP --port LF_MGR_PORT --delete_scenario", - " --create_scenario ct-us-001-scenario ", - " --raw_line \"profile_link 1.1 STA-AC 19 'DUT: DUT_NAME Radio-1' NA wiphy7,AUTO -1 NA\" ", - " --raw_line \"profile_link 1.1 upstream-dhcp 1 NA NA UPSTREAM_PORT,AUTO -1 NA\"" - ] - }, - "CT-US-001_wifi_capacity_mt7915e":{ - "enabled":"TRUE", - "timeout":"600", - "load_db":"skip", - "command":"lf_wifi_capacity_test.py", - "args":"", - "args_list":[ - " --mgr LF_MGR_IP --port LF_MGR_PORT --lf_user lanforge --lf_password lanforge --instance_name cicd-wct", - " --upstream 1.1.eth2 --batch_size 1,5,25 --loop_iter 1 --protocol UDP-IPv4 --duration 6000", - " --pull_report --local_lf_report_dir REPORT_PATH --test_tag 'mt7915e'", - " --test_rig TEST_RIG --influx_host DATABASE_HOST --influx_port DATABASE_PORT --influx_org DATABASE_ORG", - " --influx_token=DATABASE_TOKEN --influx_bucket DATABASE_BUCKET --influx_tag DATABASE_TAG --set DUT_SET_NAME" - ] - }, - "CT-US-001_create_chamberview_mt7915e_sta1":{ - "enabled":"TRUE", - "load_db":"skip", - "command":"create_chamberview.py", - "args":"", - "args_list":[ - " --lfmgr LF_MGR_IP --port LF_MGR_PORT --delete_scenario", - " --create_scenario ct-us-001-scenario ", - " --raw_line \"profile_link 1.1 STA-AC 1 'DUT: DUT_NAME Radio-1' NA wiphy7,AUTO -1 NA\" ", - " --raw_line \"profile_link 1.1 upstream-dhcp 1 NA NA UPSTREAM_PORT,AUTO -1 NA\"" - ] - }, - "CT-US-001_dataplane_ATH10K_mt7915e_sta1":{ - "enabled":"TRUE", - "load_db":"skip", - "command":"lf_dataplane_test.py", - "args":"", - "args_list":[ - " --mgr LF_MGR_IP --port LF_MGR_PORT --lf_user lanforge --lf_password lanforge --instance_name cicd-dpt", - " --config_name test_con --upstream 1.1.eth2 --dut asus_5g --duration 30s --station 1.1.wlan7", - " --download_speed 85% --upload_speed 0 --raw_line 'pkts: 60;88;120;256;512;1024;MTU' ", - " --raw_line 'directions: DUT Transmit' --raw_line 'traffic_types: UDP' --raw_line 'bandw_options: 20'", - " --raw_line 'spatial_streams: 1' --pull_report --local_lf_report_dir REPORT_PATH --test_tag 'mt7915e' ", - " --test_rig TEST_RIG" - ] - }, - "CT-US-001_QA":{ - "enabled":"TRUE", - "timeout":"600", - "load_db":"skip", - "command":"./tools/lf_qa.py", - "args":"", - "args_list":[ - " --path REPORT_PATH --store --png --database ./tools/qa_test_db" - ] - } - - }, - "suite_wc_dp_short":{ - "CT-US-001_create_chamberview_dut_for_ATH10K":{ - "enabled":"TRUE", - "load_db":"skip", - "command":"create_chamberview_dut.py", - "args":"", - "args_list":[ - " --lfmgr LF_MGR_IP --port LF_MGR_PORT --dut_name DUT_NAME", - " --ssid 'ssid_idx=0 ssid=asus11ax-5 security=WPA2 password=hello123 bssid=DUT_BSSID_5G'", - " --ssid 'ssid_idx=1 ssid=asus11ax-5 security=WPA2 password=hello123 bssid=DUT_BSSID_5G'", - " --sw_version DUT_SW --hw_version DUT_HW --serial_num DUT_SERIAL --model_num DUT_NAME" - ] - }, - "CT-US-001_create_chamberview_ATH10K(9984)_sta50":{ - "enabled":"TRUE", - "load_db":"skip", - "command":"create_chamberview.py", - "args":"", - "args_list":[ - " --lfmgr LF_MGR_IP --port LF_MGR_PORT --delete_scenario", - " --create_scenario ct-us-001-scenario ", - " --raw_line \"profile_link 1.1 STA-AC 50 'DUT: DUT_NAME Radio-1' NA wiphy1,AUTO -1 NA\" ", - " --raw_line \"profile_link 1.1 upstream-dhcp 1 NA NA UPSTREAM_PORT,AUTO -1 NA\"" - ] - }, - "CT-US-001_wifi_capacity_ATH10K(9984)":{ - "enabled":"TRUE", - "timeout":"600", - "load_db":"skip", - "command":"lf_wifi_capacity_test.py", - "args":"", - "args_list":[ - " --mgr LF_MGR_IP --port LF_MGR_PORT --lf_user lanforge --lf_password lanforge --instance_name cicd-wct", - " --upstream 1.1.eth2 --batch_size 1,5,25 --loop_iter 1 --protocol UDP-IPv4 --duration 6000", - " --pull_report --local_lf_report_dir REPORT_PATH --test_tag 'ATH10K(9984)'", - " --test_rig TEST_RIG " - ] - }, - "CT-US-001_QA":{ - "enabled":"TRUE", - "timeout":"600", - "load_db":"skip", - "command":"./tools/lf_qa.py", - "args":"", - "args_list":[ - " --path REPORT_PATH --store --png --database ./tools/qa_test_db" - ] - } - }, - "suite_wc_dp":{ - "CT-US-001_create_chamberview_dut_for_ATH10K":{ - "enabled":"TRUE", - "load_db":"skip", - "command":"create_chamberview_dut.py", - "args":"", - "args_list":[ - " --lfmgr LF_MGR_IP --port LF_MGR_PORT --dut_name DUT_NAME", - " --ssid 'ssid_idx=0 ssid=asus11ax-5 security=WPA2 password=hello123 bssid=DUT_BSSID_5G'", - " --ssid 'ssid_idx=1 ssid=asus11ax-5 security=WPA2 password=hello123 bssid=DUT_BSSID_5G'", - " --sw_version DUT_SW --hw_version DUT_HW --serial_num DUT_SERIAL --model_num DUT_NAME" - ] - }, - "CT-US-001_create_chamberview_ATH10K(9984)_sta50":{ - "enabled":"TRUE", - "load_db":"skip", - "command":"create_chamberview.py", - "args":"", - "args_list":[ - " --lfmgr LF_MGR_IP --port LF_MGR_PORT --delete_scenario", - " --create_scenario ct-us-001-scenario ", - " --raw_line \"profile_link 1.1 STA-AC 50 'DUT: DUT_NAME Radio-1' NA wiphy1,AUTO -1 NA\" ", - " --raw_line \"profile_link 1.1 upstream-dhcp 1 NA NA UPSTREAM_PORT,AUTO -1 NA\"" - ] - }, - "CT-US-001_wifi_capacity_ATH10K(9984)":{ - "enabled":"TRUE", - "timeout":"600", - "load_db":"skip", - "command":"lf_wifi_capacity_test.py", - "args":"", - "args_list":[ - " --mgr LF_MGR_IP --port LF_MGR_PORT --lf_user lanforge --lf_password lanforge --instance_name cicd-wct", - " --upstream 1.1.eth2 --batch_size 1,5,25 --loop_iter 1 --protocol UDP-IPv4 --duration 6000", - " --pull_report --local_lf_report_dir REPORT_PATH --test_tag 'ATH10K(9984)'", - " --test_rig TEST_RIG --influx_host DATABASE_HOST --influx_port DATABASE_PORT --influx_org DATABASE_ORG", - " --influx_token=DATABASE_TOKEN --influx_bucket DATABASE_BUCKET --influx_tag DATABASE_TAG --set DUT_SET_NAME" - ] - }, - "CT-US-001_create_chamberview_ATH10K(9984)_sta1":{ - "enabled":"TRUE", - "load_db":"skip", - "command":"create_chamberview.py", - "args":"", - "args_list":[ - " --lfmgr LF_MGR_IP --port LF_MGR_PORT --delete_scenario", - " --create_scenario ct-us-001-scenario ", - " --raw_line \"profile_link 1.1 STA-AC 1 'DUT: DUT_NAME Radio-1' NA wiphy1,AUTO -1 NA\" ", - " --raw_line \"profile_link 1.1 upstream-dhcp 1 NA NA UPSTREAM_PORT,AUTO -1 NA\"" - ] - }, - "CT-US-001_dataplane_ATH10K(9984)_sta1":{ - "enabled":"TRUE", - "load_db":"skip", - "command":"lf_dataplane_test.py", - "args":"", - "args_list":[ - " --mgr LF_MGR_IP --port LF_MGR_PORT --lf_user lanforge --lf_password lanforge --instance_name cicd-dpt", - " --config_name test_con --upstream 1.1.eth2 --dut asus_5g --duration 30s --station 1.1.wlan1", - " --download_speed 85% --upload_speed 0 --raw_line 'pkts: 60;88;120;256;512;1024;MTU' ", - " --raw_line 'directions: DUT Transmit' --raw_line 'traffic_types: UDP' --raw_line 'bandw_options: 20'", - " --raw_line 'spatial_streams: 1' --pull_report --local_lf_report_dir REPORT_PATH --test_tag 'ATH10K(9984)' ", - " --test_rig TEST_RIG" - ] - }, - "CT-US-001_create_chamberview_dut_for_AX210":{ - "enabled":"TRUE", - "load_db":"skip", - "command":"create_chamberview_dut.py", - "args":"", - "args_list":[ - "--lfmgr LF_MGR_IP --port LF_MGR_PORT --dut_name DUT_NAME", - " --ssid 'ssid_idx=0 ssid=asus11ax-5 security=WPA2 password=hello123 bssid=DUT_BSSID_5G'", - " --ssid 'ssid_idx=1 ssid=asus11ax-5 security=WPA2 password=hello123 bssid=DUT_BSSID_5G'", - " --sw_version DUT_SW --hw_version DUT_HW --serial_num DUT_SERIAL --model_num DUT_NAME" - ] - }, - "CT-US-001_create_chamberview_wiphy3_AX210_sta1":{ - "enabled":"TRUE", - "load_db":"skip", - "command":"create_chamberview.py", - "args":"", - "args_list":[ - " --lfmgr LF_MGR_IP --port LF_MGR_PORT --delete_scenario", - " --create_scenario ct-us-001-scenario ", - " --raw_line \"profile_link 1.1 STA-AC 1 'DUT: DUT_NAME Radio-1' NA wiphy3,AUTO -1 NA\" ", - " --raw_line \"profile_link 1.1 upstream-dhcp 1 NA NA UPSTREAM_PORT,AUTO -1 NA\" " - ] - }, - "CT-US-001_wifi_capacity_wiphy3_AX210_sta1":{ - "enabled":"TRUE", - "load_db":"skip", - "command":"lf_wifi_capacity_test.py", - "args":"", - "args_list":[ - " --mgr LF_MGR_IP --port LF_MGR_PORT --lf_user lanforge --lf_password lanforge --instance_name cicd-wct", - " --upstream 1.1.eth2 --batch_size 1,5,25 --loop_iter 1 --protocol UDP-IPv4 --duration 6000", - " --pull_report --local_lf_report_dir REPORT_PATH --stations 1.1.wlan3 --test_tag 'AX210'", - " --test_rig TEST_RIG --influx_host DATABASE_HOST --influx_port DATABASE_PORT --influx_org DATABASE_ORG", - " --influx_token=DATABASE_TOKEN --influx_bucket DATABASE_BUCKET --influx_tag DATABASE_TAG --set DUT_SET_NAME" - ] - }, - "CT-US-001_dataplane_wiphy3_AX210_sta1":{ - "enabled":"TRUE", - "load_db":"skip", - "command":"lf_dataplane_test.py", - "args":"", - "args_list":[ - " --mgr LF_MGR_IP --port LF_MGR_PORT --lf_user lanforge --lf_password lanforge --instance_name cicd-dpt", - " --config_name test_con --upstream 1.1.eth2 --dut asus_5g --duration 30s --station 1.1.wlan3", - " --download_speed 85% --upload_speed 0 --raw_line 'pkts: 60;88;120;256;512;1024;MTU' ", - " --raw_line 'directions: DUT Transmit' --raw_line 'traffic_types: UDP' --raw_line 'bandw_options: 20'", - " --raw_line 'spatial_streams: 1' --pull_report --local_lf_report_dir REPORT_PATH --test_tag 'AX210'", - " --test_rig TEST_RIG" - ] - }, - "CT-US-001_create_chamberview_dut_for_mt7915e":{ - "enabled":"TRUE", - "load_db":"skip", - "command":"create_chamberview_dut.py", - "args":"", - "args_list":[ - " --lfmgr LF_MGR_IP --port LF_MGR_PORT --dut_name DUT_NAME", - " --ssid 'ssid_idx=0 ssid=asus11ax-5 security=WPA2 password=hello123 bssid=DUT_BSSID_5G'", - " --ssid 'ssid_idx=1 ssid=asus11ax-5 security=WPA2 password=hello123 bssid=DUT_BSSID_5G'", - " --sw_version DUT_SW --hw_version DUT_HW --serial_num DUT_SERIAL --model_num DUT_NAME" - ] - }, - "CT-US-001_create_chamberview_mt7915e_sta19":{ - "enabled":"TRUE", - "load_db":"skip", - "command":"create_chamberview.py", - "args":"", - "args_list":[ - " --lfmgr LF_MGR_IP --port LF_MGR_PORT --delete_scenario", - " --create_scenario ct-us-001-scenario ", - " --raw_line \"profile_link 1.1 STA-AC 19 'DUT: DUT_NAME Radio-1' NA wiphy7,AUTO -1 NA\" ", - " --raw_line \"profile_link 1.1 upstream-dhcp 1 NA NA UPSTREAM_PORT,AUTO -1 NA\"" - ] - }, - "CT-US-001_wifi_capacity_mt7915e":{ - "enabled":"TRUE", - "timeout":"600", - "load_db":"skip", - "command":"lf_wifi_capacity_test.py", - "args":"", - "args_list":[ - " --mgr LF_MGR_IP --port LF_MGR_PORT --lf_user lanforge --lf_password lanforge --instance_name cicd-wct", - " --upstream 1.1.eth2 --batch_size 1,5,25 --loop_iter 1 --protocol UDP-IPv4 --duration 6000", - " --pull_report --local_lf_report_dir REPORT_PATH --test_tag 'mt7915e'", - " --test_rig TEST_RIG" - ] - }, - "CT-US-001_create_chamberview_mt7915e_sta1":{ - "enabled":"TRUE", - "load_db":"skip", - "command":"create_chamberview.py", - "args":"", - "args_list":[ - " --lfmgr LF_MGR_IP --port LF_MGR_PORT --delete_scenario", - " --create_scenario ct-us-001-scenario ", - " --raw_line \"profile_link 1.1 STA-AC 1 'DUT: DUT_NAME Radio-1' NA wiphy7,AUTO -1 NA\" ", - " --raw_line \"profile_link 1.1 upstream-dhcp 1 NA NA UPSTREAM_PORT,AUTO -1 NA\"" - ] - }, - "CT-US-001_dataplane_ATH10K_mt7915e_sta1":{ - "enabled":"TRUE", - "load_db":"skip", - "command":"lf_dataplane_test.py", - "args":"", - "args_list":[ - " --mgr LF_MGR_IP --port LF_MGR_PORT --lf_user lanforge --lf_password lanforge --instance_name cicd-dpt", - " --config_name test_con --upstream 1.1.eth2 --dut asus_5g --duration 30s --station 1.1.wlan7", - " --download_speed 85% --upload_speed 0 --raw_line 'pkts: 60;88;120;256;512;1024;MTU' ", - " --raw_line 'directions: DUT Transmit' --raw_line 'traffic_types: UDP' --raw_line 'bandw_options: 20'", - " --raw_line 'spatial_streams: 1' --pull_report --local_lf_report_dir REPORT_PATH --test_tag 'mt7915e' ", - " --test_rig TEST_RIG" - ] - }, - "CT-US-001_create_chamberview_dut_2":{ - "enabled":"TRUE", - "load_db":"skip", - "command":"create_chamberview_dut.py", - "args":"", - "args_list":[ - " --lfmgr LF_MGR_IP --port LF_MGR_PORT --dut_name DUT_NAME", - " --ssid 'ssid_idx=0 ssid=asus11ax-5 security=WPA2 password=hello123 bssid=DUT_BSSID_5G'", - " --ssid 'ssid_idx=1 ssid=asus11ax-5 security=WPA2 password=hello123 bssid=DUT_BSSID_5G'", - " --sw_version DUT_SW --hw_version DUT_HW --serial_num DUT_SERIAL --model_num DUT_NAME" - ]}, - "CT-US-001_create_chamberview_ap":{ - "enabled":"TRUE", - "load_db":"skip", - "command":"create_chamberview.py", - "args":"", - "args_list":[ - " --lfmgr LF_MGR_IP --port LF_MGR_PORT --delete_scenario", - " --create_scenario ucentral-scenario ", - " --raw_line \"profile_link 1.1 STA-AC 64 'DUT: DUT_NAME Radio-1' NA wiphy1,AUTO -1 NA\" ", - " --raw_line \"profile_link 1.1 STA-AC 1 'DUT: DUT_NAME Radio-1' NA wiphy4,AUTO -1 NA\" ", - " --raw_line \"profile_link 1.1 upstream-dhcp 1 NA NA UPSTREAM_PORT,AUTO -1 NA \" " - ] - }, - "CT-US-001_lf_ap_auto_test": { - "enabled": "TRUE", - "command": "lf_ap_auto_test.py", - "timeout":"1200", - "args": "", - "args_list":[ - " --mgr LF_MGR_IP --port LF_MGR_PORT --lf_user lanforge --lf_password lanforge", - " --instance_name ap-auto-instance --config_name test_con --upstream UPSTREAM_PORT", - " --dut5_0 'DUT_NAME lanforge DUT_BSSID_5G (1)' --dut2_0 'DUT_NAME lanforge DUT_BSSID_5G (1)'", - " --max_stations_2 32 --max_stations_5 32 --max_stations_dual 100 --radio2 1.1.wiphy1", - " --radio5 1.1.wiphy2 --set 'Basic Client Connectivity' 1", - " --set 'Multi Band Performance' 0 --set 'Stability' 0 --set 'Multi-Station Throughput vs Pkt Size' 0,", - " --set 'Throughput vs Pkt Size' 0 --set 'Capacity' 0 --set 'Band-Steering' 0 --set 'Skip 2.4 Ghz Tests' 1", - " --pull_report --local_lf_report_dir REPORT_PATH --test_tag 'ATH10K(9984)'", - " --test_rig TEST_RIG" - ] - }, - "CT-US-001_QA":{ - "enabled":"TRUE", - "timeout":"600", - "load_db":"skip", - "command":"./tools/lf_qa.py", - "args":"", - "args_list":[ - " --path REPORT_PATH --store --png --database ./tools/qa_test_db" - ] - } - - } - } + } } diff --git a/py-scripts/tools/lf_check.py b/py-scripts/tools/lf_check.py index 07982702..41de1d46 100755 --- a/py-scripts/tools/lf_check.py +++ b/py-scripts/tools/lf_check.py @@ -93,15 +93,17 @@ FORMAT = '%(asctime)s %(name)s %(levelname)s: %(message)s' # lf_check class contains verificaiton configuration and ocastrates the testing. class lf_check(): def __init__(self, - _json_data, - _test_suite, - _production, - _csv_results, - _outfile, - _outfile_name, - _report_path, - _log_path): - self.json_data = _json_data + _json_rig, + _json_test, + _test_suite, + _production, + _csv_results, + _outfile, + _outfile_name, + _report_path, + _log_path): + self.json_rig = _json_rig + self.json_test = _json_test self.test_suite = _test_suite self.production_run = _production self.report_path = _report_path @@ -172,9 +174,12 @@ class lf_check(): # DUT , Test rig must match testbed self.test_rig = "CT-US-NA" + self.test_rig_json = "" # QA report self.qa_report_html = "NA" + self.database_qa = "" + self.table_qa = "" # database configuration # database self.database_json = "" @@ -383,324 +388,323 @@ QA Report: http://{ip_qa}/{qa_url}
""" - def read_config(self): - self.read_config_json() - # there is probably a more efficient way to do this in python # Keeping it obvious for now, may be refactored later - def read_config_json(self): - # self.logger.info("read_config_json_contents {}".format(self.json_data)) - if "test_parameters" in self.json_data: + def read_json_rig(self): + # self.logger.info("read_config_json_contents {}".format(self.json_rig)) + if "test_parameters" in self.json_rig: self.logger.info("json: read test_parameters") - # self.logger.info("test_parameters {}".format(self.json_data["test_parameters"])) + # self.logger.info("test_parameters {}".format(self.json_rig["test_parameters"])) self.read_test_parameters() else: - self.logger.info("EXITING test_parameters not in json {}".format(self.json_data)) + self.logger.info("EXITING test_parameters not in json {}".format(self.json_rig)) exit(1) - if "test_network" in self.json_data: + if "test_network" in self.json_rig: self.logger.info("json: read test_network") - # self.logger.info("test_network {}".format(self.json_data["test_network"])) + # self.logger.info("test_network {}".format(self.json_rig["test_network"])) self.read_test_network() else: - self.logger.info("EXITING test_network not in json {}".format(self.json_data)) + self.logger.info("EXITING test_network not in json {}".format(self.json_rig)) exit(1) - if "test_database" in self.json_data: + if "test_database" in self.json_rig: self.logger.info("json: read test_database") - # self.logger.info("test_database {}".format(self.json_data["test_database"])) + # self.logger.info("test_database {}".format(self.json_rig["test_database"])) self.read_test_database() else: self.logger.info("NOTE: test_database not found in json") - if "test_dashboard" in self.json_data: + if "test_dashboard" in self.json_rig: self.logger.info("json: read test_dashboard") - # self.logger.info("test_dashboard {}".format(self.json_data["test_dashboard"])) + # self.logger.info("test_dashboard {}".format(self.json_rig["test_dashboard"])) self.read_test_dashboard() else: self.logger.info("NOTE: test_dashboard not found in json") - if "test_blog" in self.json_data: + if "test_blog" in self.json_rig: self.logger.info("json: read test_blog") - # self.logger.info("test_blog {}".format(self.json_data["test_blog"])) + # self.logger.info("test_blog {}".format(self.json_rig["test_blog"])) self.read_test_blog() else: self.logger.info("NOTE: test_blog not found in json") - if "test_generic" in self.json_data: + if "test_generic" in self.json_rig: self.logger.info("json: read test_generic") - # self.logger.info("test_generic {}".format(self.json_data["test_generic"])) + # self.logger.info("test_generic {}".format(self.json_rig["test_generic"])) self.read_test_generic() else: - self.logger.info("EXITING test_generic not in json {}".format(self.json_data)) + self.logger.info("EXITING test_generic not in json {}".format(self.json_rig)) exit(1) - if "radio_dict" in self.json_data: + if "radio_dict" in self.json_rig: self.logger.info("json: read radio_dict") - # self.logger.info("radio_dict {}".format(self.json_data["radio_dict"])) - self.radio_dict = self.json_data["radio_dict"] + # self.logger.info("radio_dict {}".format(self.json_rig["radio_dict"])) + self.radio_dict = self.json_rig["radio_dict"] self.logger.info("self.radio_dict {}".format(self.radio_dict)) else: - self.logger.info("EXITING radio_dict not in json {}".format(self.json_data)) + self.logger.info("EXITING radio_dict not in json {}".format(self.json_rig)) exit(1) - if "test_suites" in self.json_data: + def read_json_test(self): + + if "test_suites" in self.json_test: self.logger.info("json: read test_suites looking for: {}".format(self.test_suite)) - # self.logger.info("test_suites {}".format(self.json_data["test_suites"])) - if self.test_suite in self.json_data["test_suites"]: - self.test_dict = self.json_data["test_suites"][self.test_suite] + # self.logger.info("test_suites {}".format(self.json_test["test_suites"])) + if self.test_suite in self.json_test["test_suites"]: + self.test_dict = self.json_test["test_suites"][self.test_suite] # self.logger.info("self.test_dict {}".format(self.test_dict)) else: self.logger.info("EXITING test_suite {} Not Present in json test_suites: {}".format(self.test_suite, - self.json_data[ + self.json_test[ "test_suites"])) exit(1) else: - self.logger.info("EXITING test_suites not in json {}".format(self.json_data)) + self.logger.info("EXITING test_suites not in json {}".format(self.json_test)) exit(1) def read_test_parameters(self): - if "test_timeout" in self.json_data["test_parameters"]: - self.test_timeout = self.json_data["test_parameters"]["test_timeout"] + if "test_timeout" in self.json_rig["test_parameters"]: + self.test_timeout = self.json_rig["test_parameters"]["test_timeout"] self.test_timeout_default = self.test_timeout else: self.logger.info("test_timeout not in test_parameters json") exit(1) - if "load_blank_db" in self.json_data["test_parameters"]: - self.load_blank_db = self.json_data["test_parameters"]["load_blank_db"] + if "load_blank_db" in self.json_rig["test_parameters"]: + self.load_blank_db = self.json_rig["test_parameters"]["load_blank_db"] else: self.logger.info("load_blank_db not in test_parameters json") exit(1) - if "load_factory_default_db" in self.json_data["test_parameters"]: - self.load_factory_default_db = self.json_data["test_parameters"]["load_factory_default_db"] + if "load_factory_default_db" in self.json_rig["test_parameters"]: + self.load_factory_default_db = self.json_rig["test_parameters"]["load_factory_default_db"] else: self.logger.info("load_factory_default_db not in test_parameters json") exit(1) - if "load_custom_db" in self.json_data["test_parameters"]: - self.load_custom_db = self.json_data["test_parameters"]["load_custom_db"] + if "load_custom_db" in self.json_rig["test_parameters"]: + self.load_custom_db = self.json_rig["test_parameters"]["load_custom_db"] else: self.logger.info("load_custom_db not in test_parameters json") exit(1) - if "custom_db" in self.json_data["test_parameters"]: - self.custom_db = self.json_data["test_parameters"]["custom_db"] + if "custom_db" in self.json_rig["test_parameters"]: + self.custom_db = self.json_rig["test_parameters"]["custom_db"] else: self.logger.info("custom_db not in test_parameters json, if not using custom_db just put in a name") exit(1) - if "email_list_production" in self.json_data["test_parameters"]: - self.email_list_production = self.json_data["test_parameters"]["email_list_production"] + if "email_list_production" in self.json_rig["test_parameters"]: + self.email_list_production = self.json_rig["test_parameters"]["email_list_production"] else: self.logger.info("email_list_production not in test_parameters json") exit(1) - if "host_ip_production" in self.json_data["test_parameters"]: - self.host_ip_production = self.json_data["test_parameters"]["host_ip_production"] + if "host_ip_production" in self.json_rig["test_parameters"]: + self.host_ip_production = self.json_rig["test_parameters"]["host_ip_production"] else: self.logger.info("host_ip_production not in test_parameters json") exit(1) - if "email_list_test" in self.json_data["test_parameters"]: - self.email_list_test = self.json_data["test_parameters"]["email_list_test"] + if "email_list_test" in self.json_rig["test_parameters"]: + self.email_list_test = self.json_rig["test_parameters"]["email_list_test"] print(self.email_list_test) else: self.logger.info("email_list_test not in test_parameters json") exit(1) - if "host_ip_test" in self.json_data["test_parameters"]: - self.host_ip_test = self.json_data["test_parameters"]["host_ip_test"] + if "host_ip_test" in self.json_rig["test_parameters"]: + self.host_ip_test = self.json_rig["test_parameters"]["host_ip_test"] else: self.logger.info("host_ip_test not in test_parameters json") exit(1) - if "email_title_txt" in self.json_data["test_parameters"]: - self.email_title_txt = self.json_data["test_parameters"]["email_title_txt"] + if "email_title_txt" in self.json_rig["test_parameters"]: + self.email_title_txt = self.json_rig["test_parameters"]["email_title_txt"] else: self.logger.info("email_title_txt not in test_parameters json") - if "email_txt" in self.json_data["test_parameters"]: - self.email_txt = self.json_data["test_parameters"]["email_txt"] + if "email_txt" in self.json_rig["test_parameters"]: + self.email_txt = self.json_rig["test_parameters"]["email_txt"] else: self.logger.info("email_txt not in test_parameters json") - if "lf_mgr_ip" in self.json_data["test_parameters"]: - self.lf_mgr_ip = self.json_data["test_parameters"]["lf_mgr_ip"] + if "lf_mgr_ip" in self.json_rig["test_parameters"]: + self.lf_mgr_ip = self.json_rig["test_parameters"]["lf_mgr_ip"] else: self.logger.info("lf_mgr_ip not in test_parameters json") - if "lf_mgr_port" in self.json_data["test_parameters"]: - self.lf_mgr_port = self.json_data["test_parameters"]["lf_mgr_port"] + if "lf_mgr_port" in self.json_rig["test_parameters"]: + self.lf_mgr_port = self.json_rig["test_parameters"]["lf_mgr_port"] else: self.logger.info("lf_mgr_port not in test_parameters json") - if "dut_name" in self.json_data["test_parameters"]: - self.dut_name = self.json_data["test_parameters"]["dut_name"] + if "dut_name" in self.json_rig["test_parameters"]: + self.dut_name = self.json_rig["test_parameters"]["dut_name"] else: self.logger.info("dut_name not in test_parameters json") - if "dut_hw" in self.json_data["test_parameters"]: - self.dut_hw = self.json_data["test_parameters"]["dut_hw"] + if "dut_hw" in self.json_rig["test_parameters"]: + self.dut_hw = self.json_rig["test_parameters"]["dut_hw"] else: self.logger.info("dut_hw not in test_parameters json") - if "dut_sw" in self.json_data["test_parameters"]: - self.dut_sw = self.json_data["test_parameters"]["dut_sw"] + if "dut_sw" in self.json_rig["test_parameters"]: + self.dut_sw = self.json_rig["test_parameters"]["dut_sw"] else: self.logger.info("dut_sw not in test_parameters json") - if "dut_model" in self.json_data["test_parameters"]: - self.dut_model = self.json_data["test_parameters"]["dut_model"] + if "dut_model" in self.json_rig["test_parameters"]: + self.dut_model = self.json_rig["test_parameters"]["dut_model"] else: self.logger.info("dut_model not in test_parameters json") - if "dut_serial" in self.json_data["test_parameters"]: - self.dut_serial = self.json_data["test_parameters"]["dut_serial"] + if "dut_serial" in self.json_rig["test_parameters"]: + self.dut_serial = self.json_rig["test_parameters"]["dut_serial"] else: self.logger.info("dut_serial not in test_parameters json") - if "dut_bssid_2g" in self.json_data["test_parameters"]: - self.dut_bssid_2g = self.json_data["test_parameters"]["dut_bssid_2g"] + if "dut_bssid_2g" in self.json_rig["test_parameters"]: + self.dut_bssid_2g = self.json_rig["test_parameters"]["dut_bssid_2g"] else: self.logger.info("dut_bssid_2G not in test_parameters json") - if "dut_bssid_5g" in self.json_data["test_parameters"]: - self.dut_bssid_5g = self.json_data["test_parameters"]["dut_bssid_5g"] + if "dut_bssid_5g" in self.json_rig["test_parameters"]: + self.dut_bssid_5g = self.json_rig["test_parameters"]["dut_bssid_5g"] else: self.logger.info("dut_bssid_5g not in test_parameters json") - if "dut_bssid_6g" in self.json_data["test_parameters"]: - self.dut_bssid_6g = self.json_data["test_parameters"]["dut_bssid_6g"] + if "dut_bssid_6g" in self.json_rig["test_parameters"]: + self.dut_bssid_6g = self.json_rig["test_parameters"]["dut_bssid_6g"] else: self.logger.info("dut_bssid_6g not in test_parameters json") def read_test_network(self): - if "http_test_ip" in self.json_data["test_network"]: - self.http_test_ip = self.json_data["test_network"]["http_test_ip"] + if "http_test_ip" in self.json_rig["test_network"]: + self.http_test_ip = self.json_rig["test_network"]["http_test_ip"] else: self.logger.info("http_test_ip not in test_network json") exit(1) - if "ftp_test_ip" in self.json_data["test_network"]: - self.ftp_test_ip = self.json_data["test_network"]["ftp_test_ip"] + if "ftp_test_ip" in self.json_rig["test_network"]: + self.ftp_test_ip = self.json_rig["test_network"]["ftp_test_ip"] else: self.logger.info("ftp_test_ip not in test_network json") exit(1) - if "test_ip" in self.json_data["test_network"]: - self.ftp_test_ip = self.json_data["test_network"]["test_ip"] + if "test_ip" in self.json_rig["test_network"]: + self.ftp_test_ip = self.json_rig["test_network"]["test_ip"] else: self.logger.info("test_ip not in test_network json") exit(1) def read_test_database(self): - if "database_config" in self.json_data["test_database"]: - self.database_config = self.json_data["test_database"]["database_config"] + if "database_config" in self.json_rig["test_database"]: + self.database_config = self.json_rig["test_database"]["database_config"] else: self.logger.info("database_config not in test_database json") - if "database_host" in self.json_data["test_database"]: - self.database_host = self.json_data["test_database"]["database_host"] + if "database_host" in self.json_rig["test_database"]: + self.database_host = self.json_rig["test_database"]["database_host"] else: self.logger.info("database_host not in test_database json") - if "database_port" in self.json_data["test_database"]: - self.database_port = self.json_data["test_database"]["database_port"] + if "database_port" in self.json_rig["test_database"]: + self.database_port = self.json_rig["test_database"]["database_port"] else: self.logger.info("database_port not in test_database json") - if "database_token" in self.json_data["test_database"]: - self.database_token = self.json_data["test_database"]["database_token"] + if "database_token" in self.json_rig["test_database"]: + self.database_token = self.json_rig["test_database"]["database_token"] else: self.logger.info("database_token not in test_database json") - if "database_org" in self.json_data["test_database"]: - self.database_org = self.json_data["test_database"]["database_org"] + if "database_org" in self.json_rig["test_database"]: + self.database_org = self.json_rig["test_database"]["database_org"] else: self.logger.info("database_org not in test_database json") - if "database_bucket" in self.json_data["test_database"]: - self.database_bucket = self.json_data["test_database"]["database_bucket"] + if "database_bucket" in self.json_rig["test_database"]: + self.database_bucket = self.json_rig["test_database"]["database_bucket"] else: self.logger.info("database_bucket not in test_database json") - if "database_tag" in self.json_data["test_database"]: - self.database_tag = self.json_data["test_database"]["database_tag"] + if "database_tag" in self.json_rig["test_database"]: + self.database_tag = self.json_rig["test_database"]["database_tag"] else: self.logger.info("database_tag not in test_database json") - if "test_rig" in self.json_data["test_database"]: - self.test_rig = self.json_data["test_database"]["test_rig"] + if "test_rig" in self.json_rig["test_database"]: + self.test_rig = self.json_rig["test_database"]["test_rig"] else: self.logger.info("test_rig not in test_database json") - if "dut_set_name" in self.json_data["test_database"]: - self.dut_set_name = self.json_data["test_database"]["dut_set_name"] + if "dut_set_name" in self.json_rig["test_database"]: + self.dut_set_name = self.json_rig["test_database"]["dut_set_name"] else: self.logger.info("dut_set_name not in test_database json") def read_test_dashboard(self): - if "dashboard_config" in self.json_data["test_dashboard"]: - self.dashboard_config = self.json_data["test_dashboard"]["dashboard_config"] + if "dashboard_config" in self.json_rig["test_dashboard"]: + self.dashboard_config = self.json_rig["test_dashboard"]["dashboard_config"] else: self.logger.info("dashboard_config not in test_dashboard json") - if "dashboard_host" in self.json_data["test_dashboard"]: - self.dashboard_host = self.json_data["test_dashboard"]["dashboard_host"] + if "dashboard_host" in self.json_rig["test_dashboard"]: + self.dashboard_host = self.json_rig["test_dashboard"]["dashboard_host"] else: self.logger.info("dashboard_host not in test_dashboard json") - if "dashboard_token" in self.json_data["test_dashboard"]: - self.dashboard_token = self.json_data["test_dashboard"]["dashboard_token"] + if "dashboard_token" in self.json_rig["test_dashboard"]: + self.dashboard_token = self.json_rig["test_dashboard"]["dashboard_token"] else: self.logger.info("dashboard_token not in test_dashboard json") def read_test_blog(self): - if "blog_config" in self.json_data["test_blog"]: - self.blog_config = self.json_data["test_blog"]["blog_config"] + if "blog_config" in self.json_rig["test_blog"]: + self.blog_config = self.json_rig["test_blog"]["blog_config"] else: self.logger.info("blog_config not in test_blog json") - if "blog_host" in self.json_data["test_blog"]: - self.blog_host = self.json_data["test_blog"]["blog_host"] + if "blog_host" in self.json_rig["test_blog"]: + self.blog_host = self.json_rig["test_blog"]["blog_host"] else: self.logger.info("blog_host not in test_blog json") - if "blog_token" in self.json_data["test_blog"]: - self.blog_token = self.json_data["test_blog"]["blog_token"] + if "blog_token" in self.json_rig["test_blog"]: + self.blog_token = self.json_rig["test_blog"]["blog_token"] else: self.logger.info("blog_token not in test_blog json") - if "blog_authors" in self.json_data["test_blog"]: - self.blog_authors = self.json_data["test_blog"]["blog_authors"] + if "blog_authors" in self.json_rig["test_blog"]: + self.blog_authors = self.json_rig["test_blog"]["blog_authors"] else: self.logger.info("blog_authors not in test_blog json") - if "blog_customer" in self.json_data["test_blog"]: - self.blog_customer = self.json_data["test_blog"]["blog_customer"] + if "blog_customer" in self.json_rig["test_blog"]: + self.blog_customer = self.json_rig["test_blog"]["blog_customer"] else: self.logger.info("blog_customer not in test_blog json") - if "blog_user_push" in self.json_data["test_blog"]: - self.blog_user_push = self.json_data["test_blog"]["blog_user_push"] + if "blog_user_push" in self.json_rig["test_blog"]: + self.blog_user_push = self.json_rig["test_blog"]["blog_user_push"] else: self.logger.info("blog_user_push not in test_blog json") - if "blog_password_push" in self.json_data["test_blog"]: - self.blog_password_push = self.json_data["test_blog"]["blog_password_push"] + if "blog_password_push" in self.json_rig["test_blog"]: + self.blog_password_push = self.json_rig["test_blog"]["blog_password_push"] else: self.logger.info("blog_password_push not in test_blog json") - if "blog_flag" in self.json_data["test_blog"]: - self.blog_flag = self.json_data["test_blog"]["blog_flag"] + if "blog_flag" in self.json_rig["test_blog"]: + self.blog_flag = self.json_rig["test_blog"]["blog_flag"] else: self.logger.info("blog_flag not in test_blog json") def read_test_generic(self): - if "radio_used" in self.json_data["test_generic"]: - self.radio_lf = self.json_data["test_generic"]["radio_used"] + if "radio_used" in self.json_rig["test_generic"]: + self.radio_lf = self.json_rig["test_generic"]["radio_used"] else: self.logger.info("radio_used not in test_generic json") exit(1) - if "ssid_used" in self.json_data["test_generic"]: - self.ssid = self.json_data["test_generic"]["ssid_used"] + if "ssid_used" in self.json_rig["test_generic"]: + self.ssid = self.json_rig["test_generic"]["ssid_used"] else: self.logger.info("ssid_used not in test_generic json") exit(1) - if "ssid_pw_used" in self.json_data["test_generic"]: - self.ssid_pw = self.json_data["test_generic"]["ssid_pw_used"] + if "ssid_pw_used" in self.json_rig["test_generic"]: + self.ssid_pw = self.json_rig["test_generic"]["ssid_pw_used"] else: self.logger.info("ssid_pw_used not in test_generic json") exit(1) - if "security_used" in self.json_data["test_generic"]: - self.security = self.json_data["test_generic"]["security_used"] + if "security_used" in self.json_rig["test_generic"]: + self.security = self.json_rig["test_generic"]["security_used"] else: self.logger.info("security_used not in test_generic json") exit(1) - if "num_sta" in self.json_data["test_generic"]: - self.num_sta = self.json_data["test_generic"]["num_sta"] + if "num_sta" in self.json_rig["test_generic"]: + self.num_sta = self.json_rig["test_generic"]["num_sta"] else: self.logger.info("num_sta not in test_generic json") exit(1) - if "col_names" in self.json_data["test_generic"]: - self.num_sta = self.json_data["test_generic"]["col_names"] + if "col_names" in self.json_rig["test_generic"]: + self.num_sta = self.json_rig["test_generic"]["col_names"] else: self.logger.info("col_names not in test_generic json") exit(1) - if "upstream_port" in self.json_data["test_generic"]: - self.upstream_port = self.json_data["test_generic"]["upstream_port"] + if "upstream_port" in self.json_rig["test_generic"]: + self.upstream_port = self.json_rig["test_generic"]["upstream_port"] else: self.logger.info("upstream_port not in test_generic json") exit(1) @@ -1060,7 +1064,8 @@ Example : default="lf_check_config.ini") parser.add_argument('--dir', help="--dir ", default="lf_check") parser.add_argument('--path', help="--path ", default="/home/lanforge/html-results") - parser.add_argument('--json', help="--json ", default="lf_check_config.json") + parser.add_argument('--json_rig', help="--json ", default="") + parser.add_argument('--json_test', help="--json ", default="") parser.add_argument('--use_json', help="--use_json FLAG DEPRECATED", action='store_true') parser.add_argument('--suite', help="--suite default TEST_DICTIONARY", default="TEST_DICTIONARY") parser.add_argument('--production', help="--production stores true, sends email results to production email list", @@ -1075,11 +1080,19 @@ Example : if args.use_json: print("NOTE: --use_json flag deprecated and unused") # load test config file information either .json or .ini - json_data = "" + json_rig = "" try: - print("args.json {}".format(args.json)) - with open(args.json, 'r') as json_config: - json_data = json.load(json_config) + print("args.json_rig {rig}".format(rig=args.json_rig)) + with open(args.json_rig, 'r') as json_rig_config: + json_rig = json.load(json_rig_config) + except: + print("Error reading {}".format(args.json_rig)) + + json_test = "" + try: + print("args.json_test {}".format(args.json_test)) + with open(args.json_test, 'r') as json_test_config: + json_test = json.load(json_test_config) except: print("Error reading {}".format(args.json)) @@ -1116,7 +1129,8 @@ Example : log_path = report.get_log_path() # lf_check() class created - check = lf_check(_json_data=json_data, + check = lf_check(_json_rig=json_rig, + _json_test=json_test, _test_suite=test_suite, _production=production, _csv_results=csv_results, @@ -1140,7 +1154,8 @@ Example : logger.addHandler(logging.StreamHandler(sys.stdout)) # allows to logging to file and stdout # read config and run tests - check.read_config() + check.read_json_rig() #check.read_config + check.read_json_test() ping_result = check.check_if_port_exists() for key, value in ping_result.items(): if value[1] is None: