mirror of
https://github.com/Telecominfraproject/wlan-lanforge-scripts.git
synced 2025-11-02 19:58:03 +00:00
97 lines
2.4 KiB
Python
Executable File
97 lines
2.4 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
"""
|
|
This script updates a Device Under Test (DUT) entry in the LANforge test scenario.
|
|
A common reason to use this would be to update MAC addresses in a DUT when you switch
|
|
between different items of the same make/model of a DUT.
|
|
"""
|
|
import sys
|
|
|
|
if sys.version_info[0] != 3:
|
|
print("This script requires Python 3")
|
|
exit(1)
|
|
|
|
if 'py-json' not in sys.path:
|
|
sys.path.append('../py-json')
|
|
|
|
import argparse
|
|
from LANforge.lfcli_base import LFCliBase
|
|
from LANforge.LFUtils import *
|
|
from LANforge import add_dut
|
|
from LANforge import LFUtils
|
|
import argparse
|
|
import realm
|
|
import time
|
|
import datetime
|
|
|
|
|
|
class UpdateDUT(LFCliBase):
|
|
def __init__(self, host, port,
|
|
_debug_on=False,
|
|
_exit_on_error=False,
|
|
_exit_on_fail=False):
|
|
super().__init__(host, port, _debug=_debug_on, _halt_on_error=_exit_on_error, _exit_on_fail=_exit_on_fail)
|
|
self.host = host
|
|
self.port = port
|
|
self.params = {}
|
|
self.flags = 0x0
|
|
self.flags_mask = 0x0
|
|
|
|
def add_flag(self, ):
|
|
pass
|
|
|
|
def build(self):
|
|
pass
|
|
|
|
def start(self, print_pass=False, print_fail=False):
|
|
self._pass("DUT updated")
|
|
pass
|
|
|
|
def stop(self):
|
|
pass
|
|
|
|
def cleanup(self, sta_list):
|
|
pass
|
|
|
|
def main():
|
|
lfjson_host = "localhost"
|
|
lfjson_port = 8080
|
|
|
|
param_string = " "
|
|
for param in add_dut.dut_params:
|
|
param_string += "%s, "%param.name
|
|
|
|
flags_string = " "
|
|
for flag in add_dut.dut_flags:
|
|
flags_string += "%s, "%flag.name
|
|
|
|
parser = LFCliBase.create_bare_argparse( prog='update_dut.py',
|
|
formatter_class=argparse.RawTextHelpFormatter,
|
|
epilog="Update parameters of a DUT record",
|
|
description='''{file}
|
|
--------------------
|
|
Generic command layout:
|
|
python ./{file} --create [name] # create new DUT record
|
|
--update [name] # update existing DUT record
|
|
--entry [key,value] # update/add entry by specifying key and value
|
|
|
|
Command Line Example:
|
|
python3 ./{file} --mgr 192.168.100.24 --update Pathfinder --entry MAC1,"00:00:ae:f0:b1:b9" --entry api,"build 2901"
|
|
|
|
DUT Parameters:
|
|
{params}
|
|
DUT Flags:
|
|
{flags}
|
|
'''.format(file=__file__, params=param_string, flags=flags_string)
|
|
)
|
|
|
|
args = parser.parse_args()
|
|
|
|
update_dut = UpdateDUT(args.mgr, lfjson_port, _debug_on=args.debug)
|
|
|
|
update_dut.build()
|
|
update_dut.start()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|