mirror of
https://github.com/Telecominfraproject/wlan-lanforge-scripts.git
synced 2025-11-20 12:04:52 +00:00
inheritance fixes
This commit is contained in:
213
py-json/realm.py
213
py-json/realm.py
@@ -20,6 +20,7 @@ import base64
|
|||||||
import xlsxwriter
|
import xlsxwriter
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
|
|
||||||
|
|
||||||
def wpa_ent_list():
|
def wpa_ent_list():
|
||||||
return [
|
return [
|
||||||
"DEFAULT",
|
"DEFAULT",
|
||||||
@@ -45,6 +46,7 @@ def wpa_ent_list():
|
|||||||
"OWE"
|
"OWE"
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
class Realm(LFCliBase):
|
class Realm(LFCliBase):
|
||||||
def __init__(self,
|
def __init__(self,
|
||||||
lfclient_host="localhost",
|
lfclient_host="localhost",
|
||||||
@@ -317,7 +319,8 @@ class Realm(LFCliBase):
|
|||||||
dbg_param = "?__debug=1"
|
dbg_param = "?__debug=1"
|
||||||
|
|
||||||
while (last_response != "YES"):
|
while (last_response != "YES"):
|
||||||
response = self.json_post("/gui-json/cmd%s" % dbg_param, data, debug_=debug_, response_json_list_=response_json)
|
response = self.json_post("/gui-json/cmd%s" % dbg_param, data, debug_=debug_,
|
||||||
|
response_json_list_=response_json)
|
||||||
# LFUtils.debug_printer.pprint(response_json)
|
# LFUtils.debug_printer.pprint(response_json)
|
||||||
last_response = response_json[0]["LAST"]["response"]
|
last_response = response_json[0]["LAST"]["response"]
|
||||||
if (last_response != "YES"):
|
if (last_response != "YES"):
|
||||||
@@ -331,7 +334,8 @@ class Realm(LFCliBase):
|
|||||||
# loads a database
|
# loads a database
|
||||||
def load(self, name):
|
def load(self, name):
|
||||||
if (name is None) or (name == ""):
|
if (name is None) or (name == ""):
|
||||||
raise ValueError("Realm::load: wants a test scenario database name, please find one in the Status tab of the GUI")
|
raise ValueError(
|
||||||
|
"Realm::load: wants a test scenario database name, please find one in the Status tab of the GUI")
|
||||||
|
|
||||||
data = {
|
data = {
|
||||||
"name": name,
|
"name": name,
|
||||||
@@ -636,7 +640,6 @@ class Realm(LFCliBase):
|
|||||||
num_sta_with_ips += 1
|
num_sta_with_ips += 1
|
||||||
return num_sta_with_ips
|
return num_sta_with_ips
|
||||||
|
|
||||||
|
|
||||||
def duration_time_to_seconds(self, time_string):
|
def duration_time_to_seconds(self, time_string):
|
||||||
if isinstance(time_string, str):
|
if isinstance(time_string, str):
|
||||||
pattern = re.compile("^(\d+)([dhms]$)")
|
pattern = re.compile("^(\d+)([dhms]$)")
|
||||||
@@ -793,11 +796,13 @@ class Realm(LFCliBase):
|
|||||||
return cx_prof
|
return cx_prof
|
||||||
|
|
||||||
def new_vap_profile(self):
|
def new_vap_profile(self):
|
||||||
vap_prof = VAPProfile(lfclient_host=self.lfclient_host, lfclient_port=self.lfclient_port, local_realm=self, debug_=self.debug)
|
vap_prof = VAPProfile(lfclient_host=self.lfclient_host, lfclient_port=self.lfclient_port, local_realm=self,
|
||||||
|
debug_=self.debug)
|
||||||
return vap_prof
|
return vap_prof
|
||||||
|
|
||||||
def new_vr_profile(self):
|
def new_vr_profile(self):
|
||||||
vap_prof = VRProfile(lfclient_host=self.lfclient_host, lfclient_port=self.lfclient_port, local_realm=self, debug_=self.debug)
|
vap_prof = VRProfile(lfclient_host=self.lfclient_host, lfclient_port=self.lfclient_port, local_realm=self,
|
||||||
|
debug_=self.debug)
|
||||||
return vap_prof
|
return vap_prof
|
||||||
|
|
||||||
def new_http_profile(self):
|
def new_http_profile(self):
|
||||||
@@ -817,6 +822,7 @@ class Realm(LFCliBase):
|
|||||||
def new_test_group_profile(self):
|
def new_test_group_profile(self):
|
||||||
return TestGroupProfile(self.lfclient_host, self.lfclient_port, local_realm=self, debug_=self.debug)
|
return TestGroupProfile(self.lfclient_host, self.lfclient_port, local_realm=self, debug_=self.debug)
|
||||||
|
|
||||||
|
|
||||||
class BaseProfile(LFCliBase):
|
class BaseProfile(LFCliBase):
|
||||||
def __init__(self, local_realm):
|
def __init__(self, local_realm):
|
||||||
self.parent_realm = local_realm
|
self.parent_realm = local_realm
|
||||||
@@ -824,16 +830,19 @@ class BaseProfile(LFCliBase):
|
|||||||
self.exit_on_error = False
|
self.exit_on_error = False
|
||||||
|
|
||||||
def json_get(self, target):
|
def json_get(self, target):
|
||||||
return self.json_get(target)
|
return self.parent_realm.json_get(target)
|
||||||
|
|
||||||
def json_post(self, url,data,debug_,suppress_related_commands_=None):
|
def json_post(self, req_url, data, debug_=False, suppress_related_commands_=None):
|
||||||
return self.json_post(url,data,debug_=False,suppress_related_commands_=suppress_related_commands_)
|
return self.parent_realm.json_post(req_url,
|
||||||
|
data,
|
||||||
|
suppress_related_commands_=suppress_related_commands_,
|
||||||
|
debug_=debug_)
|
||||||
|
|
||||||
def parse_time(self, target):
|
def parse_time(self, target):
|
||||||
return self.parent_realm.parse_time(target)
|
return self.parent_realm.parse_time(target)
|
||||||
|
|
||||||
def stop_cx(self, target):
|
def stopping_cx(self, name):
|
||||||
return self.parent_realm.stop_cx(target)
|
return self.parent_realm.stop_cx(name)
|
||||||
|
|
||||||
def cleanup_cxe_prefix(self, prefix):
|
def cleanup_cxe_prefix(self, prefix):
|
||||||
return self.parent_realm.cleanup_cxe_prefix(prefix)
|
return self.parent_realm.cleanup_cxe_prefix(prefix)
|
||||||
@@ -841,6 +850,9 @@ class BaseProfile(LFCliBase):
|
|||||||
def rm_cx(self, target):
|
def rm_cx(self, target):
|
||||||
return self.parent_realm.rm_cx(target)
|
return self.parent_realm.rm_cx(target)
|
||||||
|
|
||||||
|
def rm_endp(self, ename):
|
||||||
|
self.parent_realm.rm_endp(ename)
|
||||||
|
|
||||||
def created_cx(self, target):
|
def created_cx(self, target):
|
||||||
return self.parent_realm.created_cx(target)
|
return self.parent_realm.created_cx(target)
|
||||||
|
|
||||||
@@ -856,6 +868,7 @@ class BaseProfile(LFCliBase):
|
|||||||
def wait_until_cxs_appear(self, target, debug=False):
|
def wait_until_cxs_appear(self, target, debug=False):
|
||||||
return self.parent_realm.wait_until_cxs_appear(target, debug=False)
|
return self.parent_realm.wait_until_cxs_appear(target, debug=False)
|
||||||
|
|
||||||
|
|
||||||
class MULTICASTProfile(LFCliBase):
|
class MULTICASTProfile(LFCliBase):
|
||||||
def __init__(self, lfclient_host, lfclient_port, local_realm,
|
def __init__(self, lfclient_host, lfclient_port, local_realm,
|
||||||
report_timer_=3000, name_prefix_="Unset", number_template_="00000", debug_=False):
|
report_timer_=3000, name_prefix_="Unset", number_template_="00000", debug_=False):
|
||||||
@@ -896,7 +909,8 @@ class MULTICASTProfile(LFCliBase):
|
|||||||
"endp_name": endp_name
|
"endp_name": endp_name
|
||||||
}
|
}
|
||||||
url = "cli-json/start_endp"
|
url = "cli-json/start_endp"
|
||||||
self.local_realm.json_post(url, json_data, debug_=debug_, suppress_related_commands_=suppress_related_commands)
|
self.local_realm.json_post(url, json_data, debug_=debug_,
|
||||||
|
suppress_related_commands_=suppress_related_commands)
|
||||||
|
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@@ -908,7 +922,8 @@ class MULTICASTProfile(LFCliBase):
|
|||||||
"endp_name": endp_name
|
"endp_name": endp_name
|
||||||
}
|
}
|
||||||
url = "cli-json/stop_endp"
|
url = "cli-json/stop_endp"
|
||||||
self.local_realm.json_post(url, json_data, debug_=debug_, suppress_related_commands_=suppress_related_commands)
|
self.local_realm.json_post(url, json_data, debug_=debug_,
|
||||||
|
suppress_related_commands_=suppress_related_commands)
|
||||||
|
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@@ -972,7 +987,6 @@ class MULTICASTProfile(LFCliBase):
|
|||||||
these_endp = [side_tx_name]
|
these_endp = [side_tx_name]
|
||||||
self.local_realm.wait_until_endps_appear(these_endp, debug=debug_)
|
self.local_realm.wait_until_endps_appear(these_endp, debug=debug_)
|
||||||
|
|
||||||
|
|
||||||
def create_mc_rx(self, endp_type, side_rx, suppress_related_commands=None, debug_=False):
|
def create_mc_rx(self, endp_type, side_rx, suppress_related_commands=None, debug_=False):
|
||||||
if self.debug:
|
if self.debug:
|
||||||
debug_ = True
|
debug_ = True
|
||||||
@@ -1007,7 +1021,8 @@ class MULTICASTProfile(LFCliBase):
|
|||||||
}
|
}
|
||||||
|
|
||||||
url = "cli-json/add_endp"
|
url = "cli-json/add_endp"
|
||||||
self.local_realm.json_post(url, json_data, debug_=debug_, suppress_related_commands_=suppress_related_commands)
|
self.local_realm.json_post(url, json_data, debug_=debug_,
|
||||||
|
suppress_related_commands_=suppress_related_commands)
|
||||||
|
|
||||||
json_data = {
|
json_data = {
|
||||||
'name': side_rx_name,
|
'name': side_rx_name,
|
||||||
@@ -1017,7 +1032,8 @@ class MULTICASTProfile(LFCliBase):
|
|||||||
'rcv_mcast': 'Yes'
|
'rcv_mcast': 'Yes'
|
||||||
}
|
}
|
||||||
url = "cli-json/set_mc_endp"
|
url = "cli-json/set_mc_endp"
|
||||||
self.local_realm.json_post(url, json_data, debug_=debug_, suppress_related_commands_=suppress_related_commands)
|
self.local_realm.json_post(url, json_data, debug_=debug_,
|
||||||
|
suppress_related_commands_=suppress_related_commands)
|
||||||
|
|
||||||
self.created_mc[side_rx_name] = side_rx_name
|
self.created_mc[side_rx_name] = side_rx_name
|
||||||
these_endp.append(side_rx_name)
|
these_endp.append(side_rx_name)
|
||||||
@@ -1028,14 +1044,23 @@ class MULTICASTProfile(LFCliBase):
|
|||||||
pprint.pprint(self)
|
pprint.pprint(self)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class L3CXProfile(BaseProfile):
|
class L3CXProfile(BaseProfile):
|
||||||
def __init__(self, lfclient_host, lfclient_port,local_realm,
|
def __init__(self,
|
||||||
side_a_min_bps=None, side_b_min_bps=None,
|
lfclient_host,
|
||||||
side_a_max_bps=0, side_b_max_bps=0,
|
lfclient_port,
|
||||||
side_a_min_pdu=-1, side_b_min_pdu=-1,
|
local_realm,
|
||||||
side_a_max_pdu=0, side_b_max_pdu=0,
|
side_a_min_bps=None,
|
||||||
report_timer_=3000, name_prefix_="Unset", number_template_="00000", debug_=False):
|
side_b_min_bps=None,
|
||||||
|
side_a_max_bps=0,
|
||||||
|
side_b_max_bps=0,
|
||||||
|
side_a_min_pdu=-1,
|
||||||
|
side_b_min_pdu=-1,
|
||||||
|
side_a_max_pdu=0,
|
||||||
|
side_b_max_pdu=0,
|
||||||
|
report_timer_=3000,
|
||||||
|
name_prefix_="Unset",
|
||||||
|
number_template_="00000",
|
||||||
|
debug_=False):
|
||||||
"""
|
"""
|
||||||
:param lfclient_host:
|
:param lfclient_host:
|
||||||
:param lfclient_port:
|
:param lfclient_port:
|
||||||
@@ -1054,7 +1079,6 @@ class L3CXProfile(BaseProfile):
|
|||||||
super().__init__(local_realm)
|
super().__init__(local_realm)
|
||||||
self.lfclient_url = "http://%s:%s" % (lfclient_host, lfclient_port)
|
self.lfclient_url = "http://%s:%s" % (lfclient_host, lfclient_port)
|
||||||
self.debug = debug_
|
self.debug = debug_
|
||||||
self.local_realm = local_realm
|
|
||||||
self.side_a_min_pdu = side_a_min_pdu
|
self.side_a_min_pdu = side_a_min_pdu
|
||||||
self.side_b_min_pdu = side_b_min_pdu
|
self.side_b_min_pdu = side_b_min_pdu
|
||||||
self.side_a_max_pdu = side_a_max_pdu
|
self.side_a_max_pdu = side_a_max_pdu
|
||||||
@@ -1191,7 +1215,8 @@ class L3CXProfile(BaseProfile):
|
|||||||
for x in range(0, len(endpoints[0])):
|
for x in range(0, len(endpoints[0])):
|
||||||
endpoints2.append(list(list(endpoints[y][x].values())[0].values()))
|
endpoints2.append(list(list(endpoints[y][x].values())[0].values()))
|
||||||
import itertools
|
import itertools
|
||||||
timestamps2=list(itertools.chain.from_iterable(itertools.repeat(x, len(created_cx.split(','))) for x in timestamps))
|
timestamps2 = list(
|
||||||
|
itertools.chain.from_iterable(itertools.repeat(x, len(created_cx.split(','))) for x in timestamps))
|
||||||
for point in range(0, len(endpoints2)):
|
for point in range(0, len(endpoints2)):
|
||||||
endpoints2[point].insert(0, timestamps2[point])
|
endpoints2[point].insert(0, timestamps2[point])
|
||||||
# step 4 save and close
|
# step 4 save and close
|
||||||
@@ -1215,7 +1240,10 @@ class L3CXProfile(BaseProfile):
|
|||||||
df.columns = header_row
|
df.columns = header_row
|
||||||
import requests
|
import requests
|
||||||
import ast
|
import ast
|
||||||
|
try:
|
||||||
systeminfo = ast.literal_eval(requests.get('http://localhost:8080').text)
|
systeminfo = ast.literal_eval(requests.get('http://localhost:8080').text)
|
||||||
|
except:
|
||||||
|
systeminfo = ast.literal_eval(requests.get('http://192.168.1.3:8080').text)
|
||||||
df['LFGUI Release'] = systeminfo['VersionInfo']['BuildVersion']
|
df['LFGUI Release'] = systeminfo['VersionInfo']['BuildVersion']
|
||||||
df['Script Name'] = script_name
|
df['Script Name'] = script_name
|
||||||
df['Arguments'] = arguments
|
df['Arguments'] = arguments
|
||||||
@@ -1251,7 +1279,7 @@ class L3CXProfile(BaseProfile):
|
|||||||
|
|
||||||
def refresh_cx(self):
|
def refresh_cx(self):
|
||||||
for cx_name in self.created_cx.keys():
|
for cx_name in self.created_cx.keys():
|
||||||
self.local_realm.json_post("/cli-json/show_cxe", {
|
self.json_post("/cli-json/show_cxe", {
|
||||||
"test_mgr": "ALL",
|
"test_mgr": "ALL",
|
||||||
"cross_connect": cx_name
|
"cross_connect": cx_name
|
||||||
}, debug_=self.debug)
|
}, debug_=self.debug)
|
||||||
@@ -1262,7 +1290,7 @@ class L3CXProfile(BaseProfile):
|
|||||||
for cx_name in self.created_cx.keys():
|
for cx_name in self.created_cx.keys():
|
||||||
if self.debug:
|
if self.debug:
|
||||||
print("cx-name: %s" % (cx_name))
|
print("cx-name: %s" % (cx_name))
|
||||||
self.local_realm.json_post("/cli-json/set_cx_state", {
|
self.json_post("/cli-json/set_cx_state", {
|
||||||
"test_mgr": "default_tm",
|
"test_mgr": "default_tm",
|
||||||
"cx_name": cx_name,
|
"cx_name": cx_name,
|
||||||
"cx_state": "RUNNING"
|
"cx_state": "RUNNING"
|
||||||
@@ -1273,12 +1301,12 @@ class L3CXProfile(BaseProfile):
|
|||||||
def stop_cx(self):
|
def stop_cx(self):
|
||||||
print("Stopping CXs...")
|
print("Stopping CXs...")
|
||||||
for cx_name in self.created_cx.keys():
|
for cx_name in self.created_cx.keys():
|
||||||
self.stop_cx(cx_name)
|
self.stopping_cx(cx_name)
|
||||||
print(".", end='')
|
print(".", end='')
|
||||||
print("")
|
print("")
|
||||||
|
|
||||||
def cleanup_prefix(self):
|
def cleanup_prefix(self):
|
||||||
self.local_realm.cleanup_cxe_prefix(self.name_prefix)
|
self.cleanup_cxe_prefix(self.name_prefix)
|
||||||
|
|
||||||
def cleanup(self):
|
def cleanup(self):
|
||||||
print("Cleaning up cxs and endpoints")
|
print("Cleaning up cxs and endpoints")
|
||||||
@@ -1294,7 +1322,8 @@ class L3CXProfile(BaseProfile):
|
|||||||
print("Cleaning endpoint: %s" % (ename))
|
print("Cleaning endpoint: %s" % (ename))
|
||||||
self.rm_endp(self.created_cx[cx_name][side])
|
self.rm_endp(self.created_cx[cx_name][side])
|
||||||
|
|
||||||
def create(self, endp_type, side_a, side_b, sleep_time=0.03, suppress_related_commands=None, debug_=False, tos=None):
|
def create(self, endp_type, side_a, side_b, sleep_time=0.03, suppress_related_commands=None, debug_=False,
|
||||||
|
tos=None):
|
||||||
if self.debug:
|
if self.debug:
|
||||||
debug_ = True
|
debug_ = True
|
||||||
|
|
||||||
@@ -1309,7 +1338,8 @@ class L3CXProfile(BaseProfile):
|
|||||||
or (self.side_a_max_bps is None) \
|
or (self.side_a_max_bps is None) \
|
||||||
or (self.side_b_min_bps is None) \
|
or (self.side_b_min_bps is None) \
|
||||||
or (self.side_b_max_bps is None):
|
or (self.side_b_max_bps is None):
|
||||||
raise ValueError("side_a_min_bps, side_a_max_bps, side_b_min_bps, and side_b_max_bps must all be set to a value")
|
raise ValueError(
|
||||||
|
"side_a_min_bps, side_a_max_bps, side_b_min_bps, and side_b_max_bps must all be set to a value")
|
||||||
|
|
||||||
if type(side_a) == list and type(side_b) != list:
|
if type(side_a) == list and type(side_b) != list:
|
||||||
side_b_info = self.name_to_eid(side_b)
|
side_b_info = self.name_to_eid(side_b)
|
||||||
@@ -1359,8 +1389,10 @@ class L3CXProfile(BaseProfile):
|
|||||||
}
|
}
|
||||||
|
|
||||||
url = "/cli-json/add_endp"
|
url = "/cli-json/add_endp"
|
||||||
self.local_realm.json_post(url, endp_side_a, debug_=debug_, suppress_related_commands_=suppress_related_commands)
|
self.json_post(url, endp_side_a, debug_=debug_,
|
||||||
self.local_realm.json_post(url, endp_side_b, debug_=debug_, suppress_related_commands_=suppress_related_commands)
|
suppress_related_commands_=suppress_related_commands)
|
||||||
|
self.json_post(url, endp_side_b, debug_=debug_,
|
||||||
|
suppress_related_commands_=suppress_related_commands)
|
||||||
# print("napping %f sec"%sleep_time)
|
# print("napping %f sec"%sleep_time)
|
||||||
time.sleep(sleep_time)
|
time.sleep(sleep_time)
|
||||||
|
|
||||||
@@ -1370,16 +1402,20 @@ class L3CXProfile(BaseProfile):
|
|||||||
"flag": "AutoHelper",
|
"flag": "AutoHelper",
|
||||||
"val": 1
|
"val": 1
|
||||||
}
|
}
|
||||||
self.local_realm.json_post(url, data, debug_=debug_, suppress_related_commands_=suppress_related_commands)
|
self.json_post(url, data, debug_=debug_,
|
||||||
|
suppress_related_commands_=suppress_related_commands)
|
||||||
data["name"] = endp_b_name
|
data["name"] = endp_b_name
|
||||||
self.local_realm.json_post(url, data, debug_=debug_, suppress_related_commands_=suppress_related_commands)
|
self.json_post(url, data, debug_=debug_,
|
||||||
|
suppress_related_commands_=suppress_related_commands)
|
||||||
|
|
||||||
if (endp_type == "lf_udp") or (endp_type == "udp") or (endp_type == "lf_udp6") or (endp_type == "udp6"):
|
if (endp_type == "lf_udp") or (endp_type == "udp") or (endp_type == "lf_udp6") or (endp_type == "udp6"):
|
||||||
data["name"] = endp_a_name
|
data["name"] = endp_a_name
|
||||||
data["flag"] = "UseAutoNAT"
|
data["flag"] = "UseAutoNAT"
|
||||||
self.local_realm.json_post(url, data, debug_=debug_, suppress_related_commands_=suppress_related_commands)
|
self.json_post(url, data, debug_=debug_,
|
||||||
|
suppress_related_commands_=suppress_related_commands)
|
||||||
data["name"] = endp_b_name
|
data["name"] = endp_b_name
|
||||||
self.local_realm.json_post(url, data, debug_=debug_, suppress_related_commands_=suppress_related_commands)
|
self.json_post(url, data, debug_=debug_,
|
||||||
|
suppress_related_commands_=suppress_related_commands)
|
||||||
|
|
||||||
if tos != None:
|
if tos != None:
|
||||||
self.set_endp_tos(endp_a_name, tos)
|
self.set_endp_tos(endp_a_name, tos)
|
||||||
@@ -1447,8 +1483,10 @@ class L3CXProfile(BaseProfile):
|
|||||||
}
|
}
|
||||||
|
|
||||||
url = "/cli-json/add_endp"
|
url = "/cli-json/add_endp"
|
||||||
self.local_realm.json_post(url, endp_side_a, debug_=debug_, suppress_related_commands_=suppress_related_commands)
|
self.json_post(url, endp_side_a, debug_=debug_,
|
||||||
self.local_realm.json_post(url, endp_side_b, debug_=debug_, suppress_related_commands_=suppress_related_commands)
|
suppress_related_commands_=suppress_related_commands)
|
||||||
|
self.json_post(url, endp_side_b, debug_=debug_,
|
||||||
|
suppress_related_commands_=suppress_related_commands)
|
||||||
# print("napping %f sec" %sleep_time )
|
# print("napping %f sec" %sleep_time )
|
||||||
time.sleep(sleep_time)
|
time.sleep(sleep_time)
|
||||||
|
|
||||||
@@ -1481,13 +1519,15 @@ class L3CXProfile(BaseProfile):
|
|||||||
"milliseconds": self.report_timer
|
"milliseconds": self.report_timer
|
||||||
})
|
})
|
||||||
else:
|
else:
|
||||||
raise ValueError("side_a or side_b must be of type list but not both: side_a is type %s side_b is type %s" % (type(side_a), type(side_b)))
|
raise ValueError(
|
||||||
|
"side_a or side_b must be of type list but not both: side_a is type %s side_b is type %s" % (
|
||||||
|
type(side_a), type(side_b)))
|
||||||
|
|
||||||
self.wait_until_endps_appear(these_endp, debug=debug_)
|
self.wait_until_endps_appear(these_endp, debug=debug_)
|
||||||
|
|
||||||
for data in cx_post_data:
|
for data in cx_post_data:
|
||||||
url = "/cli-json/add_cx"
|
url = "/cli-json/add_cx"
|
||||||
self.local_realm.json_post(url, data, debug_=debug_, suppress_related_commands_=suppress_related_commands)
|
self.json_post(url, data, debug_=debug_, suppress_related_commands_=suppress_related_commands)
|
||||||
time.sleep(0.01)
|
time.sleep(0.01)
|
||||||
|
|
||||||
self.wait_until_cxs_appear(these_cx, debug=debug_)
|
self.wait_until_cxs_appear(these_cx, debug=debug_)
|
||||||
@@ -1591,7 +1631,8 @@ class L4CXProfile(LFCliBase):
|
|||||||
"proxy_auth_type": 0x200
|
"proxy_auth_type": 0x200
|
||||||
}
|
}
|
||||||
url = "cli-json/add_l4_endp"
|
url = "cli-json/add_l4_endp"
|
||||||
self.local_realm.json_post(url, endp_data, debug_=debug_, suppress_related_commands_=suppress_related_commands_)
|
self.local_realm.json_post(url, endp_data, debug_=debug_,
|
||||||
|
suppress_related_commands_=suppress_related_commands_)
|
||||||
time.sleep(sleep_time)
|
time.sleep(sleep_time)
|
||||||
|
|
||||||
endp_data = {
|
endp_data = {
|
||||||
@@ -1605,7 +1646,8 @@ class L4CXProfile(LFCliBase):
|
|||||||
|
|
||||||
for cx_data in cx_post_data:
|
for cx_data in cx_post_data:
|
||||||
url = "/cli-json/add_cx"
|
url = "/cli-json/add_cx"
|
||||||
self.local_realm.json_post(url, cx_data, debug_=debug_, suppress_related_commands_=suppress_related_commands_)
|
self.local_realm.json_post(url, cx_data, debug_=debug_,
|
||||||
|
suppress_related_commands_=suppress_related_commands_)
|
||||||
time.sleep(sleep_time)
|
time.sleep(sleep_time)
|
||||||
|
|
||||||
|
|
||||||
@@ -1769,6 +1811,7 @@ class GenCXProfile(LFCliBase):
|
|||||||
})
|
})
|
||||||
time.sleep(sleep_time)
|
time.sleep(sleep_time)
|
||||||
|
|
||||||
|
|
||||||
class WifiMonitor:
|
class WifiMonitor:
|
||||||
def __init__(self, lfclient_url, local_realm, up=True, debug_=False, resource_=1):
|
def __init__(self, lfclient_url, local_realm, up=True, debug_=False, resource_=1):
|
||||||
self.debug = debug_
|
self.debug = debug_
|
||||||
@@ -1793,7 +1836,8 @@ class WifiMonitor:
|
|||||||
# we want to query the existing country code of the radio
|
# we want to query the existing country code of the radio
|
||||||
# there's no reason to change it but we get hollering from server
|
# there's no reason to change it but we get hollering from server
|
||||||
# if we don't provide a value for the parameter
|
# if we don't provide a value for the parameter
|
||||||
jr = self.local_realm.json_get("/radiostatus/1/%s/%s?fields=channel,frequency,country"%(resource_, radio_), debug_=self.debug)
|
jr = self.local_realm.json_get("/radiostatus/1/%s/%s?fields=channel,frequency,country" % (resource_, radio_),
|
||||||
|
debug_=self.debug)
|
||||||
if jr is None:
|
if jr is None:
|
||||||
raise ValueError("No radio %s.%s found" % (resource_, radio_))
|
raise ValueError("No radio %s.%s found" % (resource_, radio_))
|
||||||
|
|
||||||
@@ -1861,8 +1905,6 @@ class WifiMonitor:
|
|||||||
baseurl=self.lfclient_url,
|
baseurl=self.lfclient_url,
|
||||||
debug=self.debug)
|
debug=self.debug)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def admin_up(self):
|
def admin_up(self):
|
||||||
up_request = LFUtils.port_up_request(resource_id=self.resource, port_name=self.monitor_name)
|
up_request = LFUtils.port_up_request(resource_id=self.resource, port_name=self.monitor_name)
|
||||||
self.local_realm.json_post("/cli-json/set_port", up_request)
|
self.local_realm.json_post("/cli-json/set_port", up_request)
|
||||||
@@ -1885,9 +1927,9 @@ class WifiMonitor:
|
|||||||
}
|
}
|
||||||
self.local_realm.json_post("/cli-json/sniff_port", _data=data)
|
self.local_realm.json_post("/cli-json/sniff_port", _data=data)
|
||||||
|
|
||||||
|
|
||||||
# "sniff_port 1 %s %s NA %s %s.pcap %i"%(r, m, sflags, m, int(dur))
|
# "sniff_port 1 %s %s NA %s %s.pcap %i"%(r, m, sflags, m, int(dur))
|
||||||
|
|
||||||
|
|
||||||
class VAPProfile(LFCliBase):
|
class VAPProfile(LFCliBase):
|
||||||
def __init__(self, lfclient_host, lfclient_port, local_realm,
|
def __init__(self, lfclient_host, lfclient_port, local_realm,
|
||||||
vap_name="",
|
vap_name="",
|
||||||
@@ -2026,7 +2068,9 @@ class VAPProfile(LFCliBase):
|
|||||||
self.desired_add_vap_flags_mask.append(param_name)
|
self.desired_add_vap_flags_mask.append(param_name)
|
||||||
|
|
||||||
elif command_name == "set_port":
|
elif command_name == "set_port":
|
||||||
if (param_name not in set_port.set_port_current_flags) and (param_name not in set_port.set_port_cmd_flags) and (param_name not in set_port.set_port_interest_flags):
|
if (param_name not in set_port.set_port_current_flags) and (
|
||||||
|
param_name not in set_port.set_port_cmd_flags) and (
|
||||||
|
param_name not in set_port.set_port_interest_flags):
|
||||||
print("Parameter name [%s] not defined in set_port.py" % param_name)
|
print("Parameter name [%s] not defined in set_port.py" % param_name)
|
||||||
if self.debug:
|
if self.debug:
|
||||||
pprint(set_port.set_port_cmd_flags)
|
pprint(set_port.set_port_cmd_flags)
|
||||||
@@ -2087,7 +2131,8 @@ class VAPProfile(LFCliBase):
|
|||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
||||||
def create(self, resource, radio, channel=None, up_=None, debug=False, use_ht40=True, use_ht80=True, use_ht160=False,
|
def create(self, resource, radio, channel=None, up_=None, debug=False, use_ht40=True, use_ht80=True,
|
||||||
|
use_ht160=False,
|
||||||
suppress_related_commands_=True, use_radius=False, hs20_enable=False):
|
suppress_related_commands_=True, use_radius=False, hs20_enable=False):
|
||||||
port_list = self.local_realm.json_get("port/1/1/list")
|
port_list = self.local_realm.json_get("port/1/1/list")
|
||||||
if port_list is not None:
|
if port_list is not None:
|
||||||
@@ -2118,7 +2163,8 @@ class VAPProfile(LFCliBase):
|
|||||||
|
|
||||||
# print("MODE ========= ", self.mode)
|
# print("MODE ========= ", self.mode)
|
||||||
|
|
||||||
jr = self.local_realm.json_get("/radiostatus/1/%s/%s?fields=channel,frequency,country" % (resource, radio), debug_=self.debug)
|
jr = self.local_realm.json_get("/radiostatus/1/%s/%s?fields=channel,frequency,country" % (resource, radio),
|
||||||
|
debug_=self.debug)
|
||||||
if jr is None:
|
if jr is None:
|
||||||
raise ValueError("No radio %s.%s found" % (resource, radio))
|
raise ValueError("No radio %s.%s found" % (resource, radio))
|
||||||
|
|
||||||
@@ -2193,7 +2239,6 @@ class VAPProfile(LFCliBase):
|
|||||||
wifi_extra_r.addPostData(self.wifi_extra_data)
|
wifi_extra_r.addPostData(self.wifi_extra_data)
|
||||||
json_response = wifi_extra_r.jsonPost(debug)
|
json_response = wifi_extra_r.jsonPost(debug)
|
||||||
|
|
||||||
|
|
||||||
port_list = self.local_realm.json_get("port/1/1/list")
|
port_list = self.local_realm.json_get("port/1/1/list")
|
||||||
if port_list is not None:
|
if port_list is not None:
|
||||||
port_list = port_list['interfaces']
|
port_list = port_list['interfaces']
|
||||||
@@ -2221,8 +2266,6 @@ class VAPProfile(LFCliBase):
|
|||||||
}
|
}
|
||||||
self.local_realm.json_post("cli-json/set_port", bridge_set_port)
|
self.local_realm.json_post("cli-json/set_port", bridge_set_port)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (self.up):
|
if (self.up):
|
||||||
self.admin_up(1)
|
self.admin_up(1)
|
||||||
|
|
||||||
@@ -2239,6 +2282,7 @@ class VAPProfile(LFCliBase):
|
|||||||
# And now see if they are gone
|
# And now see if they are gone
|
||||||
LFUtils.wait_until_ports_disappear(base_url=self.lfclient_url, port_list=desired_ports)
|
LFUtils.wait_until_ports_disappear(base_url=self.lfclient_url, port_list=desired_ports)
|
||||||
|
|
||||||
|
|
||||||
class VRProfile(LFCliBase):
|
class VRProfile(LFCliBase):
|
||||||
def __init__(self, lfclient_host, lfclient_port, local_realm, ssid="NA", ssid_pass="NA", mode=0, debug_=False):
|
def __init__(self, lfclient_host, lfclient_port, local_realm, ssid="NA", ssid_pass="NA", mode=0, debug_=False):
|
||||||
super().__init__(_lfjson_host=lfclient_host, _lfjson_port=lfclient_port, _debug=debug_)
|
super().__init__(_lfjson_host=lfclient_host, _lfjson_port=lfclient_port, _debug=debug_)
|
||||||
@@ -2297,7 +2341,8 @@ class VRProfile(LFCliBase):
|
|||||||
"peer_ifname": "rdd1"
|
"peer_ifname": "rdd1"
|
||||||
}
|
}
|
||||||
# print("creating rdd0")
|
# print("creating rdd0")
|
||||||
self.local_realm.json_post("add_rdd", rdd_data, suppress_related_commands_=suppress_related_commands_, debug_=debug_)
|
self.local_realm.json_post("add_rdd", rdd_data, suppress_related_commands_=suppress_related_commands_,
|
||||||
|
debug_=debug_)
|
||||||
|
|
||||||
rdd_data = {
|
rdd_data = {
|
||||||
"shelf": 1,
|
"shelf": 1,
|
||||||
@@ -2306,24 +2351,28 @@ class VRProfile(LFCliBase):
|
|||||||
"peer_ifname": "rdd0"
|
"peer_ifname": "rdd0"
|
||||||
}
|
}
|
||||||
# print("creating rdd1")
|
# print("creating rdd1")
|
||||||
self.local_realm.json_post("add_rdd", rdd_data, suppress_related_commands_=suppress_related_commands_, debug_=debug_)
|
self.local_realm.json_post("add_rdd", rdd_data, suppress_related_commands_=suppress_related_commands_,
|
||||||
|
debug_=debug_)
|
||||||
|
|
||||||
self.set_port_data["port"] = "rdd0"
|
self.set_port_data["port"] = "rdd0"
|
||||||
self.set_port_data["ip_addr"] = gateway
|
self.set_port_data["ip_addr"] = gateway
|
||||||
self.set_port_data["netmask"] = netmask
|
self.set_port_data["netmask"] = netmask
|
||||||
self.set_port_data["gateway"] = gateway
|
self.set_port_data["gateway"] = gateway
|
||||||
self.local_realm.json_post("set_port", self.set_port_data, suppress_related_commands_=suppress_related_commands_, debug_=debug_)
|
self.local_realm.json_post("set_port", self.set_port_data,
|
||||||
|
suppress_related_commands_=suppress_related_commands_, debug_=debug_)
|
||||||
|
|
||||||
self.set_port_data["port"] = "rdd1"
|
self.set_port_data["port"] = "rdd1"
|
||||||
self.set_port_data["ip_addr"] = ip_addr
|
self.set_port_data["ip_addr"] = ip_addr
|
||||||
self.set_port_data["netmask"] = netmask
|
self.set_port_data["netmask"] = netmask
|
||||||
self.set_port_data["gateway"] = gateway
|
self.set_port_data["gateway"] = gateway
|
||||||
self.local_realm.json_post("set_port", self.set_port_data, suppress_related_commands_=suppress_related_commands_, debug_=debug_)
|
self.local_realm.json_post("set_port", self.set_port_data,
|
||||||
|
suppress_related_commands_=suppress_related_commands_, debug_=debug_)
|
||||||
|
|
||||||
self.created_rdds.append("rdd0")
|
self.created_rdds.append("rdd0")
|
||||||
self.created_rdds.append("rdd1")
|
self.created_rdds.append("rdd1")
|
||||||
|
|
||||||
def create_vrcx(self, resource, local_dev, remote_dev, subnets, nexthop, flags, suppress_related_commands_=True, debug_=False):
|
def create_vrcx(self, resource, local_dev, remote_dev, subnets, nexthop, flags, suppress_related_commands_=True,
|
||||||
|
debug_=False):
|
||||||
if self.vr_name is not None:
|
if self.vr_name is not None:
|
||||||
self.vrcx_data["resource"] = resource
|
self.vrcx_data["resource"] = resource
|
||||||
self.vrcx_data["vr_name"] = self.vr_name
|
self.vrcx_data["vr_name"] = self.vr_name
|
||||||
@@ -2332,11 +2381,11 @@ class VRProfile(LFCliBase):
|
|||||||
self.vrcx_data["subnets"] = subnets
|
self.vrcx_data["subnets"] = subnets
|
||||||
self.vrcx_data["nexthop"] = nexthop
|
self.vrcx_data["nexthop"] = nexthop
|
||||||
self.vrcx_data["flags"] = flags
|
self.vrcx_data["flags"] = flags
|
||||||
self.local_realm.json_post("add_vrcx", self.vrcx_data, suppress_related_commands_=suppress_related_commands_, debug_=debug_)
|
self.local_realm.json_post("add_vrcx", self.vrcx_data,
|
||||||
|
suppress_related_commands_=suppress_related_commands_, debug_=debug_)
|
||||||
else:
|
else:
|
||||||
raise ValueError("vr_name must be set. Current name: %s" % self.vr_name)
|
raise ValueError("vr_name must be set. Current name: %s" % self.vr_name)
|
||||||
|
|
||||||
|
|
||||||
def create(self, resource, upstream_port="eth1", debug=False,
|
def create(self, resource, upstream_port="eth1", debug=False,
|
||||||
upstream_subnets="20.20.20.0/24", upstream_nexthop="20.20.20.1",
|
upstream_subnets="20.20.20.0/24", upstream_nexthop="20.20.20.1",
|
||||||
local_subnets="10.40.0.0/24", local_nexthop="10.40.3.198",
|
local_subnets="10.40.0.0/24", local_nexthop="10.40.3.198",
|
||||||
@@ -2350,18 +2399,22 @@ class VRProfile(LFCliBase):
|
|||||||
else:
|
else:
|
||||||
raise ValueError("vr_name must be set. Current name: %s" % self.vr_name)
|
raise ValueError("vr_name must be set. Current name: %s" % self.vr_name)
|
||||||
# Create 1 rdd pair
|
# Create 1 rdd pair
|
||||||
self.create_rdd(resource=resource, ip_addr=rdd_ip, gateway=rdd_gateway, netmask=rdd_netmask) # rdd0, rdd1; rdd0 gateway, rdd1 connected to network
|
self.create_rdd(resource=resource, ip_addr=rdd_ip, gateway=rdd_gateway,
|
||||||
|
netmask=rdd_netmask) # rdd0, rdd1; rdd0 gateway, rdd1 connected to network
|
||||||
|
|
||||||
# connect rdds and upstream
|
# connect rdds and upstream
|
||||||
self.create_vrcx(resource=resource, local_dev=upstream_port, remote_dev="NA", subnets=upstream_subnets, nexthop=upstream_nexthop,
|
self.create_vrcx(resource=resource, local_dev=upstream_port, remote_dev="NA", subnets=upstream_subnets,
|
||||||
|
nexthop=upstream_nexthop,
|
||||||
flags=257, suppress_related_commands_=suppress_related_commands_, debug_=debug)
|
flags=257, suppress_related_commands_=suppress_related_commands_, debug_=debug)
|
||||||
self.create_vrcx(resource=resource, local_dev="rdd0", remote_dev="rdd1", subnets=local_subnets, nexthop=local_nexthop,
|
self.create_vrcx(resource=resource, local_dev="rdd0", remote_dev="rdd1", subnets=local_subnets,
|
||||||
|
nexthop=local_nexthop,
|
||||||
flags=1, suppress_related_commands_=suppress_related_commands_, debug_=debug)
|
flags=1, suppress_related_commands_=suppress_related_commands_, debug_=debug)
|
||||||
|
|
||||||
def cleanup(self, resource, delay=0.03):
|
def cleanup(self, resource, delay=0.03):
|
||||||
# TODO: Cleanup for VRProfile
|
# TODO: Cleanup for VRProfile
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
class DUTProfile(LFCliBase):
|
class DUTProfile(LFCliBase):
|
||||||
def __init__(self, lfclient_host, lfclient_port, local_realm, debug_=False):
|
def __init__(self, lfclient_host, lfclient_port, local_realm, debug_=False):
|
||||||
super().__init__(lfclient_host, lfclient_port, debug_, _halt_on_error=True, _local_realm=local_realm)
|
super().__init__(lfclient_host, lfclient_port, debug_, _halt_on_error=True, _local_realm=local_realm)
|
||||||
@@ -2472,6 +2525,7 @@ class DUTProfile(LFCliBase):
|
|||||||
"text-64": notebytes.decode('ascii')
|
"text-64": notebytes.decode('ascii')
|
||||||
}, self.debug)
|
}, self.debug)
|
||||||
|
|
||||||
|
|
||||||
class TestGroupProfile(LFCliBase):
|
class TestGroupProfile(LFCliBase):
|
||||||
def __init__(self, lfclient_host, lfclient_port, local_realm, test_group_name=None, debug_=False):
|
def __init__(self, lfclient_host, lfclient_port, local_realm, test_group_name=None, debug_=False):
|
||||||
super().__init__(lfclient_host, lfclient_port, debug_, _halt_on_error=True)
|
super().__init__(lfclient_host, lfclient_port, debug_, _halt_on_error=True)
|
||||||
@@ -2554,6 +2608,7 @@ class FIOEndpProfile(LFCliBase):
|
|||||||
Very often you will create the FileIO writer profile first so that it creates the data
|
Very often you will create the FileIO writer profile first so that it creates the data
|
||||||
that a reader profile will subsequently use.
|
that a reader profile will subsequently use.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, lfclient_host, lfclient_port, local_realm, io_direction="write", debug_=False):
|
def __init__(self, lfclient_host, lfclient_port, local_realm, io_direction="write", debug_=False):
|
||||||
super().__init__(lfclient_host, lfclient_port, debug_, _halt_on_error=True)
|
super().__init__(lfclient_host, lfclient_port, debug_, _halt_on_error=True)
|
||||||
self.local_realm = local_realm
|
self.local_realm = local_realm
|
||||||
@@ -2665,7 +2720,8 @@ class FIOEndpProfile(LFCliBase):
|
|||||||
else:
|
else:
|
||||||
raise ValueError("Unexpected name for port_name %s" % port_name)
|
raise ValueError("Unexpected name for port_name %s" % port_name)
|
||||||
if self.directory is None or self.server_mount is None or self.fs_type is None:
|
if self.directory is None or self.server_mount is None or self.fs_type is None:
|
||||||
raise ValueError("directory [%s], server_mount [%s], and type [%s] must not be None" % (self.directory, self.server_mount, self.fs_type))
|
raise ValueError("directory [%s], server_mount [%s], and type [%s] must not be None" % (
|
||||||
|
self.directory, self.server_mount, self.fs_type))
|
||||||
endp_data = {
|
endp_data = {
|
||||||
"alias": self.cx_prefix + name + "_" + str(num_connection) + "_fio",
|
"alias": self.cx_prefix + name + "_" + str(num_connection) + "_fio",
|
||||||
"shelf": shelf,
|
"shelf": shelf,
|
||||||
@@ -2689,7 +2745,8 @@ class FIOEndpProfile(LFCliBase):
|
|||||||
endp_data["directory"] = "/mnt/lf/wo_" + name + "_" + str(num_connection) + "_fio"
|
endp_data["directory"] = "/mnt/lf/wo_" + name + "_" + str(num_connection) + "_fio"
|
||||||
|
|
||||||
url = "cli-json/add_file_endp"
|
url = "cli-json/add_file_endp"
|
||||||
self.local_realm.json_post(url, endp_data, debug_=False, suppress_related_commands_=suppress_related_commands_)
|
self.local_realm.json_post(url, endp_data, debug_=False,
|
||||||
|
suppress_related_commands_=suppress_related_commands_)
|
||||||
time.sleep(sleep_time)
|
time.sleep(sleep_time)
|
||||||
|
|
||||||
data = {
|
data = {
|
||||||
@@ -2715,11 +2772,13 @@ class FIOEndpProfile(LFCliBase):
|
|||||||
"rx_endp": "NA"
|
"rx_endp": "NA"
|
||||||
}
|
}
|
||||||
cx_post_data.append(endp_data)
|
cx_post_data.append(endp_data)
|
||||||
self.created_cx[self.cx_prefix + name + "_" + str(num_connection) + "_fio" ] = "CX_" + self.cx_prefix + name + "_" + str(num_connection) + "_fio"
|
self.created_cx[self.cx_prefix + name + "_" + str(
|
||||||
|
num_connection) + "_fio"] = "CX_" + self.cx_prefix + name + "_" + str(num_connection) + "_fio"
|
||||||
|
|
||||||
for cx_data in cx_post_data:
|
for cx_data in cx_post_data:
|
||||||
url = "/cli-json/add_cx"
|
url = "/cli-json/add_cx"
|
||||||
self.local_realm.json_post(url, cx_data, debug_=debug_, suppress_related_commands_=suppress_related_commands_)
|
self.local_realm.json_post(url, cx_data, debug_=debug_,
|
||||||
|
suppress_related_commands_=suppress_related_commands_)
|
||||||
time.sleep(sleep_time)
|
time.sleep(sleep_time)
|
||||||
|
|
||||||
|
|
||||||
@@ -2835,7 +2894,8 @@ class MACVLANProfile(LFCliBase):
|
|||||||
self.desired_set_port_interest_flags.append("ip_address")
|
self.desired_set_port_interest_flags.append("ip_address")
|
||||||
self.desired_set_port_interest_flags.append("ip_Mask")
|
self.desired_set_port_interest_flags.append("ip_Mask")
|
||||||
self.desired_set_port_interest_flags.append("ip_gateway")
|
self.desired_set_port_interest_flags.append("ip_gateway")
|
||||||
self.ip_list = LFUtils.gen_ip_series(ip_addr=self.first_ip_addr, netmask=self.netmask, num_ips=self.num_macvlans)
|
self.ip_list = LFUtils.gen_ip_series(ip_addr=self.first_ip_addr, netmask=self.netmask,
|
||||||
|
num_ips=self.num_macvlans)
|
||||||
|
|
||||||
self.set_port_data["current_flags"] = self.add_named_flags(self.desired_set_port_current_flags,
|
self.set_port_data["current_flags"] = self.add_named_flags(self.desired_set_port_current_flags,
|
||||||
set_port.set_port_current_flags)
|
set_port.set_port_current_flags)
|
||||||
@@ -2862,7 +2922,8 @@ class MACVLANProfile(LFCliBase):
|
|||||||
else:
|
else:
|
||||||
data["flags"] = 0
|
data["flags"] = 0
|
||||||
self.created_macvlans.append("%s.%s.%s#%d" % (self.shelf, self.resource,
|
self.created_macvlans.append("%s.%s.%s#%d" % (self.shelf, self.resource,
|
||||||
self.macvlan_parent, int(self.desired_macvlans[i][self.desired_macvlans[i].index('#')+1:])))
|
self.macvlan_parent, int(
|
||||||
|
self.desired_macvlans[i][self.desired_macvlans[i].index('#') + 1:])))
|
||||||
self.local_realm.json_post(req_url, data)
|
self.local_realm.json_post(req_url, data)
|
||||||
time.sleep(sleep_time)
|
time.sleep(sleep_time)
|
||||||
|
|
||||||
@@ -2893,7 +2954,6 @@ class MACVLANProfile(LFCliBase):
|
|||||||
# And now see if they are gone
|
# And now see if they are gone
|
||||||
LFUtils.wait_until_ports_disappear(base_url=self.lfclient_url, port_list=self.created_macvlans)
|
LFUtils.wait_until_ports_disappear(base_url=self.lfclient_url, port_list=self.created_macvlans)
|
||||||
|
|
||||||
|
|
||||||
def admin_up(self):
|
def admin_up(self):
|
||||||
for macvlan in self.created_macvlans:
|
for macvlan in self.created_macvlans:
|
||||||
self.local_realm.admin_up(macvlan)
|
self.local_realm.admin_up(macvlan)
|
||||||
@@ -2902,6 +2962,7 @@ class MACVLANProfile(LFCliBase):
|
|||||||
for macvlan in self.created_macvlans:
|
for macvlan in self.created_macvlans:
|
||||||
self.local_realm.admin_down(macvlan)
|
self.local_realm.admin_down(macvlan)
|
||||||
|
|
||||||
|
|
||||||
class PacketFilter():
|
class PacketFilter():
|
||||||
|
|
||||||
def get_filter_wlan_assoc_packets(self, ap_mac, sta_mac):
|
def get_filter_wlan_assoc_packets(self, ap_mac, sta_mac):
|
||||||
@@ -2926,6 +2987,7 @@ class PacketFilter():
|
|||||||
|
|
||||||
return lines
|
return lines
|
||||||
|
|
||||||
|
|
||||||
class PortUtils():
|
class PortUtils():
|
||||||
def __init__(self, local_realm):
|
def __init__(self, local_realm):
|
||||||
self.local_realm = local_realm
|
self.local_realm = local_realm
|
||||||
@@ -2970,6 +3032,7 @@ class PortUtils():
|
|||||||
else:
|
else:
|
||||||
raise ValueError("Port name required")
|
raise ValueError("Port name required")
|
||||||
|
|
||||||
|
|
||||||
class HTTPProfile(LFCliBase):
|
class HTTPProfile(LFCliBase):
|
||||||
def __init__(self, lfclient_host, lfclient_port, local_realm, debug_=False):
|
def __init__(self, lfclient_host, lfclient_port, local_realm, debug_=False):
|
||||||
super().__init__(lfclient_host, lfclient_port, debug_, _halt_on_error=True)
|
super().__init__(lfclient_host, lfclient_port, debug_, _halt_on_error=True)
|
||||||
@@ -3105,7 +3168,8 @@ class HTTPProfile(LFCliBase):
|
|||||||
"proxy_auth_type": 0x200
|
"proxy_auth_type": 0x200
|
||||||
}
|
}
|
||||||
url = "cli-json/add_l4_endp"
|
url = "cli-json/add_l4_endp"
|
||||||
self.local_realm.json_post(url, endp_data, debug_=debug_, suppress_related_commands_=suppress_related_commands_)
|
self.local_realm.json_post(url, endp_data, debug_=debug_,
|
||||||
|
suppress_related_commands_=suppress_related_commands_)
|
||||||
time.sleep(sleep_time)
|
time.sleep(sleep_time)
|
||||||
|
|
||||||
endp_data = {
|
endp_data = {
|
||||||
@@ -3119,7 +3183,8 @@ class HTTPProfile(LFCliBase):
|
|||||||
|
|
||||||
for cx_data in cx_post_data:
|
for cx_data in cx_post_data:
|
||||||
url = "/cli-json/add_cx"
|
url = "/cli-json/add_cx"
|
||||||
self.local_realm.json_post(url, cx_data, debug_=debug_, suppress_related_commands_=suppress_related_commands_)
|
self.local_realm.json_post(url, cx_data, debug_=debug_,
|
||||||
|
suppress_related_commands_=suppress_related_commands_)
|
||||||
time.sleep(sleep_time)
|
time.sleep(sleep_time)
|
||||||
|
|
||||||
|
|
||||||
@@ -3344,7 +3409,9 @@ class StationProfile:
|
|||||||
self.desired_add_sta_flags_mask.append(param_name)
|
self.desired_add_sta_flags_mask.append(param_name)
|
||||||
|
|
||||||
elif command_name == "set_port":
|
elif command_name == "set_port":
|
||||||
if (param_name not in set_port.set_port_current_flags) and (param_name not in set_port.set_port_cmd_flags) and (param_name not in set_port.set_port_interest_flags):
|
if (param_name not in set_port.set_port_current_flags) and (
|
||||||
|
param_name not in set_port.set_port_cmd_flags) and (
|
||||||
|
param_name not in set_port.set_port_interest_flags):
|
||||||
print("Parameter name [%s] not defined in set_port.py" % param_name)
|
print("Parameter name [%s] not defined in set_port.py" % param_name)
|
||||||
if self.debug:
|
if self.debug:
|
||||||
pprint(set_port.set_port_cmd_flags)
|
pprint(set_port.set_port_cmd_flags)
|
||||||
@@ -3368,6 +3435,7 @@ class StationProfile:
|
|||||||
self.desired_set_port_interest_flags.remove(param_name)
|
self.desired_set_port_interest_flags.remove(param_name)
|
||||||
else:
|
else:
|
||||||
raise ValueError("Unknown param name: " + param_name)
|
raise ValueError("Unknown param name: " + param_name)
|
||||||
|
|
||||||
# use this for hinting station name; stations begin with 'sta', the
|
# use this for hinting station name; stations begin with 'sta', the
|
||||||
# stations created with a prefix '0100' indicate value 10100 + n with
|
# stations created with a prefix '0100' indicate value 10100 + n with
|
||||||
# resulting substring(1,) applied; station 900 becomes 'sta1000'
|
# resulting substring(1,) applied; station 900 becomes 'sta1000'
|
||||||
@@ -3423,7 +3491,6 @@ class StationProfile:
|
|||||||
# And now see if they are gone
|
# And now see if they are gone
|
||||||
LFUtils.wait_until_ports_disappear(base_url=self.lfclient_url, port_list=desired_stations)
|
LFUtils.wait_until_ports_disappear(base_url=self.lfclient_url, port_list=desired_stations)
|
||||||
|
|
||||||
|
|
||||||
# Checks for errors in initialization values and creates specified number of stations using init parameters
|
# Checks for errors in initialization values and creates specified number of stations using init parameters
|
||||||
def create(self, radio,
|
def create(self, radio,
|
||||||
num_stations=0,
|
num_stations=0,
|
||||||
|
|||||||
@@ -259,6 +259,7 @@ python3 ./test_ipv4_variable_time.py
|
|||||||
output_format=output,
|
output_format=output,
|
||||||
script_name='test_ipv4_variable_time',
|
script_name='test_ipv4_variable_time',
|
||||||
arguments=args)
|
arguments=args)
|
||||||
|
print(ip_var_test.cx_profile.create())
|
||||||
ip_var_test.stop()
|
ip_var_test.stop()
|
||||||
if not ip_var_test.passes():
|
if not ip_var_test.passes():
|
||||||
print(ip_var_test.get_fail_message())
|
print(ip_var_test.get_fail_message())
|
||||||
|
|||||||
Reference in New Issue
Block a user