bridge and nat profile working fine in sdk_set_profile

This commit is contained in:
shivam
2021-02-11 02:14:58 +05:30
parent 3b9606d83e
commit 05ee084133
5 changed files with 67 additions and 90 deletions

View File

@@ -1269,7 +1269,7 @@ class CreateAPProfiles:
msg='2.4G WPA SSID create failed - ' + mode + ' mode')
self.test_cases["ssid_2g_wpa_" + mode] = "failed"
def create_ap_bridge_profile(self, eq_id=None, fw_model=None, mode="bridge"):
def create_ap_profile(self, eq_id=None, fw_model=None, mode="bridge"):
self.ssid_prof_config = []
self.ssid_config = []
self.fw_model = fw_model
@@ -1313,7 +1313,7 @@ class CreateAPProfiles:
self.child_profiles.append(self.radius_profile)
# EAP ssid profiles would have been added above if they existed.
name = self.command_line_args.testbed + "-" + self.fw_model + "_" + mode
name = self.command_line_args.testbed + "-" + self.fw_model + "_" + self.mode
print("child profiles: ", self.child_profiles)
@@ -1325,17 +1325,17 @@ class CreateAPProfiles:
self.child_profiles)
self.test_profile_id = self.create_ap_profile
print("Test Profile ID for Test is:", self.test_profile_id)
self.client.update_testrail(case_id=self.test_cases["ap_"+mode], run_id=self.rid, status_id=1,
self.client.update_testrail(case_id=self.test_cases["ap_"+ self.mode], run_id=self.rid, status_id=1,
msg='AP profile for ' + mode + ' tests created successfully')
self.test_cases["ap_"+mode] = "passed"
self.test_cases["ap_"+self.mode] = "passed"
except Exception as ex:
print(ex)
logging.error(logging.traceback.format_exc())
create_ap_profile = "error"
print("Error creating AP profile for bridge tests. Will use existing AP profile")
self.client.update_testrail(case_id=self.test_cases["ap_"+mode], run_id=self.rid, status_id=5,
self.client.update_testrail(case_id=self.test_cases["ap_"+self.mode], run_id=self.rid, status_id=5,
msg='AP profile for ' + mode + ' tests could not be created using API')
self.test_cases["ap_"+mode] = "failed"
self.test_cases["ap_"+self.mode] = "failed"
self.ap_profile = self.cloud.set_ap_profile(eq_id, self.test_profile_id, self.command_line_args.sdk_base_url,
self.bearer)

View File

@@ -57,7 +57,7 @@ class NightlySanity:
print("Found equipment ID: %s inventoryId: %s",
e['id'], e['inventoryId'])
self.equipment_id = str(e['id'])
if self.equipment_id == -1:
if self.equipment_id == "-1":
print("ERROR: Could not find equipment-id.")
exit()
@@ -158,8 +158,8 @@ class NightlySanity:
self.reporting.update_json_report(self.report_data)
self.ap_object = CreateAPProfiles(self.args, cloud=self.cloud, client=self.client, fw_model=self.model)
# Logic to create AP Profiles (Bridge Mode)
#
# # Logic to create AP Profiles (Bridge Mode)
nprefix = "%s-Nightly"%(self.args.testbed)
self.ap_object.set_ssid_psk_data(ssid_2g_wpa="%s-SSID-2G-WPA"%(nprefix),
ssid_5g_wpa="%s-SSID-5G-WPA"%(nprefix),
@@ -181,7 +181,7 @@ class NightlySanity:
self.ap_object.create_ssid_profiles(ssid_template=ssid_template, skip_eap=True, mode="bridge")
print("Create AP with equipment-id: ", self.equipment_id)
self.ap_object.create_ap_bridge_profile(eq_id=self.equipment_id, fw_model=self.model, mode="bridge")
self.ap_object.create_ap_profile(eq_id=self.equipment_id, fw_model=self.model, mode="bridge")
self.ap_object.validate_changes(mode="bridge")
print("Profiles Created")
@@ -192,6 +192,8 @@ class NightlySanity:
time.sleep(10)
self.reporting.update_json_report(report_data=self.ap_object.report_data)
self.ap_object = CreateAPProfiles(self.args, cloud=self.cloud, client=self.client, fw_model=self.model)
# Logic to create AP Profiles (NAT Mode)
self.ap_object.set_ssid_psk_data(ssid_2g_wpa="%s-SSID-NAT-2G-WPA"%(nprefix),
ssid_5g_wpa="%s-SSID-NAT-5G-WPA"%(nprefix),
@@ -213,7 +215,7 @@ class NightlySanity:
self.ap_object.create_ssid_profiles(ssid_template=ssid_template, skip_eap=True, mode="nat")
print("Create AP with equipment-id: ", self.equipment_id)
self.ap_object.create_ap_bridge_profile(eq_id=self.equipment_id, fw_model=self.model, mode="nat")
self.ap_object.create_ap_profile(eq_id=self.equipment_id, fw_model=self.model, mode="nat")
self.ap_object.validate_changes(mode="nat")
self.test_2g(mode="nat")

View File

@@ -97,7 +97,7 @@ from lab_ap_info import radius_info
class UnitTestBase:
def __init__(self, log_name, args, reporting):
def __init__(self, log_name, args, reporting=None):
self.parser = argparse.ArgumentParser(description="Sanity Testing on Firmware Build", parents=[args])
self.parser.add_argument("-b", "--build-id", type=str,
@@ -240,7 +240,11 @@ class UnitTestBase:
self.build = self.command_line_args.build_id
self.logger = logging.getLogger(log_name)
self.hdlr = logging.FileHandler(reporting.report_path + "/test_run.log")
if reporting is not None:
self.hdlr = logging.FileHandler(reporting.report_path + "/test_run.log")
else:
self.hdlr = logging.FileHandler("logs/test_run.log")
self.formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
self.hdlr.setFormatter(self.formatter)
self.logger.addHandler(self.hdlr)

View File

@@ -24,7 +24,8 @@ The ports are used as:
Testbed-01
# Set AP profile on NOLA-01
./sdk_set_profile.py --testrail-user-id NONE --model ecw5410 --ap-jumphost-address localhost --ap-jumphost-port 8803 --ap-jumphost-password pumpkin77 --ap-jumphost-tty /dev/ttyAP1 --lanforge-ip-address localhost --lanforge-port-number 8802 --default-ap-profile TipWlan-2-Radios --sdk-base-url https://wlan-portal-svc.cicd.lab.wlan.tip.build --skip-radius --skip-wpa --verbose --testbed "NOLA-01" --ssid-5g-wpa2 Default-SSID-5gl --psk-5g-wpa2 12345678 --ssid-2g-wpa2 Default-SSID-2g --psk-2g-wpa2 12345678
./sdk_set_profile.py --testrail-user-id NONE --model ecw5410 --ap-jumphost-address localhost --ap-jumphost-port 8803 --ap-jumphost-password pumpkin77 --ap-jumphost-tty /dev/ttyAP1 --lanforge-ip-address localhost --lanforge-port-number 8802 --default-ap-profile TipWlan-2-Radios --sdk-base-url https://wlan-portal-svc.cicd.lab.wlan.tip.build --skip-radius --skip-wpa --verbose --testbed "NOLA-01" --ssid-5g-wpa2 Default-SSID-5gl --psk-5g-wpa2 12345678 --ssid-2g-wpa2 Default-SSID-2g --psk-2g-wpa2 12345678 --mode bridge
Testbed-09 (perfecto)

View File

@@ -18,54 +18,47 @@ sys.path.append(f'../tests')
from UnitTestBase import *
from cloudsdk import CreateAPProfiles
def main():
parser = argparse.ArgumentParser(description="SDK Set Profile", add_help=False)
parser.add_argument("--default-ap-profile", type=str,
help="Default AP profile to use as basis for creating new ones, typically: TipWlan-2-Radios or TipWlan-3-Radios",
required=True)
parser.add_argument("--skip-radius", dest="skip_radius", action='store_true',
help="Should we skip the RADIUS configs or not")
help="Should we skip the RADIUS configs or not", default=False)
parser.add_argument("--skip-wpa", dest="skip_wpa", action='store_true',
help="Should we skip the WPA ssid or not")
help="Should we skip the WPA ssid or not", default=False)
parser.add_argument("--skip-wpa2", dest="skip_wpa2", action='store_true',
help="Should we skip the WPA2 ssid or not")
parser.set_defaults(skip_radius=False)
parser.set_defaults(skip_wpa=False)
parser.set_defaults(skip_wpa2=False)
help="Should we skip the WPA2 ssid or not", default=False)
parser.add_argument("--skip-profiles", dest="skip_profiles", action='store_true',
help="Should we skip creating new ssid profiles?")
parser.set_defaults(skip_profiles=False)
help="Should we skip creating new ssid profiles?", default=False)
parser.add_argument("--psk-5g-wpa2", type=str,
parser.add_argument("--psk-5g-wpa2", dest="psk_5g_wpa2", type=str,
help="Allow over-riding the 5g-wpa2 PSK value.")
parser.add_argument("--psk-5g-wpa", type=str,
parser.add_argument("--psk-5g-wpa", dest="psk_5g_wpa", type=str,
help="Allow over-riding the 5g-wpa PSK value.")
parser.add_argument("--psk-2g-wpa2", type=str,
parser.add_argument("--psk-2g-wpa2", dest="psk_2g_wpa2", type=str,
help="Allow over-riding the 2g-wpa2 PSK value.")
parser.add_argument("--psk-2g-wpa", type=str,
parser.add_argument("--psk-2g-wpa", dest="psk_2g_wpa", type=str,
help="Allow over-riding the 2g-wpa PSK value.")
parser.add_argument("--ssid-5g-wpa2", type=str,
parser.add_argument("--ssid-5g-wpa2", dest="ssid_5g_wpa2", type=str,
help="Allow over-riding the 5g-wpa2 SSID value.")
parser.add_argument("--ssid-5g-wpa", type=str,
parser.add_argument("--ssid-5g-wpa", dest="ssid_5g_wpa", type=str,
help="Allow over-riding the 5g-wpa SSID value.")
parser.add_argument("--ssid-2g-wpa2", type=str,
parser.add_argument("--ssid-2g-wpa2", dest="ssid_2g_wpa2", type=str,
help="Allow over-riding the 2g-wpa2 SSID value.")
parser.add_argument("--ssid-2g-wpa", type=str,
parser.add_argument("--ssid-2g-wpa", dest="ssid_2g_wpa", type=str,
help="Allow over-riding the 2g-wpa SSID value.")
parser.add_argument("--mode", dest="mode", choices=['bridge', 'nat', 'vlan'], type=str,
help="Mode of AP Profile [bridge/nat/vlan]")
reporting = Reporting(reports_root=os.getcwd() + "/reports/")
base = UnitTestBase("skd-set-profile", parser, reporting)
base = UnitTestBase("skd-set-profile", parser)
command_line_args = base.command_line_args
print(command_line_args.mode)
# cmd line takes precedence over env-vars.
cloudSDK_url = command_line_args.sdk_base_url # was os.getenv('CLOUD_SDK_URL')
@@ -150,15 +143,8 @@ def main():
fw_model = ap_cli_fw.partition("-")[0]
print('Current Active AP FW from CLI:', ap_cli_fw)
###Find Latest FW for Current AP Model and Get FW ID
############################################################################
#################### Create Report #########################################
############################################################################
# Create Report Folder for Today
today = str(date.today())
try:
@@ -170,62 +156,46 @@ def main():
logger.info('Report data can be found here: ' + report_path + today)
##Get Bearer Token to make sure its valid (long tests can require re-auth)
# Get Bearer Token to make sure its valid (long tests can require re-auth)
bearer = cloud.get_bearer(cloudSDK_url, cloud_type)
radius_name = "%s-%s-%s" % (command_line_args.testbed, fw_model, "Radius")
obj = CreateAPProfiles(command_line_args, cloud=cloud, client=client, fw_model=fw_model)
# Allow cmd-line to override
if command_line_args.psk_5g_wpa2:
obj.psk_data["5g"]["wpa2"]["name"] = command_line_args.psk_5g_wpa2
obj.psk_data["5g"]["wpa2"]["nat"] = command_line_args.psk_5g_wpa2
obj.psk_data["5g"]["wpa2"]["vlan"] = command_line_args.psk_5g_wpa2
if command_line_args.psk_5g_wpa:
obj.psk_data["5g"]["wpa"]["name"] = command_line_args.psk_5g_wpa
obj.psk_data["5g"]["wpa"]["nat"] = command_line_args.psk_5g_wpa
obj.psk_data["5g"]["wpa"]["vlan"] = command_line_args.psk_5g_wpa
if command_line_args.psk_2g_wpa2:
obj.psk_data["2g"]["wpa2"]["name"] = command_line_args.psk_2g_wpa2
obj.psk_data["2g"]["wpa2"]["nat"] = command_line_args.psk_2g_wpa2
obj.psk_data["2g"]["wpa2"]["vlan"] =command_line_args.psk_2g_wpa2
if command_line_args.psk_2g_wpa:
obj.psk_data["2g"]["wpa"]["name"] = command_line_args.psk_2g_wpa
obj.psk_data["2g"]["wpa"]["nat"] = command_line_args.psk_2g_wpa
obj.psk_data["2g"]["wpa"]["nat"] = command_line_args.psk_2g_wpa
if command_line_args.ssid_5g_wpa2:
obj.ssid_data["5g"]["wpa2"]["name"] = command_line_args.ssid_5g_wpa2
obj.ssid_data["5g"]["wpa2"]["nat"] = command_line_args.ssid_5g_wpa2
obj.ssid_data["5g"]["wpa2"]["vlan"] = command_line_args.ssid_5g_wpa2
if command_line_args.ssid_5g_wpa:
obj.ssid_data["5g"]["wpa"]["name"] = command_line_args.ssid_5g_wpa
obj.ssid_data["5g"]["wpa"]["nat"] = command_line_args.ssid_5g_wpa
obj.ssid_data["5g"]["wpa"]["vlan"] = command_line_args.ssid_5g_wpa
if command_line_args.ssid_2g_wpa2:
obj.ssid_data["2g"]["wpa2"]["name"] = command_line_args.ssid_2g_wpa2
obj.ssid_data["2g"]["wpa2"]["nat"] = command_line_args.ssid_2g_wpa2
obj.ssid_data["2g"]["wpa2"]["vlan"] = command_line_args.ssid_2g_wpa2
if command_line_args.ssid_2g_wpa:
obj.ssid_data["2g"]["wpa"]["name"] = command_line_args.ssid_2g_wpa
obj.ssid_data["2g"]["wpa"]["nat"] = command_line_args.ssid_2g_wpa
obj.ssid_data["2g"]["wpa"]["vlan"] = command_line_args.ssid_2g_wpa
args = command_line_args
print("Profiles Created")
ap_object = CreateAPProfiles(args, cloud=cloud, client=client, fw_model=fw_model)
# Logic to create AP Profiles (Bridge Mode)
ap_object.set_ssid_psk_data(ssid_2g_wpa=args.ssid_2g_wpa,
ssid_5g_wpa=args.ssid_5g_wpa,
psk_2g_wpa=args.psk_2g_wpa,
psk_5g_wpa=args.psk_5g_wpa,
ssid_2g_wpa2=args.ssid_2g_wpa2,
ssid_5g_wpa2=args.ssid_5g_wpa2,
psk_2g_wpa2=args.psk_2g_wpa2,
psk_5g_wpa2=args.psk_5g_wpa2)
print(ap_object)
print("creating Profiles")
ssid_template = "TipWlan-Cloud-Wifi"
if not args.skip_profiles:
if not args.skip_radius:
# Radius Profile needs to be set here
# obj.create_radius_profile(radius_name, rid, key)
pass
ap_object.create_ssid_profiles(ssid_template=ssid_template, skip_eap=True, mode=args.mode)
if not command_line_args.skip_profiles:
if not command_line_args.skip_radius:
obj.create_radius_profile(radius_name, rid, key)
obj.create_ssid_profiles(ssid_template=ssid_template, skip_wpa2=command_line_args.skip_wpa2,
skip_wpa=command_line_args.skip_wpa, skip_eap=command_line_args.skip_radius)
print("Create AP with equipment-id: ", equipment_id)
obj.create_ap_bridge_profile(eq_id=equipment_id, fw_model=fw_model)
obj.validate_changes()
print("Create AP with equipment-id: ", equipment_id)
ap_object.create_ap_profile(eq_id=equipment_id, fw_model=fw_model, mode=args.mode)
ap_object.validate_changes(mode=args.mode)
print("Profiles Created")
main()
main()