Added supplicant logs in client_connectivity_test()

Signed-off-by: shivam <shivam.thakur@candelatech.com>
This commit is contained in:
shivam
2022-08-23 11:42:38 +05:30
parent c456a56faa
commit 0123bbc1de
2 changed files with 71 additions and 33 deletions

View File

@@ -160,7 +160,7 @@ class lf_libs:
self.scenario = lf_data.get("scenario")
self.setup_lf_data()
self.setup_relevent_profiles()
# self.load_scenario()
self.load_scenario()
self.setup_metadata()
if self.scenario == "dhcp-bridge":
logging.info("Scenario name: " + str(self.scenario))
@@ -171,9 +171,8 @@ class lf_libs:
self.create_dhcp_external()
self.chamber_view(raw_lines=self.default_scenario_raw_lines)
self.setup_dut()
# except Exception as e:
logging.error("lf_data has bad values: " + str(lf_data))
# logging.error("lf_data has bad values: " + str(lf_data))
# logging.error(e)
"""
@@ -1193,6 +1192,44 @@ class lf_libs:
else:
logging.error("Radio name is wrong")
def get_supplicant_logs(self, radio="1.1.wiphy0", attach_allure=True):
try:
resource = radio.split(".")[1]
radio = radio.split(".")[2]
ip = self.get_manager_from_resource(resource=int(resource))
if ip is not None:
supplicant = "/home/lanforge/wifi/wpa_supplicant_log_" + radio + ".txt"
obj = SCP_File(ip=ip, port=22, username="root", password="lanforge",
remote_path=supplicant,
local_path=".")
obj.pull_file()
if attach_allure:
allure.attach.file(source="wpa_supplicant_log_" + radio + ".txt",
name="wpa_supplicant_log - " + str(radio))
except Exception as e:
logging.error("get_supplicant_logs() - Error in getting supplicant Logs: " + str(e))
def get_resources(self):
try:
d = self.json_get("/port/?fields=alias,ip")
resource_data = dict()
for i in d["interfaces"]:
if str(list(dict(i).keys())[0]).__contains__("eth0"):
resource_data[str(list(dict(i).keys())[0]).split(".")[1]] = i[str(list(dict(i).keys())[0])]["ip"]
logging.info("Resource ID and Management port Mapping: " + str(resource_data))
except Exception as e:
logging.error(str(e))
return resource_data
def get_manager_from_resource(self, resource=1):
resource_data = self.get_resources()
try:
ip = resource_data[str(resource)]
except Exception as e:
logging.error("Resource is Unavailable when reading manager: " + str(e))
ip = None
return ip
class Report:
def __init__(self, key1=None,

View File

@@ -94,7 +94,6 @@ class lf_tests(lf_libs):
logging.info("ssid scan data : " + str(result))
if not result:
# Sniffer required
# print("sniff radio", data["sniff_radio"].split(".")[2])
for duts in self.dut_data:
identifier = duts["identifier"]
if dut_data.keys().__contains__(identifier):
@@ -172,9 +171,9 @@ class lf_tests(lf_libs):
self.stop_sniffer()
else:
for obj in sta_connect_obj:
print(obj)
obj.start()
print("napping %f sec" % runtime_secs)
logging.info("napping %f sec" % runtime_secs)
time.sleep(runtime_secs)
pass_fail_result = []
for obj in sta_connect_obj:
@@ -260,7 +259,11 @@ class lf_tests(lf_libs):
else:
logging.info("client connection to" + str(obj.dut_ssid) + "unsuccessful. Test Failed")
result = "FAIL"
for obj in sta_connect_obj:
try:
self.get_supplicant_logs(radio="1." + str(obj.resource) + "." + str(obj.radio))
except Exception as e:
logging.error("client_cpnnectivity_tests() -- Error in getting Supplicant Logs:" + str(e))
result = "PASS"
description = ""
for i in pass_fail_result:
@@ -318,7 +321,6 @@ class lf_tests(lf_libs):
for obj in client_connect_obj:
obj.build()
result = obj.wait_for_ip(station_list=obj.sta_list, timeout_sec=50)
# print(self.client_connect.wait_for_ip(station_name))
pass_fail.append(result)
station_data_ = self.get_station_data(sta_name=obj.sta_list, rows=station_data,
allure_attach=False)
@@ -353,17 +355,17 @@ class lf_tests(lf_libs):
if __name__ == '__main__':
basic_04 = {
"target": "tip_2x",
"controller": {
"controller" : {
"url": "https://sec-qa01.cicd.lab.wlan.tip.build:16001",
"username": "tip@ucentral.com",
"password": "OpenWifi%123"
},
"device_under_tests": [{
"model": "edgecore_ecw5211",
"supported_bands": ["2G", "5G"],
"model": "cig_wf196",
"supported_bands": ["2G", "5G", "6G"],
"supported_modes": ["BRIDGE", "NAT", "VLAN"],
"wan_port": "1.1.eth2",
"lan_port": "1.1.eth1",
"wan_port": "1.3.eth2",
"lan_port": None,
"ssid": {
"2g-ssid": "OpenWifi",
"5g-ssid": "OpenWifi",
@@ -371,21 +373,21 @@ if __name__ == '__main__':
"2g-password": "OpenWifi",
"5g-password": "OpenWifi",
"6g-password": "OpenWifi",
"2g-encryption": "OPEN",
"5g-encryption": "OPEN",
"6g-encryption": "OPEN",
"2g-encryption": "WPA2",
"5g-encryption": "WPA2",
"6g-encryption": "WPA3",
"2g-bssid": "68:7d:b4:5f:5c:31",
"5g-bssid": "68:7d:b4:5f:5c:3c",
"6g-bssid": "68:7d:b4:5f:5c:38"
},
"mode": "wifi5",
"identifier": "68215fda456d",
"mode": "wifi6e",
"identifier": "824f816011e4",
"method": "serial",
"host_ip": "localhost",
"host_username": "lanforge",
"host_password": "pumpkin77",
"host_ssh_port": 8832,
"serial_tty": "/dev/ttyAP5",
"host_ssh_port": 8902,
"serial_tty": "/dev/ttyAP0",
"firmware_version": "next-latest"
}],
"traffic_generator": {
@@ -394,11 +396,11 @@ if __name__ == '__main__':
"scenario": "dhcp-bridge",
"details": {
"manager_ip": "localhost",
"http_port": 8830,
"ssh_port": 8831,
"http_port": 8900,
"ssh_port": 8901,
"setup": {"method": "build", "DB": "Test_Scenario_Automation"},
"wan_ports": {
"1.1.eth2": {"addressing": "dhcp-server", "subnet": "172.16.0.1/16", "dhcp": {
"1.3.eth2": {"addressing": "dhcp-server", "subnet": "172.16.0.1/16", "dhcp": {
"lease-first": 10,
"lease-count": 10000,
"lease-time": "6h"
@@ -406,14 +408,12 @@ if __name__ == '__main__':
}
},
"lan_ports": {
"1.1.eth1": {
"addressing": "dynamic"
}
},
"uplink_nat_ports": {
"1.1.eth3": {
"1.3.eth3": {
"addressing": "static",
"ip": "10.28.2.9",
"ip": "10.28.2.39",
"gateway_ip": "10.28.2.1/24",
"ip_mask": "255.255.255.0",
"dns_servers": "BLANK"
@@ -425,6 +425,7 @@ if __name__ == '__main__':
obj = lf_tests(lf_data=dict(basic_04["traffic_generator"]), dut_data=list(basic_04["device_under_tests"]),
log_level=logging.DEBUG, run_lf=False)
obj.get_supplicant_logs(radio="1.1.wiphy1")
# A =obj.setup_interfaces(band="fiveg", vlan_id=100, mode="NAT-WAN", num_sta=1)
# print(A)
# obj.setup_relevent_profiles()
@@ -436,14 +437,14 @@ if __name__ == '__main__':
# obj.create_dhcp_external()obj.add_vlan(vlan_ids=[100, 200, 300, 400, 500, 600])
# obj.get_cx_data()
# obj.chamber_view()
dut = {'0000c1018812': [['ssid_open_2g_nat', 'open', 'something', '2G', '6A:21:5F:DA:45:6F'],
{'2G': [6, 40, 2437], '5G': None, '6G': None}]}
# dut = {'0000c1018812': [['ssid_open_2g_nat', 'open', 'something', '2G', '6A:21:5F:DA:45:6F'],
# {'2G': [6, 40, 2437], '5G': None, '6G': None}]}
#
passes, result = obj.client_connectivity_test(ssid="ssid_open_2g_nat", passkey="something", security="open",
extra_securities=[],
num_sta=1, mode="NAT-WAN", dut_data=dut,
band="twog")
print(passes == "PASS", result)
# print(passes == "PASS", result)
# obj.start_sniffer(radio_channel=1, radio="wiphy7", test_name="sniff_radio", duration=30)
# print("started")
# time.sleep(30)