mirror of
https://github.com/Telecominfraproject/wlan-lanforge-scripts.git
synced 2025-11-01 19:28:00 +00:00
updates to reset ports
This commit is contained in:
@@ -2082,7 +2082,7 @@ class StationProfile:
|
|||||||
self.wifi_extra_data["hessid"] = hessid
|
self.wifi_extra_data["hessid"] = hessid
|
||||||
|
|
||||||
def set_reset_extra(self, reset_port_enable=False, test_duration=0, reset_port_min_time=0, reset_port_max_time=0,\
|
def set_reset_extra(self, reset_port_enable=False, test_duration=0, reset_port_min_time=0, reset_port_max_time=0,\
|
||||||
reset_port_timer_starte=False, port_to_reset=0, time_till_reset=0):
|
reset_port_timer_start=False, port_to_reset=0, time_till_reset=0):
|
||||||
self.reset_port_extra_data["reset_port_enable"] = reset_port_enable
|
self.reset_port_extra_data["reset_port_enable"] = reset_port_enable
|
||||||
self.reset_port_extra_data["test_duration"] = test_duration
|
self.reset_port_extra_data["test_duration"] = test_duration
|
||||||
self.reset_port_extra_data["reset_port_time_min"] = reset_port_min_time
|
self.reset_port_extra_data["reset_port_time_min"] = reset_port_min_time
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ class L3VariableTimeLongevity(LFCliBase):
|
|||||||
side_a_min_rate=56000, side_a_max_rate=0,
|
side_a_min_rate=56000, side_a_max_rate=0,
|
||||||
side_b_min_rate=56000, side_b_max_rate=0,
|
side_b_min_rate=56000, side_b_max_rate=0,
|
||||||
number_template="00", test_duration="256s",
|
number_template="00", test_duration="256s",
|
||||||
|
polling_interval="60s",
|
||||||
_exit_on_error=False,
|
_exit_on_error=False,
|
||||||
_exit_on_fail=False):
|
_exit_on_fail=False):
|
||||||
super().__init__(host, port, _debug=debug_on, _halt_on_error=_exit_on_error, _exit_on_fail=_exit_on_fail)
|
super().__init__(host, port, _debug=debug_on, _halt_on_error=_exit_on_error, _exit_on_fail=_exit_on_fail)
|
||||||
@@ -51,6 +52,7 @@ class L3VariableTimeLongevity(LFCliBase):
|
|||||||
self.radio_name_list = radio_name_list
|
self.radio_name_list = radio_name_list
|
||||||
self.number_of_stations_per_radio_list = number_of_stations_per_radio_list
|
self.number_of_stations_per_radio_list = number_of_stations_per_radio_list
|
||||||
self.local_realm = realm.Realm(lfclient_host=self.host, lfclient_port=self.port, debug_=debug_on)
|
self.local_realm = realm.Realm(lfclient_host=self.host, lfclient_port=self.port, debug_=debug_on)
|
||||||
|
self.polling_interval_seconds = self.local_realm.duration_time_to_seconds(polling_interval)
|
||||||
self.cx_profile = self.local_realm.new_l3_cx_profile()
|
self.cx_profile = self.local_realm.new_l3_cx_profile()
|
||||||
self.multicast_profile = self.local_realm.new_multicast_profile()
|
self.multicast_profile = self.local_realm.new_multicast_profile()
|
||||||
self.multicast_profile.name_prefix = "MLT-";
|
self.multicast_profile.name_prefix = "MLT-";
|
||||||
@@ -59,6 +61,8 @@ class L3VariableTimeLongevity(LFCliBase):
|
|||||||
self.outfile = outfile
|
self.outfile = outfile
|
||||||
self.csv_started = False
|
self.csv_started = False
|
||||||
self.ts = int(time.time())
|
self.ts = int(time.time())
|
||||||
|
self.debug = debug_on
|
||||||
|
|
||||||
|
|
||||||
# Some checking on the duration
|
# Some checking on the duration
|
||||||
#self.local_realm.parse_time(self.test_duration)
|
#self.local_realm.parse_time(self.test_duration)
|
||||||
@@ -140,7 +144,7 @@ class L3VariableTimeLongevity(LFCliBase):
|
|||||||
csv_rx_drop_percent_data.append(average_rx_drop_percent)
|
csv_rx_drop_percent_data.append(average_rx_drop_percent)
|
||||||
|
|
||||||
for item, value in rx_drop_percent.items():
|
for item, value in rx_drop_percent.items():
|
||||||
print(item, "rx drop percent: ", rx_drop_percent[item])
|
#print(item, "rx drop percent: ", rx_drop_percent[item])
|
||||||
csv_rx_drop_percent_data.append(rx_drop_percent[item])
|
csv_rx_drop_percent_data.append(rx_drop_percent[item])
|
||||||
|
|
||||||
self.csv_add_row(csv_rx_drop_percent_data,self.csv_writer,self.csv_file)
|
self.csv_add_row(csv_rx_drop_percent_data,self.csv_writer,self.csv_file)
|
||||||
@@ -159,7 +163,7 @@ class L3VariableTimeLongevity(LFCliBase):
|
|||||||
for key in [key for key in old_list if "mtx" in key]: del old_list[key]
|
for key in [key for key in old_list if "mtx" in key]: del old_list[key]
|
||||||
for key in [key for key in new_list if "mtx" in key]: del new_list[key]
|
for key in [key for key in new_list if "mtx" in key]: del new_list[key]
|
||||||
|
|
||||||
print("rx (ts:{}): calculating worst, best, average".format(self.ts))
|
#print("rx (ts:{}): calculating worst, best, average".format(self.ts))
|
||||||
filtered_values = [v for _, v in new_list.items() if v !=0]
|
filtered_values = [v for _, v in new_list.items() if v !=0]
|
||||||
average_rx= sum(filtered_values) / len(filtered_values) if len(filtered_values) != 0 else 0
|
average_rx= sum(filtered_values) / len(filtered_values) if len(filtered_values) != 0 else 0
|
||||||
|
|
||||||
@@ -171,15 +175,15 @@ class L3VariableTimeLongevity(LFCliBase):
|
|||||||
csv_rx_row_data.append(str(csv_performance_values[i]).replace(',',';'))
|
csv_rx_row_data.append(str(csv_performance_values[i]).replace(',',';'))
|
||||||
|
|
||||||
csv_rx_row_data.append(average_rx)
|
csv_rx_row_data.append(average_rx)
|
||||||
#print("rx (ts:{}): worst, best, average {}".format(self.ts,csv_rx_row_data))
|
if self.debug: print("rx (ts:{}): worst, best, average {}".format(self.ts,csv_rx_row_data))
|
||||||
|
|
||||||
if len(old_list) == len(new_list):
|
if len(old_list) == len(new_list):
|
||||||
print("rx_delta (ts:{}): calculating worst, best, average".format(self.ts))
|
if self.debug: print("rx_delta (ts:{}): calculating worst, best, average".format(self.ts))
|
||||||
for item, value in old_list.items():
|
for item, value in old_list.items():
|
||||||
expected_passes +=1
|
expected_passes +=1
|
||||||
if new_list[item] > old_list[item]:
|
if new_list[item] > old_list[item]:
|
||||||
passes += 1
|
passes += 1
|
||||||
print(item, new_list[item], old_list[item], " Difference: ", new_list[item] - old_list[item])
|
if self.debug: print(item, new_list[item], old_list[item], " Difference: ", new_list[item] - old_list[item])
|
||||||
else:
|
else:
|
||||||
print("Failed to increase rx data: ", item, new_list[item], old_list[item])
|
print("Failed to increase rx data: ", item, new_list[item], old_list[item])
|
||||||
if not self.csv_started:
|
if not self.csv_started:
|
||||||
@@ -206,13 +210,13 @@ class L3VariableTimeLongevity(LFCliBase):
|
|||||||
csv_rx_delta_row_data.append(str(csv_performance_delta_values[i]).replace(',',';'))
|
csv_rx_delta_row_data.append(str(csv_performance_delta_values[i]).replace(',',';'))
|
||||||
|
|
||||||
csv_rx_delta_row_data.append(average_rx_delta)
|
csv_rx_delta_row_data.append(average_rx_delta)
|
||||||
#print("rx_delta (ts:{}): worst, best, average {}".format(self.ts,csv_rx_delta_row_data))
|
if self.debug: print("rx_delta (ts:{}): worst, best, average {}".format(self.ts,csv_rx_delta_row_data))
|
||||||
|
|
||||||
for item, value in old_list.items():
|
for item, value in old_list.items():
|
||||||
expected_passes +=1
|
expected_passes +=1
|
||||||
if new_list[item] > old_list[item]:
|
if new_list[item] > old_list[item]:
|
||||||
passes += 1
|
passes += 1
|
||||||
print(item, new_list[item], old_list[item], " Difference: ", new_list[item] - old_list[item])
|
if self.debug: print(item, new_list[item], old_list[item], " Difference: ", new_list[item] - old_list[item])
|
||||||
else:
|
else:
|
||||||
print("Failed to increase rx data: ", item, new_list[item], old_list[item])
|
print("Failed to increase rx data: ", item, new_list[item], old_list[item])
|
||||||
if not self.csv_started:
|
if not self.csv_started:
|
||||||
@@ -436,14 +440,14 @@ class L3VariableTimeLongevity(LFCliBase):
|
|||||||
random.randint(station_profile.reset_port_extra_data['reset_port_time_min'],\
|
random.randint(station_profile.reset_port_extra_data['reset_port_time_min'],\
|
||||||
station_profile.reset_port_extra_data['reset_port_time_max'])
|
station_profile.reset_port_extra_data['reset_port_time_max'])
|
||||||
station_profile.reset_port_extra_data['reset_port_timer_started'] = True
|
station_profile.reset_port_extra_data['reset_port_timer_started'] = True
|
||||||
print("seconds_till_reset {}".format(station_profile.reset_port_extra_data['seconds_till_reset']))
|
print("on radio {} seconds_till_reset {}".format(station_profile.add_sta_data['radio'],station_profile.reset_port_extra_data['seconds_till_reset']))
|
||||||
else:
|
else:
|
||||||
station_profile.reset_port_extra_data['seconds_till_reset'] = station_profile.reset_port_extra_data['seconds_till_reset'] - 1
|
station_profile.reset_port_extra_data['seconds_till_reset'] = station_profile.reset_port_extra_data['seconds_till_reset'] - 1
|
||||||
print("countdown seconds_till_reset {}".format(station_profile.reset_port_extra_data['seconds_till_reset']))
|
if self.debug: print("radio: {} countdown seconds_till_reset {}".format(station_profile.add_sta_data['radio'] ,station_profile.reset_port_extra_data['seconds_till_reset']))
|
||||||
if ((station_profile.reset_port_extra_data['seconds_till_reset'] <= 0)):
|
if ((station_profile.reset_port_extra_data['seconds_till_reset'] <= 0)):
|
||||||
station_profile.reset_port_extra_data['reset_port_timer_started'] = False
|
station_profile.reset_port_extra_data['reset_port_timer_started'] = False
|
||||||
port_to_reset = random.randint(0,len(station_profile.station_names)-1)
|
port_to_reset = random.randint(0,len(station_profile.station_names)-1)
|
||||||
print("reset station number {} station: {}".format(port_to_reset+1,station_profile.station_names[port_to_reset]))
|
print("reset on radio {} station: {}".format(station_profile.add_sta_data['radio'],station_profile.station_names[port_to_reset]))
|
||||||
self.local_realm.reset_port(station_profile.station_names[port_to_reset])
|
self.local_realm.reset_port(station_profile.station_names[port_to_reset])
|
||||||
|
|
||||||
def pre_cleanup(self):
|
def pre_cleanup(self):
|
||||||
@@ -529,8 +533,8 @@ class L3VariableTimeLongevity(LFCliBase):
|
|||||||
passes = 0
|
passes = 0
|
||||||
expected_passes = 0
|
expected_passes = 0
|
||||||
while cur_time < end_time:
|
while cur_time < end_time:
|
||||||
#interval_time = cur_time + datetime.timedelta(seconds=60)
|
interval_time = cur_time + datetime.timedelta(self.polling_interval_seconds)
|
||||||
interval_time = cur_time + datetime.timedelta(seconds=5)
|
print("polling_interval_seconds {}".format(self.polling_interval_seconds))
|
||||||
while cur_time < interval_time:
|
while cur_time < interval_time:
|
||||||
cur_time = datetime.datetime.now()
|
cur_time = datetime.datetime.now()
|
||||||
self.reset_port_check()
|
self.reset_port_check()
|
||||||
@@ -743,6 +747,7 @@ python3 test_l3_longevity.py --cisco_ctlr 192.168.100.112 --cisco_dfs True --mgr
|
|||||||
default='lf_udp', type=valid_endp_types)
|
default='lf_udp', type=valid_endp_types)
|
||||||
parser.add_argument('-u', '--upstream_port', help='--upstream_port <cross connect upstream_port> example: --upstream_port eth1',default='eth1')
|
parser.add_argument('-u', '--upstream_port', help='--upstream_port <cross connect upstream_port> example: --upstream_port eth1',default='eth1')
|
||||||
parser.add_argument('-o','--csv_outfile', help="--csv_outfile <Output file for csv data>", default='longevity_results')
|
parser.add_argument('-o','--csv_outfile', help="--csv_outfile <Output file for csv data>", default='longevity_results')
|
||||||
|
parser.add_argument('--polling_interval', help="--polling_interval <seconds>", default='60s')
|
||||||
#parser.add_argument('-c','--csv_output', help="Generate csv output", default=False)
|
#parser.add_argument('-c','--csv_output', help="Generate csv output", default=False)
|
||||||
|
|
||||||
parser.add_argument('-r','--radio', action='append', nargs=1, help='--radio \
|
parser.add_argument('-r','--radio', action='append', nargs=1, help='--radio \
|
||||||
@@ -751,12 +756,14 @@ python3 test_l3_longevity.py --cisco_ctlr 192.168.100.112 --cisco_dfs True --mgr
|
|||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
#print("args: {}".format(args))
|
#print("args: {}".format(args))
|
||||||
|
|
||||||
debug_on = args.debug
|
debug_on = args.debug
|
||||||
|
|
||||||
if args.test_duration:
|
if args.test_duration:
|
||||||
test_duration = args.test_duration
|
test_duration = args.test_duration
|
||||||
|
|
||||||
|
if args.polling_interval:
|
||||||
|
polling_interval = args.polling_interval
|
||||||
|
|
||||||
if args.endp_type:
|
if args.endp_type:
|
||||||
endp_types = args.endp_type
|
endp_types = args.endp_type
|
||||||
|
|
||||||
@@ -791,7 +798,6 @@ python3 test_l3_longevity.py --cisco_ctlr 192.168.100.112 --cisco_dfs True --mgr
|
|||||||
print("radios {}".format(radios))
|
print("radios {}".format(radios))
|
||||||
for radio_ in radios:
|
for radio_ in radios:
|
||||||
radio_keys = ['radio','stations','ssid','ssid_pw','security']
|
radio_keys = ['radio','stations','ssid','ssid_pw','security']
|
||||||
#print("radio_ {}".format(str(radio_).replace('[','').replace(']','').replace("'","")))
|
|
||||||
radio_info_dict = dict(map(lambda x: x.split('=='), str(radio_).replace('[','').replace(']','').replace("'","").split()))
|
radio_info_dict = dict(map(lambda x: x.split('=='), str(radio_).replace('[','').replace(']','').replace("'","").split()))
|
||||||
print("radio_dict {}".format(radio_info_dict))
|
print("radio_dict {}".format(radio_info_dict))
|
||||||
|
|
||||||
@@ -810,16 +816,16 @@ python3 test_l3_longevity.py --cisco_ctlr 192.168.100.112 --cisco_dfs True --mgr
|
|||||||
radio_reset_found = True
|
radio_reset_found = True
|
||||||
for key in optional_radio_reset_keys:
|
for key in optional_radio_reset_keys:
|
||||||
if key not in radio_info_dict:
|
if key not in radio_info_dict:
|
||||||
print("port reset test not enabled")
|
#print("port reset test not enabled")
|
||||||
radio_reset_found = False
|
radio_reset_found = False
|
||||||
break
|
break
|
||||||
|
|
||||||
if radio_reset_found:
|
if radio_reset_found:
|
||||||
reset_port_enable_list.append('True')
|
reset_port_enable_list.append(True)
|
||||||
reset_port_time_min_list.append(radio_info_dict['reset_port_time_min'])
|
reset_port_time_min_list.append(radio_info_dict['reset_port_time_min'])
|
||||||
reset_port_time_max_list.append(radio_info_dict['reset_port_time_max'])
|
reset_port_time_max_list.append(radio_info_dict['reset_port_time_max'])
|
||||||
else:
|
else:
|
||||||
reset_port_enable_list.append('False')
|
reset_port_enable_list.append(False)
|
||||||
reset_port_time_min_list.append('0s')
|
reset_port_time_min_list.append('0s')
|
||||||
reset_port_time_max_list.append('0s')
|
reset_port_time_max_list.append('0s')
|
||||||
|
|
||||||
@@ -855,6 +861,7 @@ python3 test_l3_longevity.py --cisco_ctlr 192.168.100.112 --cisco_dfs True --mgr
|
|||||||
ssid_password_list=ssid_password_list,
|
ssid_password_list=ssid_password_list,
|
||||||
ssid_security_list=ssid_security_list,
|
ssid_security_list=ssid_security_list,
|
||||||
test_duration=test_duration,
|
test_duration=test_duration,
|
||||||
|
polling_interval= polling_interval,
|
||||||
reset_port_enable_list=reset_port_enable_list,
|
reset_port_enable_list=reset_port_enable_list,
|
||||||
reset_port_time_min_list=reset_port_time_min_list,
|
reset_port_time_min_list=reset_port_time_min_list,
|
||||||
reset_port_time_max_list=reset_port_time_max_list,
|
reset_port_time_max_list=reset_port_time_max_list,
|
||||||
|
|||||||
Reference in New Issue
Block a user