X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Flibraries%2Fpython%2FTestConfig.py;h=eb093a465119a0b2842abda2cf91de35bbf96430;hb=HEAD;hp=28c740e42e88c7498c7e5aceeb28ff222abc33a6;hpb=a0364d85d9f9b28917168a0dde9c67ca5af4a6f8;p=csit.git diff --git a/resources/libraries/python/TestConfig.py b/resources/libraries/python/TestConfig.py index 28c740e42e..eb093a4651 100644 --- a/resources/libraries/python/TestConfig.py +++ b/resources/libraries/python/TestConfig.py @@ -1,4 +1,4 @@ -# Copyright (c) 2021 Cisco and/or its affiliates. +# Copyright (c) 2023 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -23,7 +23,6 @@ from resources.libraries.python.IPAddress import IPAddress from resources.libraries.python.IPUtil import IPUtil from resources.libraries.python.PapiExecutor import PapiSocketExecutor from resources.libraries.python.topology import Topology -from resources.libraries.python.VatExecutor import VatExecutor class TestConfig: @@ -117,38 +116,6 @@ class TestConfig: src_ip_start = ip_address(src_ip_start) dst_ip_start = ip_address(dst_ip_start) - if vxlan_count > 10: - commands = list() - for i in range(0, vxlan_count): - try: - src_ip = src_ip_start + i * ip_step - dst_ip = dst_ip_start + i * ip_step - except AddressValueError: - logger.warn( - u"Can't do more iterations - IP address limit " - u"has been reached." - ) - vxlan_count = i - break - commands.append( - f"sw_interface_add_del_address sw_if_index " - f"{Topology.get_interface_sw_index(node, node_vxlan_if)} " - f"{src_ip}/{128 if src_ip.version == 6 else 32}\n" - ) - commands.append( - f"vxlan_add_del_tunnel src {src_ip} dst {dst_ip} " - f"vni {vni_start + i}\n" - ) - commands.append( - f"create_vlan_subif sw_if_index " - f"{Topology.get_interface_sw_index(node, node_vlan_if)} " - f"vlan {i + 1}\n" - ) - VatExecutor().write_and_execute_script( - node, u"/tmp/create_vxlan_interfaces.config", commands - ) - return vxlan_count - cmd1 = u"sw_interface_add_del_address" args1 = dict( sw_if_index=InterfaceUtil.get_interface_index(node, node_vxlan_if), @@ -174,7 +141,7 @@ class TestConfig: vlan_id=None ) - with PapiSocketExecutor(node) as papi_exec: + with PapiSocketExecutor(node, is_async=True) as papi_exec: for i in range(0, vxlan_count): try: src_ip = src_ip_start + i * ip_step @@ -198,9 +165,9 @@ class TestConfig: args2[u"vni"] = int(vni_start) + i args3[u"vlan_id"] = i + 1 history = bool(not 1 < i < vxlan_count - 1) - papi_exec.add(cmd1, history=history, **args1).\ - add(cmd2, history=history, **args2).\ - add(cmd3, history=history, **args3) + papi_exec.add(cmd1, history=history, **args1) + papi_exec.add(cmd2, history=history, **args2) + papi_exec.add(cmd3, history=history, **args3) papi_exec.get_replies() return vxlan_count @@ -220,50 +187,6 @@ class TestConfig: :type node_vlan_if: str """ if_data = InterfaceUtil.vpp_get_interface_data(node) - if vxlan_count > 10: - commands = list() - for i in range(0, vxlan_count): - vxlan_subif_key = Topology.add_new_port(node, u"vxlan_tunnel") - vxlan_subif_name = f"vxlan_tunnel{i}" - founds = dict(vxlan=False, vlan=False) - vxlan_subif_idx = None - vlan_subif_key = Topology.add_new_port(node, u"vlan_subif") - vlan_subif_name = \ - f"{Topology.get_interface_name(node, node_vlan_if)}.{i + 1}" - vlan_idx = None - for data in if_data: - if_name = data[u"interface_name"] - if not founds[u"vxlan"] and if_name == vxlan_subif_name: - vxlan_subif_idx = data[u"sw_if_index"] - founds[u"vxlan"] = True - elif not founds[u"vlan"] and if_name == vlan_subif_name: - vlan_idx = data[u"sw_if_index"] - founds[u"vlan"] = True - if founds[u"vxlan"] and founds[u"vlan"]: - break - Topology.update_interface_sw_if_index( - node, vxlan_subif_key, vxlan_subif_idx) - Topology.update_interface_name( - node, vxlan_subif_key, vxlan_subif_name) - commands.append( - f"sw_interface_set_flags sw_if_index {vxlan_subif_idx} " - f"admin-up link-up\n" - ) - Topology.update_interface_sw_if_index( - node, vlan_subif_key, vlan_idx - ) - Topology.update_interface_name( - node, vlan_subif_key, vlan_subif_name - ) - commands.append( - f"sw_interface_set_flags sw_if_index {vlan_idx} admin-up " - f"link-up\n" - ) - VatExecutor().write_and_execute_script( - node, u"/tmp/put_subinterfaces_up.config", commands - ) - return - cmd = u"sw_interface_set_flags" args1 = dict( sw_if_index=None, @@ -274,7 +197,7 @@ class TestConfig: flags=InterfaceStatusFlags.IF_STATUS_API_FLAG_ADMIN_UP.value ) - with PapiSocketExecutor(node) as papi_exec: + with PapiSocketExecutor(node, is_async=True) as papi_exec: for i in range(0, vxlan_count): vxlan_subif_key = Topology.add_new_port(node, u"vxlan_tunnel") vxlan_subif_name = f"vxlan_tunnel{i}" @@ -310,9 +233,8 @@ class TestConfig: ) args2[u"sw_if_index"] = vlan_idx history = bool(not 1 < i < vxlan_count - 1) - papi_exec.add(cmd, history=history, **args1). \ - add(cmd, history=history, **args2) - papi_exec.add(cmd, **args1).add(cmd, **args2) + papi_exec.add(cmd, history=history, **args1) + papi_exec.add(cmd, history=history, **args2) papi_exec.get_replies() @staticmethod @@ -344,43 +266,6 @@ class TestConfig: """ dst_ip_start = ip_address(dst_ip_start) - if vxlan_count > 1: - idx_vxlan_if = Topology.get_interface_sw_index(node, node_vxlan_if) - commands = list() - for i in range(0, vxlan_count): - dst_ip = dst_ip_start + i * ip_step - commands.append( - f"exec ip neighbor " - f"{Topology.get_interface_name(node, node_vxlan_if)} " - f"{dst_ip} " - f"{Topology.get_interface_mac(op_node, op_node_if)} static " - f"\n" - ) - commands.append( - f"ip_route_add_del " - f"{dst_ip}/{128 if dst_ip.version == 6 else 32} count 1 " - f"via {dst_ip} sw_if_index {idx_vxlan_if}\n" - ) - sw_idx_vxlan = Topology.get_interface_sw_index( - node, f"vxlan_tunnel{i + 1}" - ) - commands.append( - f"sw_interface_set_l2_bridge sw_if_index {sw_idx_vxlan} " - f"bd_id {bd_id_start + i} shg 0 enable\n" - ) - sw_idx_vlan = Topology.get_interface_sw_index( - node, f"vlan_subif{i + 1}" - ) - commands.append( - f"sw_interface_set_l2_bridge sw_if_index {sw_idx_vlan} " - f"bd_id {bd_id_start + i} shg 0 enable\n" - ) - VatExecutor().write_and_execute_script( - node, u"/tmp/configure_routes_and_bridge_domains.config", - commands - ) - return - cmd1 = u"ip_neighbor_add_del" neighbor = dict( sw_if_index=Topology.get_interface_sw_index(node, node_vxlan_if), @@ -422,7 +307,7 @@ class TestConfig: enable=1 ) - with PapiSocketExecutor(node) as papi_exec: + with PapiSocketExecutor(node, is_async=True) as papi_exec: for i in range(0, vxlan_count): args1[u"neighbor"][u"ip_address"] = \ str(dst_ip_start + i * ip_step) @@ -439,8 +324,9 @@ class TestConfig: ) args4[u"bd_id"] = int(bd_id_start+i) history = bool(not 1 < i < vxlan_count - 1) - papi_exec.add(cmd1, history=history, **args1). \ - add(cmd2, history=history, **args2). \ - add(cmd3, history=history, **args3). \ - add(cmd3, history=history, **args4) + papi_exec.add(cmd1, history=history, **args1) + papi_exec.add(cmd2, history=history, **args2) + papi_exec.add(cmd3, history=history, **args3) + # Yes, args4 go with cmd3, there is no cmd4. + papi_exec.add(cmd3, history=history, **args4) papi_exec.get_replies()