mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-07-24 16:33:40 +00:00
tests: Refactoring FRR test suites
Signed-off-by: y-bharath14 <y.bharath@samsung.com>
This commit is contained in:
parent
659741f3fa
commit
5b06a17715
@ -38,7 +38,6 @@ from lib.common_config import (
|
||||
required_linux_kernel_version,
|
||||
)
|
||||
|
||||
from lib.topolog import logger
|
||||
import json
|
||||
|
||||
fatal_error = ""
|
||||
@ -153,7 +152,6 @@ def test_error_messages_vtysh():
|
||||
print("\n\n** Check for error messages on VTYSH")
|
||||
print("******************************************\n")
|
||||
|
||||
failures = 0
|
||||
for i in range(1, 2):
|
||||
#
|
||||
# First checking Standard Output
|
||||
|
@ -15,7 +15,6 @@ test_babel_topo1.py: Testing BABEL
|
||||
"""
|
||||
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
import pytest
|
||||
import json
|
||||
@ -130,7 +129,6 @@ def test_zebra_ipv4_routingTable():
|
||||
if tgen.routers_have_failure():
|
||||
pytest.skip(tgen.errors)
|
||||
|
||||
failures = 0
|
||||
router_list = tgen.routers().values()
|
||||
for router in router_list:
|
||||
assertmsg = "Zebra IPv4 Routing Table verification failed for router {}".format(
|
||||
|
@ -59,7 +59,6 @@ import os
|
||||
import sys
|
||||
import pytest
|
||||
import json
|
||||
from time import sleep
|
||||
from functools import partial
|
||||
|
||||
# Save the Current Working Directory to find configuration files.
|
||||
|
@ -12,7 +12,6 @@ Test the FRR BGP 6VPE functionality
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
import functools
|
||||
from functools import partial
|
||||
import pytest
|
||||
|
||||
|
@ -20,7 +20,7 @@ sys.path.append(os.path.join(CWD, "../"))
|
||||
|
||||
# pylint: disable=C0413
|
||||
from lib import topotest
|
||||
from lib.topogen import Topogen, TopoRouter, get_topogen
|
||||
from lib.topogen import Topogen, get_topogen
|
||||
|
||||
pytestmark = [pytest.mark.bgpd]
|
||||
|
||||
|
@ -29,7 +29,6 @@ sys.path.append(os.path.join(CWD, "../"))
|
||||
# pylint: disable=C0413
|
||||
from lib import topotest
|
||||
from lib.topogen import Topogen, TopoRouter, get_topogen
|
||||
from lib.common_config import step
|
||||
|
||||
pytestmark = [pytest.mark.bgpd]
|
||||
|
||||
|
@ -28,7 +28,6 @@ Following tests are covered to test bgp allowas-in functionality:
|
||||
import os
|
||||
import sys
|
||||
import time
|
||||
import json
|
||||
import pytest
|
||||
|
||||
# Save the Current Working Directory to find configuration files.
|
||||
@ -59,7 +58,7 @@ from lib.bgp import (
|
||||
create_router_bgp,
|
||||
verify_bgp_rib,
|
||||
)
|
||||
from lib.topojson import build_topo_from_json, build_config_from_json
|
||||
from lib.topojson import build_config_from_json
|
||||
|
||||
pytestmark = [pytest.mark.bgpd, pytest.mark.staticd]
|
||||
|
||||
|
@ -34,16 +34,9 @@ for bgp instances
|
||||
|
||||
import json
|
||||
import os
|
||||
import platform
|
||||
import sys
|
||||
from time import sleep
|
||||
|
||||
from lib import common_config, topotest
|
||||
from lib.common_config import (
|
||||
save_initial_config_on_routers,
|
||||
reset_with_new_configs,
|
||||
)
|
||||
from lib.topogen import Topogen, TopoRouter, get_topogen
|
||||
from lib import common_config
|
||||
from lib.topogen import get_topogen
|
||||
|
||||
CWD = os.path.dirname(os.path.realpath(__file__))
|
||||
|
||||
|
@ -32,14 +32,12 @@ for bgp instances
|
||||
"""
|
||||
# pylint: disable=C0413
|
||||
|
||||
import json
|
||||
import os
|
||||
import platform
|
||||
import sys
|
||||
from time import sleep
|
||||
|
||||
import pytest
|
||||
from lib import common_config, topotest
|
||||
from lib import topotest
|
||||
from lib.common_config import (
|
||||
save_initial_config_on_routers,
|
||||
reset_with_new_configs,
|
||||
|
@ -32,14 +32,12 @@ for bgp instances
|
||||
"""
|
||||
# pylint: disable=C0413
|
||||
|
||||
import json
|
||||
import os
|
||||
import platform
|
||||
import sys
|
||||
from time import sleep
|
||||
|
||||
import pytest
|
||||
from lib import common_config, topotest
|
||||
from lib import topotest
|
||||
from lib.common_config import (
|
||||
save_initial_config_on_routers,
|
||||
reset_with_new_configs,
|
||||
|
@ -32,14 +32,12 @@ for bgp instances
|
||||
"""
|
||||
# pylint: disable=C0413
|
||||
|
||||
import json
|
||||
import os
|
||||
import platform
|
||||
import sys
|
||||
from time import sleep
|
||||
|
||||
import pytest
|
||||
from lib import common_config, topotest
|
||||
from lib import topotest
|
||||
from lib.common_config import (
|
||||
save_initial_config_on_routers,
|
||||
reset_with_new_configs,
|
||||
|
@ -32,14 +32,12 @@ for bgp instances
|
||||
"""
|
||||
# pylint: disable=C0413
|
||||
|
||||
import json
|
||||
import os
|
||||
import platform
|
||||
import sys
|
||||
from time import sleep
|
||||
|
||||
import pytest
|
||||
from lib import common_config, topotest
|
||||
from lib import topotest
|
||||
from lib.common_config import (
|
||||
save_initial_config_on_routers,
|
||||
reset_with_new_configs,
|
||||
|
@ -26,7 +26,6 @@ from functools import partial
|
||||
from ipaddress import ip_network
|
||||
import json
|
||||
import os
|
||||
import platform
|
||||
import pytest
|
||||
import sys
|
||||
|
||||
|
@ -16,7 +16,6 @@ import os
|
||||
import sys
|
||||
import json
|
||||
import functools
|
||||
from functools import partial
|
||||
import pytest
|
||||
|
||||
# Save the Current Working Directory to find configuration files.
|
||||
|
@ -171,7 +171,6 @@ def test_bgp_no_export_local_as_communities_p0(request):
|
||||
)
|
||||
|
||||
for comm_type in ["no-export", "local-AS"]:
|
||||
|
||||
step("Create a route-map on R1 to set community as {}".format(comm_type))
|
||||
|
||||
seq_id = 10
|
||||
|
@ -11,7 +11,6 @@ if we modify the prefix-lists.
|
||||
"""
|
||||
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
import json
|
||||
import pytest
|
||||
@ -24,7 +23,7 @@ sys.path.append(os.path.join(CWD, "../"))
|
||||
|
||||
# pylint: disable=C0413
|
||||
from lib import topotest
|
||||
from lib.topogen import Topogen, TopoRouter, get_topogen
|
||||
from lib.topogen import Topogen, get_topogen
|
||||
from lib.common_config import step
|
||||
|
||||
|
||||
|
@ -6,7 +6,6 @@
|
||||
#
|
||||
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
import json
|
||||
import pytest
|
||||
|
@ -17,7 +17,6 @@ import sys
|
||||
import time
|
||||
import pytest
|
||||
import datetime
|
||||
from copy import deepcopy
|
||||
from lib.topolog import logger
|
||||
from time import sleep
|
||||
|
||||
@ -214,7 +213,6 @@ def get_rib_route_uptime(tgen, addr_type, dut, input_dict):
|
||||
|
||||
logger.info("Entering lib API: get_rib_route_uptime()")
|
||||
route_time = []
|
||||
out_route_dict = {}
|
||||
router_list = tgen.routers()
|
||||
for routerInput in input_dict.keys():
|
||||
for router, rnode in router_list.items():
|
||||
@ -234,7 +232,6 @@ def get_rib_route_uptime(tgen, addr_type, dut, input_dict):
|
||||
|
||||
for static_route in static_routes:
|
||||
if "vrf" in static_route and static_route["vrf"] is not None:
|
||||
|
||||
logger.info(
|
||||
"[DUT: {}]: Verifying routes for VRF:"
|
||||
" {}".format(router, static_route["vrf"])
|
||||
@ -307,7 +304,6 @@ def get_best_path_route_in_FIB(tgen, topo, dut, network):
|
||||
on failure : return error message with boolean False
|
||||
"""
|
||||
is_ipv4_best_path_found = False
|
||||
is_ipv6_best_path_found = False
|
||||
rnode = tgen.routers()[dut]
|
||||
ipv4_show_bgp_json = run_frr_cmd(rnode, "sh ip bgp json ", isjson=True)
|
||||
ipv6_show_bgp_json = run_frr_cmd(
|
||||
@ -1575,7 +1571,7 @@ def test_verify_default_originate_with_2way_ecmp_p2(request):
|
||||
ipv_dict = get_best_path_route_in_FIB(tgen, topo, dut="r2", network=network)
|
||||
dut_links = topo["routers"]["r1"]["links"]
|
||||
active_interface = None
|
||||
for key, values in dut_links.items():
|
||||
for key, _ in dut_links.items():
|
||||
ipv4_address = dut_links[key]["ipv4"].split("/")[0]
|
||||
ipv6_address = dut_links[key]["ipv6"].split("/")[0]
|
||||
if ipv_dict["ipv4"] == ipv4_address and ipv_dict["ipv6"] == ipv6_address:
|
||||
|
@ -18,8 +18,6 @@ import os
|
||||
import sys
|
||||
import time
|
||||
import pytest
|
||||
from time import sleep
|
||||
from copy import deepcopy
|
||||
from lib.topolog import logger
|
||||
|
||||
# pylint: disable=C0413
|
||||
@ -30,32 +28,18 @@ from lib.topolog import logger
|
||||
|
||||
from lib.bgp import (
|
||||
verify_bgp_convergence,
|
||||
verify_graceful_restart,
|
||||
create_router_bgp,
|
||||
verify_router_id,
|
||||
modify_as_number,
|
||||
verify_as_numbers,
|
||||
clear_bgp_and_verify,
|
||||
clear_bgp,
|
||||
verify_bgp_rib,
|
||||
get_prefix_count_route,
|
||||
get_dut_as_number,
|
||||
verify_rib_default_route,
|
||||
verify_fib_default_route,
|
||||
verify_bgp_advertised_routes_from_neighbor,
|
||||
verify_bgp_received_routes_from_neighbor,
|
||||
)
|
||||
from lib.common_config import (
|
||||
interface_status,
|
||||
verify_prefix_lists,
|
||||
verify_fib_routes,
|
||||
kill_router_daemons,
|
||||
start_router_daemons,
|
||||
shutdown_bringup_interface,
|
||||
step,
|
||||
required_linux_kernel_version,
|
||||
stop_router,
|
||||
start_router,
|
||||
create_route_maps,
|
||||
create_prefix_lists,
|
||||
get_frr_ipv6_linklocal,
|
||||
|
@ -17,8 +17,6 @@ import os
|
||||
import sys
|
||||
import time
|
||||
import pytest
|
||||
from time import sleep
|
||||
from copy import deepcopy
|
||||
from lib.topolog import logger
|
||||
|
||||
# pylint: disable=C0413
|
||||
@ -31,13 +29,8 @@ from lib.bgp import (
|
||||
verify_bgp_convergence,
|
||||
verify_graceful_restart,
|
||||
create_router_bgp,
|
||||
verify_router_id,
|
||||
modify_as_number,
|
||||
verify_as_numbers,
|
||||
clear_bgp_and_verify,
|
||||
clear_bgp,
|
||||
verify_bgp_rib,
|
||||
get_prefix_count_route,
|
||||
get_dut_as_number,
|
||||
verify_rib_default_route,
|
||||
verify_fib_default_route,
|
||||
@ -45,16 +38,12 @@ from lib.bgp import (
|
||||
verify_bgp_received_routes_from_neighbor,
|
||||
)
|
||||
from lib.common_config import (
|
||||
interface_status,
|
||||
verify_prefix_lists,
|
||||
verify_fib_routes,
|
||||
kill_router_daemons,
|
||||
start_router_daemons,
|
||||
shutdown_bringup_interface,
|
||||
step,
|
||||
required_linux_kernel_version,
|
||||
stop_router,
|
||||
start_router,
|
||||
create_route_maps,
|
||||
create_prefix_lists,
|
||||
get_frr_ipv6_linklocal,
|
||||
@ -65,7 +54,6 @@ from lib.common_config import (
|
||||
reset_config_on_routers,
|
||||
create_static_routes,
|
||||
check_router_status,
|
||||
delete_route_maps,
|
||||
)
|
||||
|
||||
|
||||
|
@ -10,8 +10,6 @@ import os
|
||||
import sys
|
||||
import time
|
||||
import pytest
|
||||
from time import sleep
|
||||
from copy import deepcopy
|
||||
from lib.topolog import logger
|
||||
|
||||
# pylint: disable=C0413
|
||||
@ -22,32 +20,17 @@ from lib.topolog import logger
|
||||
|
||||
from lib.bgp import (
|
||||
verify_bgp_convergence,
|
||||
verify_graceful_restart,
|
||||
create_router_bgp,
|
||||
verify_router_id,
|
||||
modify_as_number,
|
||||
verify_as_numbers,
|
||||
clear_bgp_and_verify,
|
||||
clear_bgp,
|
||||
verify_bgp_rib,
|
||||
get_prefix_count_route,
|
||||
get_dut_as_number,
|
||||
verify_rib_default_route,
|
||||
verify_fib_default_route,
|
||||
verify_bgp_advertised_routes_from_neighbor,
|
||||
verify_bgp_received_routes_from_neighbor,
|
||||
)
|
||||
from lib.common_config import (
|
||||
interface_status,
|
||||
verify_prefix_lists,
|
||||
verify_rib,
|
||||
kill_router_daemons,
|
||||
start_router_daemons,
|
||||
shutdown_bringup_interface,
|
||||
step,
|
||||
required_linux_kernel_version,
|
||||
stop_router,
|
||||
start_router,
|
||||
create_route_maps,
|
||||
create_prefix_lists,
|
||||
get_frr_ipv6_linklocal,
|
||||
@ -58,7 +41,6 @@ from lib.common_config import (
|
||||
reset_config_on_routers,
|
||||
create_static_routes,
|
||||
check_router_status,
|
||||
delete_route_maps,
|
||||
)
|
||||
|
||||
pytestmark = [pytest.mark.bgpd, pytest.mark.staticd]
|
||||
|
@ -19,7 +19,6 @@ import os
|
||||
import sys
|
||||
import time
|
||||
import pytest
|
||||
from copy import deepcopy
|
||||
from lib.topolog import logger
|
||||
|
||||
# pylint: disable=C0413
|
||||
|
@ -215,7 +215,6 @@ def test_bgp_admin_distance_ebgp_ecmp_p0():
|
||||
step("Configure static route in R4 and R5, redistribute in bgp")
|
||||
|
||||
for addr_type in ADDR_TYPES:
|
||||
|
||||
input_dict = {
|
||||
"r4": {
|
||||
"static_routes": [{"network": NETWORK[addr_type], "next_hop": "Null0"}]
|
||||
@ -228,7 +227,6 @@ def test_bgp_admin_distance_ebgp_ecmp_p0():
|
||||
)
|
||||
|
||||
for addr_type in ADDR_TYPES:
|
||||
|
||||
input_dict = {
|
||||
"r5": {
|
||||
"static_routes": [{"network": NETWORK[addr_type], "next_hop": "Null0"}]
|
||||
@ -268,7 +266,6 @@ def test_bgp_admin_distance_ebgp_ecmp_p0():
|
||||
step("Configure the static route in R3 (Dut).")
|
||||
|
||||
for addr_type in ADDR_TYPES:
|
||||
|
||||
input_dict = {
|
||||
"r3": {
|
||||
"static_routes": [
|
||||
@ -305,7 +302,6 @@ def test_bgp_admin_distance_ebgp_ecmp_p0():
|
||||
step(" Configure the admin distance of 254 to static route in R3.")
|
||||
|
||||
for addr_type in ADDR_TYPES:
|
||||
|
||||
input_dict = {
|
||||
"r3": {
|
||||
"static_routes": [
|
||||
@ -571,7 +567,6 @@ def test_bgp_admin_distance_ebgp_ecmp_p0():
|
||||
step("Reconfigure the static route without admin distance")
|
||||
|
||||
for addr_type in ADDR_TYPES:
|
||||
|
||||
input_dict = {
|
||||
"r3": {
|
||||
"static_routes": [
|
||||
@ -993,7 +988,6 @@ def test_bgp_admin_distance_ibgp_p0():
|
||||
step("Configure static route Without any admin distance")
|
||||
|
||||
for addr_type in ADDR_TYPES:
|
||||
|
||||
input_dict = {
|
||||
"r3": {
|
||||
"static_routes": [{"network": NETWORK[addr_type], "next_hop": "Null0"}]
|
||||
@ -1009,7 +1003,6 @@ def test_bgp_admin_distance_ibgp_p0():
|
||||
protocol = "static"
|
||||
|
||||
for addr_type in ADDR_TYPES:
|
||||
|
||||
input_dict = {
|
||||
"r3": {
|
||||
"static_routes": [{"network": NETWORK[addr_type], "next_hop": "Null0"}]
|
||||
@ -1023,7 +1016,6 @@ def test_bgp_admin_distance_ibgp_p0():
|
||||
|
||||
step("Configure static route with admin distance of 253")
|
||||
for addr_type in ADDR_TYPES:
|
||||
|
||||
input_dict = {
|
||||
"r3": {
|
||||
"static_routes": [
|
||||
@ -1086,7 +1078,6 @@ def test_bgp_admin_distance_ibgp_p0():
|
||||
|
||||
step("Delete the static route.")
|
||||
for addr_type in ADDR_TYPES:
|
||||
|
||||
input_dict = {
|
||||
"r3": {
|
||||
"static_routes": [
|
||||
|
@ -14,7 +14,6 @@ T4: Disable Addpath capability and check if it's exchanged dynamically
|
||||
"""
|
||||
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
import json
|
||||
import pytest
|
||||
@ -27,7 +26,7 @@ sys.path.append(os.path.join(CWD, "../"))
|
||||
|
||||
# pylint: disable=C0413
|
||||
from lib import topotest
|
||||
from lib.topogen import Topogen, TopoRouter, get_topogen
|
||||
from lib.topogen import Topogen, get_topogen
|
||||
|
||||
|
||||
def setup_module(mod):
|
||||
|
@ -10,7 +10,6 @@ Test if fqdn capability is exchanged dynamically.
|
||||
"""
|
||||
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
import json
|
||||
import pytest
|
||||
@ -23,7 +22,7 @@ sys.path.append(os.path.join(CWD, "../"))
|
||||
|
||||
# pylint: disable=C0413
|
||||
from lib import topotest
|
||||
from lib.topogen import Topogen, TopoRouter, get_topogen
|
||||
from lib.topogen import Topogen, get_topogen
|
||||
from lib.common_config import step
|
||||
|
||||
|
||||
|
@ -12,7 +12,6 @@ via BGP dynamic capability.
|
||||
"""
|
||||
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
import json
|
||||
import pytest
|
||||
@ -25,7 +24,7 @@ sys.path.append(os.path.join(CWD, "../"))
|
||||
|
||||
# pylint: disable=C0413
|
||||
from lib import topotest
|
||||
from lib.topogen import Topogen, TopoRouter, get_topogen
|
||||
from lib.topogen import Topogen, get_topogen
|
||||
from lib.common_config import step
|
||||
|
||||
|
||||
|
@ -10,7 +10,6 @@ Test if ORF capability is adjusted dynamically.
|
||||
"""
|
||||
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
import json
|
||||
import pytest
|
||||
@ -23,7 +22,7 @@ sys.path.append(os.path.join(CWD, "../"))
|
||||
|
||||
# pylint: disable=C0413
|
||||
from lib import topotest
|
||||
from lib.topogen import Topogen, TopoRouter, get_topogen
|
||||
from lib.topogen import Topogen, get_topogen
|
||||
from lib.common_config import step
|
||||
|
||||
|
||||
|
@ -10,7 +10,6 @@ Test if role capability is exchanged dynamically.
|
||||
"""
|
||||
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
import json
|
||||
import pytest
|
||||
@ -23,7 +22,7 @@ sys.path.append(os.path.join(CWD, "../"))
|
||||
|
||||
# pylint: disable=C0413
|
||||
from lib import topotest
|
||||
from lib.topogen import Topogen, TopoRouter, get_topogen
|
||||
from lib.topogen import Topogen, get_topogen
|
||||
from lib.common_config import step
|
||||
|
||||
|
||||
|
@ -23,7 +23,7 @@ sys.path.append(os.path.join(CWD, "../"))
|
||||
|
||||
# pylint: disable=C0413
|
||||
from lib import topotest
|
||||
from lib.topogen import Topogen, TopoRouter, get_topogen
|
||||
from lib.topogen import Topogen, get_topogen
|
||||
from lib.common_config import step
|
||||
|
||||
|
||||
|
@ -106,7 +106,7 @@ def setup_module(mod):
|
||||
# Api call verify whether BGP is converged
|
||||
ADDR_TYPES = check_address_types()
|
||||
|
||||
for addr_type in ADDR_TYPES:
|
||||
for _ in ADDR_TYPES:
|
||||
BGP_CONVERGENCE = verify_bgp_convergence(tgen, topo)
|
||||
assert BGP_CONVERGENCE is True, "setup_module :Failed \n Error:" " {}".format(
|
||||
BGP_CONVERGENCE
|
||||
@ -153,7 +153,6 @@ def teardown_module():
|
||||
|
||||
|
||||
def static_or_nw(tgen, topo, tc_name, test_type, dut):
|
||||
|
||||
if test_type == "redist_static":
|
||||
input_dict_static = {
|
||||
dut: {
|
||||
@ -363,7 +362,6 @@ def test_ecmp_remove_redistribute_static(request):
|
||||
reset_config_on_routers(tgen)
|
||||
static_or_nw(tgen, topo, tc_name, "redist_static", "r2")
|
||||
for addr_type in ADDR_TYPES:
|
||||
|
||||
# Verifying RIB routes
|
||||
dut = "r3"
|
||||
protocol = "bgp"
|
||||
@ -406,7 +404,6 @@ def test_ecmp_remove_redistribute_static(request):
|
||||
assert result is True, "Testcase {} : Failed \n Error: {}".format(tc_name, result)
|
||||
|
||||
for addr_type in ADDR_TYPES:
|
||||
|
||||
# Verifying RIB routes
|
||||
dut = "r3"
|
||||
protocol = "bgp"
|
||||
|
@ -6,7 +6,6 @@
|
||||
#
|
||||
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
import json
|
||||
import pytest
|
||||
@ -17,7 +16,7 @@ sys.path.append(os.path.join(CWD, "../"))
|
||||
|
||||
# pylint: disable=C0413
|
||||
from lib import topotest
|
||||
from lib.topogen import Topogen, TopoRouter, get_topogen
|
||||
from lib.topogen import Topogen, get_topogen
|
||||
|
||||
pytestmark = [pytest.mark.bgpd]
|
||||
|
||||
|
@ -455,7 +455,7 @@ def check_remote_es(esi, vtep_ips, dut_name, down_vteps):
|
||||
else:
|
||||
tor_ips_rack = tor_ips_rack_1
|
||||
|
||||
for tor_name, tor_ip in tor_ips_rack.items():
|
||||
for _, tor_ip in tor_ips_rack.items():
|
||||
remote_ips.append(tor_ip)
|
||||
|
||||
# remove down VTEPs from the remote check list
|
||||
|
@ -241,7 +241,7 @@ def evpn_gateway_ip_show_op_check(trigger=" "):
|
||||
expected_op = json.loads(open(expected_op_file).read())
|
||||
|
||||
test_func = partial(topotest.router_json_cmp, pe, command, expected_op)
|
||||
ret, result = topotest.run_and_expect(test_func, None, count=30, wait=1)
|
||||
_, result = topotest.run_and_expect(test_func, None, count=30, wait=1)
|
||||
assertmsg = '"{0}" JSON output mismatch for {1}'.format(name, command)
|
||||
if result is not None:
|
||||
return result, assertmsg
|
||||
|
@ -10,7 +10,6 @@ Test if route-map match by EVPN route-type works.
|
||||
"""
|
||||
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
import json
|
||||
import pytest
|
||||
@ -23,8 +22,7 @@ sys.path.append(os.path.join(CWD, "../"))
|
||||
|
||||
# pylint: disable=C0413
|
||||
from lib import topotest
|
||||
from lib.topogen import Topogen, TopoRouter, get_topogen
|
||||
from lib.common_config import step
|
||||
from lib.topogen import Topogen, get_topogen
|
||||
|
||||
|
||||
def setup_module(mod):
|
||||
|
@ -25,7 +25,6 @@ sys.path.append(os.path.join(CWD, "../"))
|
||||
|
||||
# pylint: disable=C0413
|
||||
from lib.topogen import Topogen, TopoRouter, get_topogen
|
||||
from lib.topolog import logger
|
||||
from lib import topotest
|
||||
|
||||
|
||||
|
@ -6,7 +6,6 @@
|
||||
#
|
||||
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
import json
|
||||
import pytest
|
||||
@ -17,7 +16,7 @@ sys.path.append(os.path.join(CWD, "../"))
|
||||
|
||||
# pylint: disable=C0413
|
||||
from lib import topotest
|
||||
from lib.topogen import Topogen, TopoRouter, get_topogen
|
||||
from lib.topogen import Topogen, get_topogen
|
||||
|
||||
pytestmark = [pytest.mark.bgpd]
|
||||
|
||||
|
@ -18,7 +18,6 @@ import functools
|
||||
import os
|
||||
import sys
|
||||
import pytest
|
||||
import re
|
||||
import time
|
||||
|
||||
# Save the Current Working Directory to find configuration files.
|
||||
|
@ -102,7 +102,6 @@ from lib.bgp import (
|
||||
verify_graceful_restart,
|
||||
create_router_bgp,
|
||||
verify_r_bit,
|
||||
verify_f_bit,
|
||||
verify_bgp_convergence,
|
||||
verify_bgp_convergence_from_running_config,
|
||||
)
|
||||
|
@ -117,8 +117,6 @@ from lib.common_config import (
|
||||
check_address_types,
|
||||
write_test_footer,
|
||||
check_router_status,
|
||||
shutdown_bringup_interface,
|
||||
step,
|
||||
get_frr_ipv6_linklocal,
|
||||
required_linux_kernel_version,
|
||||
)
|
||||
|
@ -117,7 +117,6 @@ from lib.common_config import (
|
||||
check_address_types,
|
||||
write_test_footer,
|
||||
check_router_status,
|
||||
shutdown_bringup_interface,
|
||||
step,
|
||||
get_frr_ipv6_linklocal,
|
||||
required_linux_kernel_version,
|
||||
|
@ -104,8 +104,6 @@ from lib.bgp import (
|
||||
verify_bgp_rib,
|
||||
verify_graceful_restart,
|
||||
create_router_bgp,
|
||||
verify_r_bit,
|
||||
verify_f_bit,
|
||||
verify_bgp_convergence,
|
||||
verify_bgp_convergence_from_running_config,
|
||||
)
|
||||
@ -120,7 +118,6 @@ from lib.common_config import (
|
||||
check_address_types,
|
||||
write_test_footer,
|
||||
check_router_status,
|
||||
shutdown_bringup_interface,
|
||||
step,
|
||||
get_frr_ipv6_linklocal,
|
||||
required_linux_kernel_version,
|
||||
|
@ -94,13 +94,10 @@ from lib.bgp import (
|
||||
verify_bgp_rib,
|
||||
verify_graceful_restart,
|
||||
create_router_bgp,
|
||||
verify_r_bit,
|
||||
verify_eor,
|
||||
verify_f_bit,
|
||||
verify_bgp_convergence,
|
||||
verify_gr_address_family,
|
||||
modify_bgp_config_when_bgpd_down,
|
||||
verify_graceful_restart_timers,
|
||||
verify_bgp_convergence_from_running_config,
|
||||
)
|
||||
|
||||
@ -169,7 +166,7 @@ def setup_module(mod):
|
||||
# Api call verify whether BGP is converged
|
||||
ADDR_TYPES = check_address_types()
|
||||
|
||||
for addr_type in ADDR_TYPES:
|
||||
for _ in ADDR_TYPES:
|
||||
BGP_CONVERGENCE = verify_bgp_convergence(tgen, topo)
|
||||
assert BGP_CONVERGENCE is True, "setup_module : Failed \n Error:" " {}".format(
|
||||
BGP_CONVERGENCE
|
||||
|
@ -95,7 +95,6 @@ from lib.bgp import (
|
||||
verify_graceful_restart,
|
||||
create_router_bgp,
|
||||
verify_r_bit,
|
||||
verify_eor,
|
||||
verify_f_bit,
|
||||
verify_bgp_convergence,
|
||||
verify_gr_address_family,
|
||||
@ -114,7 +113,6 @@ from lib.common_config import (
|
||||
check_address_types,
|
||||
write_test_footer,
|
||||
check_router_status,
|
||||
step,
|
||||
get_frr_ipv6_linklocal,
|
||||
required_linux_kernel_version,
|
||||
)
|
||||
@ -169,7 +167,7 @@ def setup_module(mod):
|
||||
# Api call verify whether BGP is converged
|
||||
ADDR_TYPES = check_address_types()
|
||||
|
||||
for addr_type in ADDR_TYPES:
|
||||
for _ in ADDR_TYPES:
|
||||
BGP_CONVERGENCE = verify_bgp_convergence(tgen, topo)
|
||||
assert BGP_CONVERGENCE is True, "setup_module : Failed \n Error:" " {}".format(
|
||||
BGP_CONVERGENCE
|
||||
|
@ -98,9 +98,7 @@ from lib.bgp import (
|
||||
verify_eor,
|
||||
verify_f_bit,
|
||||
verify_bgp_convergence,
|
||||
verify_gr_address_family,
|
||||
modify_bgp_config_when_bgpd_down,
|
||||
verify_graceful_restart_timers,
|
||||
verify_bgp_convergence_from_running_config,
|
||||
)
|
||||
|
||||
@ -114,7 +112,6 @@ from lib.common_config import (
|
||||
check_address_types,
|
||||
write_test_footer,
|
||||
check_router_status,
|
||||
step,
|
||||
get_frr_ipv6_linklocal,
|
||||
required_linux_kernel_version,
|
||||
)
|
||||
@ -169,7 +166,7 @@ def setup_module(mod):
|
||||
# Api call verify whether BGP is converged
|
||||
ADDR_TYPES = check_address_types()
|
||||
|
||||
for addr_type in ADDR_TYPES:
|
||||
for _ in ADDR_TYPES:
|
||||
BGP_CONVERGENCE = verify_bgp_convergence(tgen, topo)
|
||||
assert BGP_CONVERGENCE is True, "setup_module : Failed \n Error:" " {}".format(
|
||||
BGP_CONVERGENCE
|
||||
|
@ -96,13 +96,9 @@ from lib.bgp import (
|
||||
verify_bgp_rib,
|
||||
verify_graceful_restart,
|
||||
create_router_bgp,
|
||||
verify_r_bit,
|
||||
verify_eor,
|
||||
verify_f_bit,
|
||||
verify_bgp_convergence,
|
||||
verify_gr_address_family,
|
||||
modify_bgp_config_when_bgpd_down,
|
||||
verify_graceful_restart_timers,
|
||||
verify_bgp_convergence_from_running_config,
|
||||
)
|
||||
|
||||
@ -116,7 +112,6 @@ from lib.common_config import (
|
||||
check_address_types,
|
||||
write_test_footer,
|
||||
check_router_status,
|
||||
step,
|
||||
get_frr_ipv6_linklocal,
|
||||
required_linux_kernel_version,
|
||||
)
|
||||
@ -171,7 +166,7 @@ def setup_module(mod):
|
||||
# Api call verify whether BGP is converged
|
||||
ADDR_TYPES = check_address_types()
|
||||
|
||||
for addr_type in ADDR_TYPES:
|
||||
for _ in ADDR_TYPES:
|
||||
BGP_CONVERGENCE = verify_bgp_convergence(tgen, topo)
|
||||
assert BGP_CONVERGENCE is True, "setup_module : Failed \n Error:" " {}".format(
|
||||
BGP_CONVERGENCE
|
||||
|
@ -12,7 +12,6 @@ import time
|
||||
import pytest
|
||||
from time import sleep
|
||||
|
||||
import traceback
|
||||
import ipaddress
|
||||
|
||||
# Save the Current Working Directory to find configuration files.
|
||||
@ -34,37 +33,21 @@ from lib.bgp import (
|
||||
verify_bgp_rib,
|
||||
verify_graceful_restart,
|
||||
create_router_bgp,
|
||||
verify_r_bit,
|
||||
verify_eor,
|
||||
verify_f_bit,
|
||||
verify_bgp_convergence,
|
||||
verify_gr_address_family,
|
||||
modify_bgp_config_when_bgpd_down,
|
||||
verify_graceful_restart_timers,
|
||||
verify_bgp_convergence_from_running_config,
|
||||
)
|
||||
|
||||
# Import common_config to use commomnly used APIs
|
||||
from lib.common_config import (
|
||||
create_common_configuration,
|
||||
InvalidCLIError,
|
||||
retry,
|
||||
generate_ips,
|
||||
FRRCFG_FILE,
|
||||
find_interface_with_greater_ip,
|
||||
check_address_types,
|
||||
validate_ip_address,
|
||||
run_frr_cmd,
|
||||
get_frr_ipv6_linklocal,
|
||||
)
|
||||
|
||||
from lib.common_config import (
|
||||
write_test_header,
|
||||
reset_config_on_routers,
|
||||
start_topology,
|
||||
kill_router_daemons,
|
||||
start_router_daemons,
|
||||
verify_rib,
|
||||
check_address_types,
|
||||
write_test_footer,
|
||||
check_router_status,
|
||||
@ -154,9 +137,6 @@ def verify_stale_routes_list(tgen, addr_type, dut, input_dict):
|
||||
"""
|
||||
logger.debug("Entering lib API: verify_stale_routes_list()")
|
||||
router_list = tgen.routers()
|
||||
additional_nexthops_in_required_nhs = []
|
||||
list1 = []
|
||||
list2 = []
|
||||
found_hops = []
|
||||
for routerInput in input_dict.keys():
|
||||
for router, rnode in router_list.items():
|
||||
@ -266,7 +246,7 @@ def setup_module(mod):
|
||||
# Api call verify whether BGP is converged
|
||||
ADDR_TYPES = check_address_types()
|
||||
|
||||
for addr_type in ADDR_TYPES:
|
||||
for _ in ADDR_TYPES:
|
||||
BGP_CONVERGENCE = verify_bgp_convergence(tgen, topo)
|
||||
assert BGP_CONVERGENCE is True, "setup_module : Failed \n Error:" " {}".format(
|
||||
BGP_CONVERGENCE
|
||||
@ -442,7 +422,7 @@ def test_bgp_gr_stale_routes(request):
|
||||
)
|
||||
assert result is True, "Testcase {} :Failed \n Error {}".format(tc_name, result)
|
||||
|
||||
for iteration in range(5):
|
||||
for _ in range(5):
|
||||
step("graceful-restart-disable:True at R3")
|
||||
input_dict = {
|
||||
"r3": {
|
||||
|
@ -22,7 +22,7 @@ sys.path.append(os.path.join(CWD, "../"))
|
||||
|
||||
# pylint: disable=C0413
|
||||
from lib import topotest
|
||||
from lib.topogen import Topogen, TopoRouter, get_topogen
|
||||
from lib.topogen import Topogen, get_topogen
|
||||
from lib.common_config import step, stop_router
|
||||
|
||||
pytestmark = [pytest.mark.bgpd]
|
||||
|
@ -21,7 +21,7 @@ sys.path.append(os.path.join(CWD, "../"))
|
||||
|
||||
# pylint: disable=C0413
|
||||
from lib import topotest
|
||||
from lib.topogen import Topogen, TopoRouter, get_topogen
|
||||
from lib.topogen import Topogen, get_topogen
|
||||
from lib.common_config import step, stop_router
|
||||
|
||||
pytestmark = [pytest.mark.bgpd]
|
||||
|
@ -23,7 +23,7 @@ sys.path.append(os.path.join(CWD, "../../"))
|
||||
|
||||
|
||||
from lib import topotest
|
||||
from lib.topogen import Topogen, TopoRouter, get_topogen
|
||||
from lib.topogen import Topogen, get_topogen
|
||||
|
||||
from lib.common_config import (
|
||||
write_test_header,
|
||||
|
@ -146,7 +146,7 @@ def check_mpls_table(label, protocol):
|
||||
|
||||
if label == "auto" and protocol:
|
||||
output_copy = deepcopy(output)
|
||||
for key, data in output_copy.items():
|
||||
for _, data in output_copy.items():
|
||||
for nexthop in data.get("nexthops", []):
|
||||
if nexthop.get("type", None) != protocol:
|
||||
continue
|
||||
|
@ -22,7 +22,6 @@ sys.path.append(os.path.join(CWD, "../"))
|
||||
# pylint: disable=C0413
|
||||
from lib import topotest
|
||||
from lib.topogen import Topogen, TopoRouter, get_topogen
|
||||
from lib.common_config import step
|
||||
|
||||
pytestmark = [pytest.mark.bgpd]
|
||||
|
||||
|
@ -32,7 +32,6 @@ from lib.topogen import Topogen, TopoRouter, get_topogen
|
||||
|
||||
from lib.common_config import (
|
||||
kill_router_daemons,
|
||||
start_router_daemons,
|
||||
step,
|
||||
)
|
||||
|
||||
|
@ -25,7 +25,6 @@ sys.path.append(os.path.join(CWD, "../lib/"))
|
||||
# pylint: disable=C0413
|
||||
# Import topogen and topotest helpers
|
||||
from lib.topogen import Topogen, get_topogen
|
||||
from lib.topotest import version_cmp
|
||||
|
||||
from lib.common_config import (
|
||||
start_topology,
|
||||
|
@ -21,7 +21,6 @@ import os
|
||||
import sys
|
||||
import time
|
||||
import pytest
|
||||
import platform
|
||||
|
||||
# Save the Current Working Directory to find configuration files.
|
||||
CWD = os.path.dirname(os.path.realpath(__file__))
|
||||
@ -31,7 +30,6 @@ sys.path.append(os.path.join(CWD, "../lib/"))
|
||||
# pylint: disable=C0413
|
||||
# Import topogen and topotest helpers
|
||||
from lib.topogen import Topogen, get_topogen
|
||||
from lib.topotest import version_cmp
|
||||
|
||||
from lib.common_config import (
|
||||
start_topology,
|
||||
|
@ -39,7 +39,6 @@ sys.path.append(os.path.join(CWD, "../lib/"))
|
||||
# pylint: disable=C0413
|
||||
# Import topogen and topotest helpers
|
||||
from lib.topogen import Topogen, get_topogen
|
||||
from lib.topotest import version_cmp
|
||||
|
||||
from lib.common_config import (
|
||||
start_topology,
|
||||
|
@ -31,7 +31,6 @@ sys.path.append(os.path.join(CWD, "../lib/"))
|
||||
# pylint: disable=C0413
|
||||
# Import topogen and topotest helpers
|
||||
from lib.topogen import Topogen, get_topogen
|
||||
from lib.topotest import version_cmp
|
||||
|
||||
from lib.common_config import (
|
||||
start_topology,
|
||||
|
@ -26,7 +26,6 @@ sys.path.append(os.path.join(CWD, "../lib/"))
|
||||
# pylint: disable=C0413
|
||||
# Import topogen and topotest helpers
|
||||
from lib.topogen import Topogen, get_topogen
|
||||
from lib.topotest import version_cmp
|
||||
|
||||
from lib.common_config import (
|
||||
start_topology,
|
||||
|
@ -24,7 +24,6 @@ sys.path.append(os.path.join(CWD, "../lib/"))
|
||||
# pylint: disable=C0413
|
||||
# Import topogen and topotest helpers
|
||||
from lib.topogen import Topogen, get_topogen
|
||||
from lib.topotest import version_cmp
|
||||
|
||||
from lib.common_config import (
|
||||
start_topology,
|
||||
|
@ -38,7 +38,6 @@ sys.path.append(os.path.join(CWD, "../lib/"))
|
||||
# pylint: disable=C0413
|
||||
# Import topogen and topotest helpers
|
||||
from lib.topogen import Topogen, get_topogen
|
||||
from lib.topotest import version_cmp
|
||||
|
||||
from lib.common_config import (
|
||||
start_topology,
|
||||
|
@ -34,7 +34,6 @@ import os
|
||||
import sys
|
||||
import time
|
||||
import pytest
|
||||
import platform
|
||||
|
||||
# Save the Current Working Directory to find configuration files.
|
||||
CWD = os.path.dirname(os.path.realpath(__file__))
|
||||
@ -44,7 +43,6 @@ sys.path.append(os.path.join(CWD, "../lib/"))
|
||||
# pylint: disable=C0413
|
||||
# Import topogen and topotest helpers
|
||||
from lib.topogen import Topogen, get_topogen
|
||||
from lib.topotest import version_cmp
|
||||
|
||||
from lib.common_config import (
|
||||
start_topology,
|
||||
|
@ -52,7 +52,6 @@ sys.path.append(os.path.join(CWD, "../lib/"))
|
||||
# pylint: disable=C0413
|
||||
# Import topogen and topotest helpers
|
||||
from lib.topogen import Topogen, get_topogen
|
||||
from lib.topotest import version_cmp
|
||||
|
||||
from lib.common_config import (
|
||||
start_topology,
|
||||
|
@ -1845,7 +1845,7 @@ def test_vrf_vlan_routing_table_p1(request):
|
||||
dut = "r3"
|
||||
vrf = "RED_A"
|
||||
|
||||
for c_link, c_data in topo["routers"][dut]["links"].items():
|
||||
for _, c_data in topo["routers"][dut]["links"].items():
|
||||
if c_data["vrf"] != vrf:
|
||||
continue
|
||||
|
||||
@ -2634,7 +2634,7 @@ def test_delete_and_re_add_vrf_p1(request):
|
||||
vrfs = ["RED_A", "BLUE_A"]
|
||||
|
||||
for vrf in vrfs:
|
||||
for c_link, c_data in topo["routers"][dut]["links"].items():
|
||||
for _, c_data in topo["routers"][dut]["links"].items():
|
||||
if c_data["vrf"] != vrf:
|
||||
continue
|
||||
|
||||
@ -3584,7 +3584,7 @@ def test_vrf_name_significance_p1(request):
|
||||
vrfs = ["GREY_A", "PINK_A"]
|
||||
|
||||
for vrf in vrfs:
|
||||
for c_link, c_data in topo_modify["routers"][dut]["links"].items():
|
||||
for _, c_data in topo_modify["routers"][dut]["links"].items():
|
||||
if c_data["vrf"] != vrf:
|
||||
continue
|
||||
|
||||
|
@ -12,7 +12,6 @@ Test BGP nexthop conformity with IPv4,6 MP-BGP over IPv4 peering
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
import functools
|
||||
from functools import partial
|
||||
import pytest
|
||||
|
||||
|
@ -24,7 +24,7 @@ sys.path.append(os.path.join(CWD, "../"))
|
||||
|
||||
# pylint: disable=C0413
|
||||
from lib import topotest
|
||||
from lib.topogen import Topogen, TopoRouter, get_topogen
|
||||
from lib.topogen import Topogen, get_topogen
|
||||
|
||||
pytestmark = [pytest.mark.bgpd]
|
||||
|
||||
|
@ -11,7 +11,6 @@ EBGP-OAD is configured.
|
||||
"""
|
||||
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
import json
|
||||
import pytest
|
||||
@ -24,8 +23,7 @@ sys.path.append(os.path.join(CWD, "../"))
|
||||
|
||||
# pylint: disable=C0413
|
||||
from lib import topotest
|
||||
from lib.topogen import Topogen, TopoRouter, get_topogen
|
||||
from lib.common_config import step
|
||||
from lib.topogen import Topogen, get_topogen
|
||||
|
||||
|
||||
def setup_module(mod):
|
||||
|
@ -23,7 +23,7 @@ sys.path.append(os.path.join(CWD, "../"))
|
||||
|
||||
# pylint: disable=C0413
|
||||
from lib import topotest
|
||||
from lib.topogen import Topogen, TopoRouter, get_topogen
|
||||
from lib.topogen import Topogen, get_topogen
|
||||
from lib.common_config import step
|
||||
|
||||
pytestmark = [pytest.mark.bgpd]
|
||||
|
@ -90,7 +90,7 @@ def test_r1_rib():
|
||||
logger.info('[+] check {} "{}" {}'.format(name, cmd, expected_file))
|
||||
tgen = get_topogen()
|
||||
func = functools.partial(_check, name, cmd, expected_file)
|
||||
success, result = topotest.run_and_expect(func, None, count=10, wait=0.5)
|
||||
_, result = topotest.run_and_expect(func, None, count=10, wait=0.5)
|
||||
assert result is None, "Failed"
|
||||
|
||||
check("r1", "show bgp ipv6 vpn 2001:1::/64 json", "r1/vpnv6_rib_entry1.json")
|
||||
|
@ -86,7 +86,7 @@ def _router_json_cmp_exact_filter(router, cmd, expected):
|
||||
json_output = json.loads(output)
|
||||
|
||||
# filter out tableVersion, version, nhVrfId and vrfId
|
||||
for route, attrs in json_output.items():
|
||||
for _, attrs in json_output.items():
|
||||
for attr in attrs:
|
||||
if "table" in attr:
|
||||
attr.pop("table")
|
||||
|
@ -32,7 +32,6 @@ All conditions are tested against an eBGP peer in a public ASN.
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
import time
|
||||
import pytest
|
||||
|
||||
CWD = os.path.dirname(os.path.realpath(__file__))
|
||||
|
@ -10,7 +10,6 @@ Test if private AS is removed from AS_PATH attribute when route-map is used (pre
|
||||
"""
|
||||
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
import json
|
||||
import pytest
|
||||
@ -23,7 +22,7 @@ sys.path.append(os.path.join(CWD, "../"))
|
||||
|
||||
# pylint: disable=C0413
|
||||
from lib import topotest
|
||||
from lib.topogen import Topogen, TopoRouter, get_topogen
|
||||
from lib.topogen import Topogen, get_topogen
|
||||
|
||||
|
||||
def build_topo(tgen):
|
||||
|
@ -24,8 +24,7 @@ sys.path.append(os.path.join(CWD, "../"))
|
||||
|
||||
# pylint: disable=C0413
|
||||
from lib import topotest
|
||||
from lib.topogen import Topogen, TopoRouter, get_topogen
|
||||
from lib.topolog import logger
|
||||
from lib.topogen import Topogen, TopoRouter
|
||||
|
||||
pytestmark = [pytest.mark.bgpd]
|
||||
|
||||
@ -38,7 +37,7 @@ def tgen(request):
|
||||
tgen = Topogen(topodef, request.module.__name__)
|
||||
tgen.start_topology()
|
||||
router_list = tgen.routers()
|
||||
for rname, router in router_list.items():
|
||||
for _, router in router_list.items():
|
||||
router.load_config(TopoRouter.RD_ZEBRA, "zebra.conf")
|
||||
router.load_config(TopoRouter.RD_BGP, "bgpd.conf")
|
||||
tgen.start_router()
|
||||
@ -82,9 +81,7 @@ def test_correct_pair(tgen):
|
||||
check_r2_established = functools.partial(
|
||||
check_session_established, router, neighbor_ip
|
||||
)
|
||||
success, _ = topotest.run_and_expect(
|
||||
check_r2_established, True, count=20, wait=3
|
||||
)
|
||||
success, _ = topotest.run_and_expect(check_r2_established, True, count=20, wait=3)
|
||||
assert success, "Session with r2 is not Established"
|
||||
|
||||
neighbor_status = find_neighbor_status(router, neighbor_ip)
|
||||
@ -111,9 +108,7 @@ def test_single_role_advertising(tgen):
|
||||
check_r4_established = functools.partial(
|
||||
check_session_established, router, neighbor_ip
|
||||
)
|
||||
success, _ = topotest.run_and_expect(
|
||||
check_r4_established, True, count=20, wait=3
|
||||
)
|
||||
success, _ = topotest.run_and_expect(check_r4_established, True, count=20, wait=3)
|
||||
assert success, "Session with r4 is not Established"
|
||||
|
||||
neighbor_status = find_neighbor_status(router, neighbor_ip)
|
||||
@ -129,9 +124,7 @@ def test_single_role_receiving(tgen):
|
||||
check_r1_established = functools.partial(
|
||||
check_session_established, router, neighbor_ip
|
||||
)
|
||||
success, _ = topotest.run_and_expect(
|
||||
check_r1_established, True, count=20, wait=3
|
||||
)
|
||||
success, _ = topotest.run_and_expect(check_r1_established, True, count=20, wait=3)
|
||||
assert success, "Session with r1 is not Established"
|
||||
|
||||
neighbor_status = find_neighbor_status(router, neighbor_ip)
|
||||
|
@ -16,7 +16,6 @@ test_bgp_roles_filtering: test leaks prevention and mitigation with roles
|
||||
import json
|
||||
import os
|
||||
import sys
|
||||
import functools
|
||||
import pytest
|
||||
|
||||
CWD = os.path.dirname(os.path.realpath(__file__))
|
||||
@ -24,9 +23,7 @@ sys.path.append(os.path.join(CWD, "../"))
|
||||
|
||||
# pylint: disable=C0413
|
||||
from lib import topotest
|
||||
from lib.bgp import verify_bgp_convergence_from_running_config
|
||||
from lib.topogen import Topogen, TopoRouter, get_topogen
|
||||
from lib.topolog import logger
|
||||
from lib.topogen import Topogen, TopoRouter
|
||||
|
||||
pytestmark = [pytest.mark.bgpd]
|
||||
|
||||
@ -39,7 +36,7 @@ def tgen(request):
|
||||
tgen = Topogen(topodef, request.module.__name__)
|
||||
tgen.start_topology()
|
||||
router_list = tgen.routers()
|
||||
for rname, router in router_list.items():
|
||||
for _, router in router_list.items():
|
||||
router.load_config(TopoRouter.RD_ZEBRA, "zebra.conf")
|
||||
router.load_config(TopoRouter.RD_BGP, "bgpd.conf")
|
||||
tgen.start_router()
|
||||
@ -69,9 +66,7 @@ def test_r10_routes(tgen):
|
||||
]
|
||||
return output == expected
|
||||
|
||||
success, _ = topotest.run_and_expect(
|
||||
_routes_half_converged, True, count=20, wait=3
|
||||
)
|
||||
success, _ = topotest.run_and_expect(_routes_half_converged, True, count=20, wait=3)
|
||||
assert success, "Routes did not converged"
|
||||
|
||||
routes_with_otc = list()
|
||||
|
@ -119,7 +119,7 @@ def setup_module(mod):
|
||||
# Api call verify whether BGP is converged
|
||||
ADDR_TYPES = check_address_types()
|
||||
|
||||
for addr_type in ADDR_TYPES:
|
||||
for _ in ADDR_TYPES:
|
||||
BGP_CONVERGENCE = verify_bgp_convergence(tgen, topo)
|
||||
assert BGP_CONVERGENCE is True, "setup_module :Failed \n Error:" " {}".format(
|
||||
BGP_CONVERGENCE
|
||||
|
@ -22,7 +22,7 @@ sys.path.append(os.path.join(CWD, "../"))
|
||||
|
||||
# pylint: disable=C0413
|
||||
from lib import topotest
|
||||
from lib.topogen import Topogen, TopoRouter, get_topogen
|
||||
from lib.topogen import Topogen, get_topogen
|
||||
|
||||
pytestmark = [pytest.mark.bgpd]
|
||||
|
||||
|
@ -17,7 +17,7 @@ sys.path.append(os.path.join(CWD, "../"))
|
||||
|
||||
# pylint: disable=C0413
|
||||
from lib import topotest
|
||||
from lib.topogen import Topogen, TopoRouter, get_topogen
|
||||
from lib.topogen import Topogen, get_topogen
|
||||
|
||||
pytestmark = [pytest.mark.bgpd]
|
||||
|
||||
|
@ -24,7 +24,6 @@ sys.path.append(os.path.join(CWD, "../"))
|
||||
# pylint: disable=C0413
|
||||
from lib import topotest
|
||||
from lib.topogen import Topogen, TopoRouter, get_topogen
|
||||
from lib.common_config import step
|
||||
|
||||
pytestmark = [pytest.mark.bgpd]
|
||||
|
||||
|
@ -11,7 +11,6 @@
|
||||
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
import pytest
|
||||
import functools
|
||||
|
||||
|
@ -132,7 +132,6 @@ def test_zebra_ipv4_routingTable():
|
||||
if tgen.routers_have_failure():
|
||||
pytest.skip(tgen.errors)
|
||||
|
||||
failures = 0
|
||||
router_list = tgen.routers().values()
|
||||
for router in router_list:
|
||||
output = router.vtysh_cmd("show ip route json", isjson=True)
|
||||
|
@ -325,7 +325,6 @@ def router_interface_get_ifindex(router, interface):
|
||||
|
||||
|
||||
def generate_vrf_ifindex_oid(vrf, ifindex):
|
||||
|
||||
intoid = snmp_uint32_to_oid(int(ifindex))
|
||||
vrfoid = snmp_str_to_oid(vrf)
|
||||
oid = "{}.{}".format(vrfoid, intoid)
|
||||
|
@ -8,10 +8,7 @@
|
||||
#
|
||||
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
import json
|
||||
import functools
|
||||
import pytest
|
||||
|
||||
CWD = os.path.dirname(os.path.realpath(__file__))
|
||||
@ -19,9 +16,7 @@ sys.path.append(os.path.join(CWD, "../"))
|
||||
|
||||
# pylint: disable=C0413
|
||||
# Import topogen and topotest helpers
|
||||
from lib import topotest
|
||||
from lib.topogen import Topogen, TopoRouter, get_topogen
|
||||
from lib.topolog import logger
|
||||
from lib.common_config import required_linux_kernel_version
|
||||
from lib.checkping import check_ping
|
||||
|
||||
|
@ -9,10 +9,7 @@
|
||||
#
|
||||
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
import json
|
||||
import functools
|
||||
import pytest
|
||||
|
||||
CWD = os.path.dirname(os.path.realpath(__file__))
|
||||
@ -20,9 +17,7 @@ sys.path.append(os.path.join(CWD, "../"))
|
||||
|
||||
# pylint: disable=C0413
|
||||
# Import topogen and topotest helpers
|
||||
from lib import topotest
|
||||
from lib.topogen import Topogen, TopoRouter, get_topogen
|
||||
from lib.topolog import logger
|
||||
from lib.common_config import required_linux_kernel_version
|
||||
from lib.checkping import check_ping
|
||||
|
||||
|
@ -6,10 +6,8 @@
|
||||
#
|
||||
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
import json
|
||||
import functools
|
||||
import pytest
|
||||
|
||||
CWD = os.path.dirname(os.path.realpath(__file__))
|
||||
@ -20,7 +18,6 @@ sys.path.append(os.path.join(CWD, "../"))
|
||||
from lib import topotest
|
||||
from lib.topogen import Topogen, TopoRouter, get_topogen
|
||||
from lib.topolog import logger
|
||||
from lib.common_config import required_linux_kernel_version
|
||||
|
||||
pytestmark = [pytest.mark.bgpd]
|
||||
|
||||
|
@ -20,7 +20,6 @@
|
||||
#
|
||||
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
import json
|
||||
import functools
|
||||
|
@ -9,7 +9,6 @@
|
||||
#
|
||||
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
import json
|
||||
import functools
|
||||
|
@ -15,7 +15,6 @@ import sys
|
||||
import json
|
||||
import pytest
|
||||
from functools import partial
|
||||
from time import sleep
|
||||
from lib.topolog import logger
|
||||
|
||||
CWD = os.path.dirname(os.path.realpath(__file__))
|
||||
|
@ -17,12 +17,7 @@ Need to verify if the tcp-mss value is reflected in the TCP session and in VRF.
|
||||
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
import pytest
|
||||
import functools
|
||||
import platform
|
||||
import socket
|
||||
import subprocess
|
||||
|
||||
# add after imports, before defining classes or functions:
|
||||
pytestmark = [pytest.mark.bgpd]
|
||||
@ -31,43 +26,27 @@ CWD = os.path.dirname(os.path.realpath(__file__))
|
||||
sys.path.append(os.path.join(CWD, "../"))
|
||||
|
||||
# pylint: disable=C0413
|
||||
from lib import topotest
|
||||
from lib.topogen import Topogen, TopoRouter, get_topogen
|
||||
from lib.topogen import Topogen, get_topogen
|
||||
from lib.topojson import build_config_from_json
|
||||
from lib.topolog import logger
|
||||
import time
|
||||
from lib.bgp import (
|
||||
clear_bgp,
|
||||
clear_bgp_and_verify,
|
||||
create_router_bgp,
|
||||
modify_as_number,
|
||||
verify_as_numbers,
|
||||
verify_bgp_convergence,
|
||||
verify_bgp_rib,
|
||||
verify_bgp_timers_and_functionality,
|
||||
verify_router_id,
|
||||
verify_tcp_mss,
|
||||
)
|
||||
from lib.common_config import (
|
||||
kill_router_daemons,
|
||||
start_router_daemons,
|
||||
addKernelRoute,
|
||||
apply_raw_config,
|
||||
check_address_types,
|
||||
check_router_status,
|
||||
create_prefix_lists,
|
||||
create_route_maps,
|
||||
create_static_routes,
|
||||
required_linux_kernel_version,
|
||||
reset_config_on_routers,
|
||||
start_topology,
|
||||
step,
|
||||
verify_admin_distance_for_static_routes,
|
||||
verify_bgp_community,
|
||||
verify_fib_routes,
|
||||
verify_rib,
|
||||
write_test_footer,
|
||||
write_test_header,
|
||||
)
|
||||
|
||||
# Global variables
|
||||
|
@ -21,7 +21,7 @@ sys.path.append(os.path.join(CWD, "../"))
|
||||
|
||||
# pylint: disable=C0413
|
||||
from lib import topotest
|
||||
from lib.topogen import Topogen, TopoRouter, get_topogen
|
||||
from lib.topogen import Topogen, get_topogen
|
||||
|
||||
pytestmark = [pytest.mark.bgpd]
|
||||
|
||||
|
@ -27,7 +27,6 @@ pytestmark = [pytest.mark.bgpd]
|
||||
|
||||
|
||||
def build_topo(tgen):
|
||||
|
||||
tgen.add_router("r1")
|
||||
tgen.add_router("r2")
|
||||
|
||||
|
@ -22,7 +22,6 @@ sys.path.append(os.path.join(CWD, "../"))
|
||||
# pylint: disable=C0413
|
||||
from lib import topotest
|
||||
from lib.topogen import Topogen, TopoRouter, get_topogen
|
||||
from lib.common_config import step
|
||||
|
||||
pytestmark = [pytest.mark.bgpd]
|
||||
|
||||
|
@ -312,7 +312,7 @@ def check_show_bgp_vpn_ok(router, vpnv4_entries):
|
||||
return "{0}, {1}, route distinguisher not present".format(
|
||||
router.name, prefix
|
||||
)
|
||||
for rd, pathes in dump.items():
|
||||
for _, pathes in dump.items():
|
||||
for path in pathes["paths"]:
|
||||
if "remoteLabel" not in path.keys():
|
||||
return "{0}, {1}, remoteLabel not present".format(
|
||||
|
@ -141,7 +141,7 @@ def router_json_cmp_exact_filter(router, cmd, expected):
|
||||
# filter out tableVersion, version and nhVrfID
|
||||
json_output.pop("tableVersion")
|
||||
for rd, data in json_output["routes"]["routeDistinguishers"].items():
|
||||
for prefix, attrs in data.items():
|
||||
for _, attrs in data.items():
|
||||
for attr in attrs:
|
||||
if "nhVrfId" in attr:
|
||||
attr.pop("nhVrfId")
|
||||
@ -171,7 +171,7 @@ def router_vrf_json_cmp_exact_filter(router, cmd, expected):
|
||||
data.pop("tableVersion")
|
||||
if "routes" not in data:
|
||||
continue
|
||||
for route, attrs in data["routes"].items():
|
||||
for _, attrs in data["routes"].items():
|
||||
for attr in attrs:
|
||||
if "nhVrfId" in attr:
|
||||
attr.pop("nhVrfId")
|
||||
|
@ -183,7 +183,7 @@ def bgp_vpnv4_table_check(router, group, label_list=None, label_value_expected=N
|
||||
assert dump, "{0}, {1}, route distinguisher not present".format(
|
||||
router.name, prefix
|
||||
)
|
||||
for rd, pathes in dump.items():
|
||||
for _, pathes in dump.items():
|
||||
for path in pathes["paths"]:
|
||||
assert (
|
||||
"remoteLabel" in path.keys()
|
||||
@ -305,7 +305,7 @@ def mpls_table_check(router, blacklist=None, label_list=None, whitelist=None):
|
||||
test_func = functools.partial(
|
||||
check_show_mpls_table, router, blacklist, label_list, whitelist
|
||||
)
|
||||
success, _ = topotest.run_and_expect(test_func, None, count=10, wait=0.5)
|
||||
success, result = topotest.run_and_expect(test_func, None, count=10, wait=0.5)
|
||||
assert success, "{}, MPLS labels check fail: {}".format(router.name, result)
|
||||
|
||||
|
||||
|
@ -179,7 +179,7 @@ def bgp_vpnv6_table_check(router, group, label_list=None, label_value_expected=N
|
||||
)
|
||||
|
||||
dump = router.vtysh_cmd("show bgp ipv6 vpn {} json".format(prefix), isjson=True)
|
||||
for rd, pathes in dump.items():
|
||||
for _, pathes in dump.items():
|
||||
for path in pathes["paths"]:
|
||||
assert (
|
||||
"remoteLabel" in path.keys()
|
||||
@ -300,7 +300,7 @@ def mpls_table_check(router, blacklist=None, label_list=None, whitelist=None):
|
||||
test_func = functools.partial(
|
||||
check_show_mpls_table, router, blacklist, label_list, whitelist
|
||||
)
|
||||
success, _ = topotest.run_and_expect(test_func, None, count=10, wait=0.5)
|
||||
success, result = topotest.run_and_expect(test_func, None, count=10, wait=0.5)
|
||||
assert success, "{}, MPLS labels check fail: {}".format(router.name, result)
|
||||
|
||||
|
||||
@ -798,7 +798,7 @@ def test_reconfigure_allocation_mode_nexthop():
|
||||
test_func = functools.partial(
|
||||
check_show_mpls_table_entry_label_not_found, router, 17
|
||||
)
|
||||
success, result = topotest.run_and_expect(test_func, None, count=10, wait=0.5)
|
||||
success, _ = topotest.run_and_expect(test_func, None, count=10, wait=0.5)
|
||||
assert success, "r1, mpls entry with label 17 still present"
|
||||
|
||||
# Check vpnv6 routes from r1
|
||||
|
@ -18,7 +18,6 @@ Following tests are covered to test BGP Multi-VRF Dynamic Route Leaking:
|
||||
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
import time
|
||||
import pytest
|
||||
import platform
|
||||
@ -58,7 +57,7 @@ from lib.bgp import (
|
||||
verify_best_path_as_per_bgp_attribute,
|
||||
verify_bgp_rib,
|
||||
)
|
||||
from lib.topojson import build_topo_from_json, build_config_from_json
|
||||
from lib.topojson import build_config_from_json
|
||||
|
||||
pytestmark = [pytest.mark.bgpd, pytest.mark.staticd]
|
||||
|
||||
|
@ -23,7 +23,6 @@ import sys
|
||||
import time
|
||||
import pytest
|
||||
import platform
|
||||
from time import sleep
|
||||
|
||||
# Save the Current Working Directory to find configuration files.
|
||||
CWD = os.path.dirname(os.path.realpath(__file__))
|
||||
@ -49,7 +48,6 @@ from lib.common_config import (
|
||||
create_static_routes,
|
||||
create_prefix_lists,
|
||||
create_bgp_community_lists,
|
||||
get_frr_ipv6_linklocal,
|
||||
)
|
||||
|
||||
from lib.topolog import logger
|
||||
|
@ -24,7 +24,6 @@ import sys
|
||||
import time
|
||||
import pytest
|
||||
import platform
|
||||
from time import sleep
|
||||
|
||||
# Save the Current Working Directory to find configuration files.
|
||||
CWD = os.path.dirname(os.path.realpath(__file__))
|
||||
@ -46,18 +45,13 @@ from lib.common_config import (
|
||||
reset_config_on_routers,
|
||||
verify_rib,
|
||||
step,
|
||||
create_route_maps,
|
||||
create_static_routes,
|
||||
create_prefix_lists,
|
||||
create_bgp_community_lists,
|
||||
get_frr_ipv6_linklocal,
|
||||
)
|
||||
|
||||
from lib.topolog import logger
|
||||
from lib.bgp import (
|
||||
verify_bgp_convergence,
|
||||
create_router_bgp,
|
||||
verify_bgp_community,
|
||||
verify_bgp_rib,
|
||||
)
|
||||
from lib.topojson import build_config_from_json
|
||||
|
@ -24,7 +24,6 @@ import sys
|
||||
import time
|
||||
import pytest
|
||||
import platform
|
||||
from time import sleep
|
||||
|
||||
# Save the Current Working Directory to find configuration files.
|
||||
CWD = os.path.dirname(os.path.realpath(__file__))
|
||||
@ -46,18 +45,13 @@ from lib.common_config import (
|
||||
reset_config_on_routers,
|
||||
verify_rib,
|
||||
step,
|
||||
create_route_maps,
|
||||
create_static_routes,
|
||||
create_prefix_lists,
|
||||
create_bgp_community_lists,
|
||||
get_frr_ipv6_linklocal,
|
||||
)
|
||||
|
||||
from lib.topolog import logger
|
||||
from lib.bgp import (
|
||||
verify_bgp_convergence,
|
||||
create_router_bgp,
|
||||
verify_bgp_community,
|
||||
verify_bgp_rib,
|
||||
)
|
||||
from lib.topojson import build_config_from_json
|
||||
|
@ -24,7 +24,6 @@ import sys
|
||||
import time
|
||||
import pytest
|
||||
import platform
|
||||
from time import sleep
|
||||
|
||||
# Save the Current Working Directory to find configuration files.
|
||||
CWD = os.path.dirname(os.path.realpath(__file__))
|
||||
@ -46,18 +45,13 @@ from lib.common_config import (
|
||||
reset_config_on_routers,
|
||||
verify_rib,
|
||||
step,
|
||||
create_route_maps,
|
||||
create_static_routes,
|
||||
create_prefix_lists,
|
||||
create_bgp_community_lists,
|
||||
get_frr_ipv6_linklocal,
|
||||
)
|
||||
|
||||
from lib.topolog import logger
|
||||
from lib.bgp import (
|
||||
verify_bgp_convergence,
|
||||
create_router_bgp,
|
||||
verify_bgp_community,
|
||||
verify_bgp_rib,
|
||||
)
|
||||
from lib.topojson import build_config_from_json
|
||||
|
@ -6,10 +6,8 @@
|
||||
#
|
||||
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
import json
|
||||
import functools
|
||||
import pytest
|
||||
|
||||
CWD = os.path.dirname(os.path.realpath(__file__))
|
||||
@ -20,7 +18,6 @@ sys.path.append(os.path.join(CWD, "../"))
|
||||
from lib import topotest
|
||||
from lib.topogen import Topogen, TopoRouter, get_topogen
|
||||
from lib.topolog import logger
|
||||
from lib.common_config import required_linux_kernel_version
|
||||
|
||||
pytestmark = [pytest.mark.bgpd]
|
||||
|
||||
|
@ -49,9 +49,7 @@ from lib.topolog import logger
|
||||
from lib.bgp import (
|
||||
verify_bgp_convergence,
|
||||
create_router_bgp,
|
||||
verify_bgp_community,
|
||||
verify_bgp_rib,
|
||||
clear_bgp,
|
||||
verify_best_path_as_per_bgp_attribute,
|
||||
)
|
||||
from lib.topojson import build_config_from_json
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user