Files
wlan-lanforge-scripts/py-scripts/build_chamberview.py
SushantBawiskar ea5156ab66 Added chamberview.py as chamberview library
build_chamberview can be used to run chamberview

Signed-off-by: SushantBawiskar <sushant.bawiskar@candelatech.com>
2021-04-08 17:16:14 +05:30

81 lines
2.7 KiB
Python

#!/usr/bin/env python3
"""
Script for creating a chamberview scenario.
"""
import sys
import os
import argparse
import time
if sys.version_info[0] != 3:
print("This script requires Python 3")
exit(1)
if 'py-json' not in sys.path:
sys.path.append(os.path.join(os.path.abspath('..'), 'py-json'))
from chamberview import chamberview as cv
def main():
parser = argparse.ArgumentParser(
description="""use build_chamberview to create a lanforge chamberview scenario
""")
parser.add_argument("-m", "--lfmgr", type=str,
help="address of the LANforge GUI machine (localhost is default)")
parser.add_argument("-o", "--port", type=int,
help="IP Port the LANforge GUI is listening on (8080 is default)")
parser.add_argument("-cs", "--create_scenario", "--create_lf_scenario", type=str,
help="name of scenario to be created")
parser.add_argument("-p", "--profile", type=str, required=True,
help="name of profile")
parser.add_argument("-n", "--no_stations", type=str, required=True,
help="Number of stations")
parser.add_argument("-d", "--dut", "--DUT", type=str, required=True,
help="Name of the DUT")
parser.add_argument("-dr", "--dr", "--dut_radio", type=str, required=True,
help="Select DUT Radio ex. \"Radio-1\", \"Radio-2\"")
parser.add_argument("-t", "--t", "--traffic", type=str, required=True,
help="Select traffic ex. \"tcp-dl-6m-vi\"")
parser.add_argument("-r", "--r", "--radio", type=str, required=True,
help="Select traffic ex. \"wiphy0\"")
args = parser.parse_args()
if args.lfmgr is not None:
lfjson_host = args.lfmgr
if args.port is not None:
lfjson_port = args.port
scenario_name = args.create_scenario
profile_name = args.profile
create_stations = args.no_stations
dut_name = args.dut
dut_radio = args.dr
traffic_type = args.t
radio = args.r
createCV = cv(lfjson_host, lfjson_port); #Create a object
createCV.manage_cv_scenario(scenario_name, profile_name, create_stations, dut_name, dut_radio
, traffic_type, radio); #To manage scenario
createCV.sync_cv() #chamberview sync
time.sleep(2)
createCV.apply_cv_scenario(scenario_name) #Apply scenario
createCV.apply_cv_scenario(scenario_name)
createCV.apply_cv_scenario(scenario_name)
createCV.apply_cv_scenario(scenario_name)
createCV.apply_cv_scenario(scenario_name)
createCV.apply_cv_scenario(scenario_name)
time.sleep(2)
createCV.build_cv_scenario() #build scenario
print("End")
if __name__ == "__main__":
main()