mirror of
https://github.com/Telecominfraproject/wlan-lanforge-scripts.git
synced 2025-11-01 19:28:00 +00:00
cv-dut: Improve options to configure DUT.
And stop hard-coding the DUT position. Add start of ferndale ucentral testbed end-to-end example test script. Signed-off-by: Ben Greear <greearb@candelatech.com>
This commit is contained in:
@@ -9,15 +9,19 @@ class cv_dut(LFCliBase):
|
|||||||
def __init__(self,
|
def __init__(self,
|
||||||
lfclient_host="localhost",
|
lfclient_host="localhost",
|
||||||
lfclient_port=8080,
|
lfclient_port=8080,
|
||||||
|
sw_version="NA",
|
||||||
|
hw_version="NA",
|
||||||
|
serial_num="NA",
|
||||||
|
model_num="NA",
|
||||||
):
|
):
|
||||||
super().__init__(_lfjson_host=lfclient_host,
|
super().__init__(_lfjson_host=lfclient_host,
|
||||||
_lfjson_port=lfclient_port)
|
_lfjson_port=lfclient_port)
|
||||||
self.cv_dut_name = "DUT"
|
self.cv_dut_name = "DUT"
|
||||||
self.flags = "4098"
|
self.flags = "4098"
|
||||||
self.sw_version = "[BLANK]"
|
self.sw_version = sw_version
|
||||||
self.hw_version = "[BLANK]"
|
self.hw_version = hw_version
|
||||||
self.model_num = "[BLANK]"
|
self.model_num = model_num
|
||||||
self.serial_num = "[BLANK]"
|
self.serial_num = serial_num
|
||||||
self.serial_port = "[BLANK]"
|
self.serial_port = "[BLANK]"
|
||||||
self.wan_port = "[BLANK]"
|
self.wan_port = "[BLANK]"
|
||||||
self.lan_port = "[BLANK]"
|
self.lan_port = "[BLANK]"
|
||||||
@@ -35,7 +39,10 @@ class cv_dut(LFCliBase):
|
|||||||
bssid2="00:00:00:00:00:00",
|
bssid2="00:00:00:00:00:00",
|
||||||
bssid3="00:00:00:00:00:00",
|
bssid3="00:00:00:00:00:00",
|
||||||
mgt_ip="0.0.0.0",
|
mgt_ip="0.0.0.0",
|
||||||
eap_id="[BLANK]"):
|
eap_id="[BLANK]",
|
||||||
|
top_left_x="NA",
|
||||||
|
top_left_y="NA",
|
||||||
|
):
|
||||||
response_json = []
|
response_json = []
|
||||||
req_url = "/cli-json/add_dut"
|
req_url = "/cli-json/add_dut"
|
||||||
data = {
|
data = {
|
||||||
@@ -64,8 +71,8 @@ class cv_dut(LFCliBase):
|
|||||||
"bssid1": bssid1,
|
"bssid1": bssid1,
|
||||||
"bssid2": bssid2,
|
"bssid2": bssid2,
|
||||||
"bssid3": bssid3,
|
"bssid3": bssid3,
|
||||||
"top_left_x": "0",
|
"top_left_x": top_left_x,
|
||||||
"top_left_y": "0",
|
"top_left_y": top_left_y,
|
||||||
"eap_id": eap_id,
|
"eap_id": eap_id,
|
||||||
}
|
}
|
||||||
rsp = self.json_post(req_url, data, debug_=False, response_json_list_=response_json)
|
rsp = self.json_post(req_url, data, debug_=False, response_json_list_=response_json)
|
||||||
|
|||||||
@@ -68,21 +68,23 @@ class DUT(dut):
|
|||||||
port="8080",
|
port="8080",
|
||||||
dut_name="DUT",
|
dut_name="DUT",
|
||||||
ssid=[],
|
ssid=[],
|
||||||
password=[],
|
sw_version="NA",
|
||||||
bssid=[],
|
hw_version="NA",
|
||||||
security=[]
|
serial_num="NA",
|
||||||
|
model_num="NA",
|
||||||
):
|
):
|
||||||
super().__init__(
|
super().__init__(
|
||||||
lfclient_host=lfmgr,
|
lfclient_host=lfmgr,
|
||||||
lfclient_port=port,
|
lfclient_port=port,
|
||||||
|
sw_version=sw_version,
|
||||||
|
hw_version=hw_version,
|
||||||
|
serial_num=serial_num,
|
||||||
|
model_num=model_num,
|
||||||
)
|
)
|
||||||
self.cv_dut_name = dut_name
|
self.cv_dut_name = dut_name
|
||||||
self.cv_test = cvtest(lfmgr, port)
|
self.cv_test = cvtest(lfmgr, port)
|
||||||
self.dut_name = dut_name
|
self.dut_name = dut_name
|
||||||
self.ssid = ssid
|
self.ssid = ssid
|
||||||
self.password = password
|
|
||||||
self.bssid = bssid
|
|
||||||
self.security = security
|
|
||||||
|
|
||||||
def setup(self):
|
def setup(self):
|
||||||
self.create_dut()
|
self.create_dut()
|
||||||
@@ -150,11 +152,20 @@ def main():
|
|||||||
parser.add_argument("-s", "--ssid", action='append', nargs=1,
|
parser.add_argument("-s", "--ssid", action='append', nargs=1,
|
||||||
help="SSID", default=[])
|
help="SSID", default=[])
|
||||||
|
|
||||||
|
parser.add_argument("--sw_version", default="NA", help="DUT Software version.")
|
||||||
|
parser.add_argument("--hw_version", default="NA", help="DUT Hardware version.")
|
||||||
|
parser.add_argument("--serial_num", default="NA", help="DUT Serial number.")
|
||||||
|
parser.add_argument("--model_num", default="NA", help="DUT Model Number.")
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
new_dut = DUT(args.lfmgr,
|
new_dut = DUT(lfmgr=args.lfmgr,
|
||||||
args.port,
|
port=args.port,
|
||||||
args.dut_name,
|
dut_name=args.dut_name,
|
||||||
args.ssid,
|
ssid=args.ssid,
|
||||||
|
sw_version = args.sw_version,
|
||||||
|
hw_version = args.hw_version,
|
||||||
|
serial_num = args.serial_num,
|
||||||
|
model_num = args.model_num,
|
||||||
)
|
)
|
||||||
|
|
||||||
new_dut.setup()
|
new_dut.setup()
|
||||||
|
|||||||
46
py-scripts/cv_examples/ferndale_ucentral.bash
Executable file
46
py-scripts/cv_examples/ferndale_ucentral.bash
Executable file
@@ -0,0 +1,46 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# This bash script creates/updates a DUT, creates/updates a chamberview scenario,
|
||||||
|
# loads and builds that scenario, runs wifi capacity test, and saves the kpi.csv info
|
||||||
|
# into influxdb. As final step, it builds a grafana dashboard for the KPI information.
|
||||||
|
|
||||||
|
# Define some common variables. This will need to be changed to match your own testbed.
|
||||||
|
# LANforge GUI machine
|
||||||
|
#MGR=192.168.100.209
|
||||||
|
MGR=localhost
|
||||||
|
INFLUXTOKEN=-u_Wd-L8o992701QF0c5UmqEp7w7Z7YOMaWLxOMgmHfATJGnQbbmYyNxHBR9PgD6taM_tcxqJl6U8DjU1xINFQ==
|
||||||
|
TESTBED=Ferndale-01
|
||||||
|
GRAFANATOKEN=eyJrIjoiVXVyZ0dQSXlNdGlQNGQ1R282S2p6SE1PZXJVOVpvM1UiLCJuIjoiYmVuLWdyYWZhbmEiLCJpZCI6MX0=
|
||||||
|
GROUPS=/tmp/lf_cv_rpt_filelocation.txt
|
||||||
|
DUT=linksys-8450
|
||||||
|
|
||||||
|
# Create/update new DUT.
|
||||||
|
#Replace my arguments with your setup. Separate your ssid arguments with spaces and ensure the names are lowercase
|
||||||
|
echo "Make new DUT"
|
||||||
|
./create_chamberview_dut.py --lfmgr ${MGR} --dut_name ${DUT} \
|
||||||
|
--ssid "ssid_idx=0 ssid=Default-SSID-2g security=WPA2 password=12345678 bssid=c4:41:1e:f5:3f:24" \
|
||||||
|
--ssid "ssid_idx=1 ssid=Default-SSID-5gl security=WPA2 password=12345678 bssid=c4:41:1e:f5:3f:25" \
|
||||||
|
--sw_version "ucentral-01" --hw_version ea8450 --serial_num 1001 --model_num 8450
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
||||||
|
# Create/update chamber view scenario and apply and build it.
|
||||||
|
echo "Build Chamber View Scenario"
|
||||||
|
#change the lfmgr to your system, set the radio to a working radio on your LANforge system, same with the ethernet port.
|
||||||
|
./create_chamberview.py --lfmgr ${MGR} --create_scenario DUT_TO_GRAFANA_SCENARIO \
|
||||||
|
--line "Resource=1.1 Profile=default Amount=32 Uses-1=wiphy1 DUT=DUT_TO_GRAFANA_DUT Traffic=wiphy1 Freq=-1" \
|
||||||
|
--line "Resource=1.1 Profile=upstream Amount=1 Uses-1=eth1 DUT=DUT_TO_GRAFANA_DUT Traffic=eth1 Freq=-1"
|
||||||
|
|
||||||
|
# Run capacity test on the stations created by the chamber view scenario.
|
||||||
|
# Submit the KPI data into the influxdb.
|
||||||
|
#config_name doesn't matter, change the influx_host to your LANforge device,
|
||||||
|
echo "run wifi capacity test"
|
||||||
|
./lf_wifi_capacity_test.py --config_name Custom --create_stations --radio wiphy1 --pull_report --influx_host ${MGR} \
|
||||||
|
--influx_port 8086 --influx_org Candela --influx_token ${INFLUXTOKEN} --influx_bucket lanforge --mgr ${MGR} \
|
||||||
|
--instance_name testing --upstream eth1 --test_rig ${TESTBED} --graphgroups ${GROUPS}
|
||||||
|
|
||||||
|
# Build grafana dashboard and graphs view for the KPI in the capacity test.
|
||||||
|
./grafana_profile.py --create_custom --title ${TESTBED} --influx_bucket lanforge --mgr 192.168.1.7 --grafana_token ${GRAFANATOKEN} \
|
||||||
|
--grafana_host 192.168.1.7 --testbed ${TESTBED} --graph-groups ${GROUPS} --scripts Dataplane --scripts 'WiFi Capacity'
|
||||||
|
|
||||||
|
rm ${GROUPS}
|
||||||
Reference in New Issue
Block a user