From 5a95f8ec384483b354fe906289f7e21d65e392ba Mon Sep 17 00:00:00 2001 From: Shivam Thakur <70829776+shivamcandela@users.noreply.github.com> Date: Tue, 26 Oct 2021 16:08:49 +0530 Subject: [PATCH 1/8] Added AP logs during firmware upgrade test cases --- tests/test_connectivity.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/test_connectivity.py b/tests/test_connectivity.py index a9bcc2473..726924c58 100644 --- a/tests/test_connectivity.py +++ b/tests/test_connectivity.py @@ -52,7 +52,7 @@ class TestResources(object): class TestFMS(object): @pytest.mark.get_firmware_list - def test_fms_version_list(self, fixtures_ver, get_configuration): + def test_fms_version_list(self, fixtures_ver, get_configuration, get_ap_logs): PASS = [] for ap in get_configuration['access_point']: # get the latest branch @@ -135,18 +135,18 @@ class TestFMS(object): assert False not in PASS @pytest.mark.firmware_upgrade - def test_firmware_upgrade_request(self, firmware_upgrade): + def test_firmware_upgrade_request(self, firmware_upgrade, get_ap_logs): for update in firmware_upgrade: allure.attach(name='serial: ' + update[0], body="") assert True @pytest.mark.test_firmware_ap - def test_firmware_upgrade_status_AP(self, firmware_upgrade): + def test_firmware_upgrade_status_AP(self, firmware_upgrade, get_ap_logs): allure.attach(name="firmware Upgrade Status:", body="") assert True @pytest.mark.test_firmware_gw - def test_firmware_upgrade_status_gateway(self, get_apnos, get_configuration, setup_controller): + def test_firmware_upgrade_status_gateway(self, get_apnos, get_configuration, setup_controller, get_ap_logs): status = [] for ap in get_configuration['access_point']: ap_ssh = get_apnos(ap, pwd="../libs/apnos/", sdk="2.x") From 97521fbde3df2ad64e0b2d052ce67bb4ca692735 Mon Sep 17 00:00:00 2001 From: Johann Hoffmann Date: Wed, 27 Oct 2021 12:40:38 +0300 Subject: [PATCH 2/8] Add dummy workflow to enable workflow test run from non-default branch Signed-off-by: Johann Hoffmann --- .github/workflows/ow_sanity_docker-compose.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .github/workflows/ow_sanity_docker-compose.yml diff --git a/.github/workflows/ow_sanity_docker-compose.yml b/.github/workflows/ow_sanity_docker-compose.yml new file mode 100644 index 000000000..0a9c06efa --- /dev/null +++ b/.github/workflows/ow_sanity_docker-compose.yml @@ -0,0 +1,11 @@ +name: 2.x sanity testing on Docker Compose deployment + +on: + workflow_dispatch: + +jobs: + test: + runs-on: ubuntu-20.04 + steps: + - name: Run echo + run: echo "This is a dummy workflow." From ff338052fc4fb68ff07bd22eb6fcce4ba46c1c6f Mon Sep 17 00:00:00 2001 From: shivamcandela Date: Thu, 28 Oct 2021 09:43:09 +0530 Subject: [PATCH 3/8] WIFI-5125 : Reduced the frequency of lanforge scenario reset Signed-off-by: shivamcandela --- tests/e2e/basic/conftest.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/tests/e2e/basic/conftest.py b/tests/e2e/basic/conftest.py index 2bb310cd8..369a60b09 100644 --- a/tests/e2e/basic/conftest.py +++ b/tests/e2e/basic/conftest.py @@ -47,10 +47,9 @@ def create_lanforge_chamberview_dut(lf_tools): @pytest.fixture(scope="class") -def setup_profiles(request, setup_controller, testbed, get_equipment_ref, fixtures_ver, +def setup_profiles(request, setup_controller, testbed, get_equipment_ref, fixtures_ver, reset_scenario_lf, instantiate_profile, get_markers, create_lanforge_chamberview_dut, lf_tools, get_security_flags, get_configuration, radius_info, get_apnos, radius_accounting_info): - lf_tools.reset_scenario() param = dict(request.param) # VLAN Setup @@ -84,8 +83,6 @@ def setup_profiles(request, setup_controller, testbed, get_equipment_ref, fixtur yield return_var - - @pytest.fixture(scope="session") def station_names_twog(request, get_configuration): station_names = [] @@ -101,6 +98,7 @@ def station_names_fiveg(request, get_configuration): station_names.append(get_configuration["traffic_generator"]["details"]["5G-Station-Name"] + "0" + str(i)) yield station_names + @pytest.fixture(scope="session") def station_names_ax(request, get_configuration): station_names = [] @@ -108,6 +106,7 @@ def station_names_ax(request, get_configuration): station_names.append(get_configuration["traffic_generator"]["details"]["AX-Station-Name"] + "0" + str(i)) yield station_names + @pytest.fixture(scope="session") def num_stations(request): num_sta = int(request.config.getini("num_stations")) @@ -131,3 +130,14 @@ def get_vlan_list(get_apnos, get_configuration): vlan_list = list(ap_ssh.get_vlan()) vlan_list.sort() yield vlan_list + + +@pytest.fixture(scope="session") +def reset_scenario_lf(request, lf_tools): + lf_tools.reset_scenario() + + def teardown_session(): + lf_tools.reset_scenario() + + request.addfinalizer(teardown_session) + yield "" From a0c47e4726cbfd84389871d8a4fcec47a9368e34 Mon Sep 17 00:00:00 2001 From: shivamcandela Date: Thu, 28 Oct 2021 11:24:28 +0530 Subject: [PATCH 4/8] WIFI-5125 : fixed ubus call ucentral status command failed to parse output due to other serial console message Signed-off-by: shivamcandela --- libs/apnos/apnos.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libs/apnos/apnos.py b/libs/apnos/apnos.py index 0833ba86e..db408655e 100644 --- a/libs/apnos/apnos.py +++ b/libs/apnos/apnos.py @@ -337,8 +337,11 @@ class APNOS: active = output.decode('utf-8').splitlines()[4].split(":")[1].replace(" ", "").replace(",", "") client.close() except Exception as e: - pytest.exit("ubus call ucentral status: error" + output) - print(e) + if output.__contains__('"connected":'): + pass + else: + pytest.exit("ubus call ucentral status: error" + str(output)) + print(e) connected, latest, active = "Error", "Error", "Error" return connected, latest, active From 7e7b80438ee5ee6153ff7ec611021ff26dc4d330 Mon Sep 17 00:00:00 2001 From: shivamcandela Date: Thu, 28 Oct 2021 11:52:52 +0530 Subject: [PATCH 5/8] WIFI-5125 Vlan creation logic is optimised Signed-off-by: shivamcandela --- libs/lanforge/lf_tests.py | 18 +++++++++++++++--- libs/lanforge/lf_tools.py | 16 ++++++++++++---- 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/libs/lanforge/lf_tests.py b/libs/lanforge/lf_tests.py index 766ab0e63..28887bb3e 100644 --- a/libs/lanforge/lf_tests.py +++ b/libs/lanforge/lf_tests.py @@ -763,7 +763,7 @@ if __name__ == '__main__': "influx_tag": ["basic-03", "ec420"], } lanforge_data = { - "ip": "192.168.200.80", + "ip": "192.168.200.10", "port": 8080, "ssh_port": 22, "2.4G-Radio": ["wiphy0"], @@ -777,8 +777,20 @@ if __name__ == '__main__': "AX-Station-Name": "ax" } obj = RunTest(lanforge_data=lanforge_data, debug=False, influx_params=influx_params) - obj.Client_Connect(ssid="ssid_wpa_5g_br", passkey="something", security="wpa", station_name=['sta0000']) - obj.dataplane(station_name=["sta0000"]) + upstream = lanforge_data['upstream'] + data = obj.staConnect.json_get("/port/all") + for i in data["interfaces"]: + if list(i.keys())[0] == "1.1.eth1.10": + print(i) + # print(dict(list(data['interfaces'])).keys()) + # print(obj.staConnect.json_get("/port/" + upstream.split(".")[0] + + # "/" + upstream.split(".")[1] + + # "/" + upstream.split(".")[2] + "/" + "10")) + # print("/port/" + upstream.split(".")[0] + + # "/" + upstream.split(".")[1] + + # "/" + upstream.split(".")[2] + "/" + "100") + # obj.Client_Connect(ssid="ssid_wpa_5g_br", passkey="something", security="wpa", station_name=['sta0000']) + # obj.dataplane(station_name=["sta0000"]) # a = obj.staConnect.json_get("/events/since/") # print(a) # print(obj.eap_connect.json_get("port/1/1/sta0000?fields=ap,ip")) diff --git a/libs/lanforge/lf_tools.py b/libs/lanforge/lf_tools.py index f5d02476f..b23e4c228 100644 --- a/libs/lanforge/lf_tools.py +++ b/libs/lanforge/lf_tools.py @@ -18,7 +18,7 @@ sys.path.append(f"../lanforge/lanforge-scripts/py-scripts/tip-cicd-sanity") sys.path.append(f'../libs') sys.path.append(f'../libs/lanforge/') import allure - +from sta_connect2 import StaConnect2 from create_chamberview import CreateChamberview from create_chamberview_dut import DUT import time @@ -88,6 +88,7 @@ class ChamberView: self.exit_on_error = False self.dut_idx_mapping = {} self.ssid_list = [] + self.staConnect = StaConnect2(self.lanforge_ip, self.lanforge_port, debug_=self.debug) self.raw_line = [ ["profile_link " + self.upstream_resources + " upstream-dhcp 1 NA NA " + self.upstream_port.split(".") [2] + ",AUTO -1 NA"], @@ -148,10 +149,17 @@ class ChamberView: return self.CreateChamberview, self.scenario_name def add_vlan(self, vlan_ids=[]): + data = self.staConnect.json_get("/port/all") + flag = 0 for vlans in vlan_ids: - self.raw_line.append(["profile_link 1.1 " + "vlan-100 1 " + self.upstream_port - + " NA " + self.upstream_port.split(".")[2] + ",AUTO -1 " + str(vlans)]) - self.Chamber_View() + for i in data["interfaces"]: + if list(i.keys())[0] != self.upstream_port + "." + str(vlans): + flag = 1 + if flag == 1: + for vlans in vlan_ids: + self.raw_line.append(["profile_link 1.1 " + "vlan-100 1 " + self.upstream_port + + " NA " + self.upstream_port.split(".")[2] + ",AUTO -1 " + str(vlans)]) + self.Chamber_View() def add_stations(self, band="2G", num_stations="max", dut="NA", ssid_name=[]): idx = 0 From a5a0242dd72d7c522516ac9ce803c014ea7887e7 Mon Sep 17 00:00:00 2001 From: Johann Hoffmann Date: Thu, 28 Oct 2021 14:32:59 +0300 Subject: [PATCH 6/8] Rename workflow file Signed-off-by: Johann Hoffmann --- .../{ow_sanity_docker-compose.yml => ow_sdk_docker-compose.yml} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename .github/workflows/{ow_sanity_docker-compose.yml => ow_sdk_docker-compose.yml} (73%) diff --git a/.github/workflows/ow_sanity_docker-compose.yml b/.github/workflows/ow_sdk_docker-compose.yml similarity index 73% rename from .github/workflows/ow_sanity_docker-compose.yml rename to .github/workflows/ow_sdk_docker-compose.yml index 0a9c06efa..7bfd440a4 100644 --- a/.github/workflows/ow_sanity_docker-compose.yml +++ b/.github/workflows/ow_sdk_docker-compose.yml @@ -1,4 +1,4 @@ -name: 2.x sanity testing on Docker Compose deployment +name: 2.x SDK testing with Docker Compose deployment on: workflow_dispatch: From a81084af179c6c53daf7cedf82c372a4963026d0 Mon Sep 17 00:00:00 2001 From: Johann Hoffmann Date: Thu, 28 Oct 2021 14:45:13 +0300 Subject: [PATCH 7/8] Delete dummy workflow file to get rid of reference Signed-off-by: Johann Hoffmann --- .github/workflows/ow_sdk_docker-compose.yml | 11 ----------- 1 file changed, 11 deletions(-) delete mode 100644 .github/workflows/ow_sdk_docker-compose.yml diff --git a/.github/workflows/ow_sdk_docker-compose.yml b/.github/workflows/ow_sdk_docker-compose.yml deleted file mode 100644 index 7bfd440a4..000000000 --- a/.github/workflows/ow_sdk_docker-compose.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: 2.x SDK testing with Docker Compose deployment - -on: - workflow_dispatch: - -jobs: - test: - runs-on: ubuntu-20.04 - steps: - - name: Run echo - run: echo "This is a dummy workflow." From 2f3454c55bffb3b803dc6e19b7b1556b8edc2500 Mon Sep 17 00:00:00 2001 From: Johann Hoffmann Date: Thu, 28 Oct 2021 14:45:48 +0300 Subject: [PATCH 8/8] Re-add dummy workflow Signed-off-by: Johann Hoffmann --- .github/workflows/ow_sdk_docker-compose.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .github/workflows/ow_sdk_docker-compose.yml diff --git a/.github/workflows/ow_sdk_docker-compose.yml b/.github/workflows/ow_sdk_docker-compose.yml new file mode 100644 index 000000000..7bfd440a4 --- /dev/null +++ b/.github/workflows/ow_sdk_docker-compose.yml @@ -0,0 +1,11 @@ +name: 2.x SDK testing with Docker Compose deployment + +on: + workflow_dispatch: + +jobs: + test: + runs-on: ubuntu-20.04 + steps: + - name: Run echo + run: echo "This is a dummy workflow."