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: