tests: Refactoring FRR test suites

Signed-off-by: y-bharath14 <y.bharath@samsung.com>
This commit is contained in:
Y Bharath 2024-06-19 12:51:05 +05:30
parent 659741f3fa
commit 5b06a17715
101 changed files with 63 additions and 305 deletions

View File

@ -38,7 +38,6 @@ from lib.common_config import (
required_linux_kernel_version, required_linux_kernel_version,
) )
from lib.topolog import logger
import json import json
fatal_error = "" fatal_error = ""
@ -153,7 +152,6 @@ def test_error_messages_vtysh():
print("\n\n** Check for error messages on VTYSH") print("\n\n** Check for error messages on VTYSH")
print("******************************************\n") print("******************************************\n")
failures = 0
for i in range(1, 2): for i in range(1, 2):
# #
# First checking Standard Output # First checking Standard Output

View File

@ -15,7 +15,6 @@ test_babel_topo1.py: Testing BABEL
""" """
import os import os
import re
import sys import sys
import pytest import pytest
import json import json
@ -130,7 +129,6 @@ def test_zebra_ipv4_routingTable():
if tgen.routers_have_failure(): if tgen.routers_have_failure():
pytest.skip(tgen.errors) pytest.skip(tgen.errors)
failures = 0
router_list = tgen.routers().values() router_list = tgen.routers().values()
for router in router_list: for router in router_list:
assertmsg = "Zebra IPv4 Routing Table verification failed for router {}".format( assertmsg = "Zebra IPv4 Routing Table verification failed for router {}".format(

View File

@ -59,7 +59,6 @@ import os
import sys import sys
import pytest import pytest
import json import json
from time import sleep
from functools import partial from functools import partial
# Save the Current Working Directory to find configuration files. # Save the Current Working Directory to find configuration files.

View File

@ -12,7 +12,6 @@ Test the FRR BGP 6VPE functionality
import os import os
import sys import sys
import json import json
import functools
from functools import partial from functools import partial
import pytest import pytest

View File

@ -20,7 +20,7 @@ sys.path.append(os.path.join(CWD, "../"))
# pylint: disable=C0413 # pylint: disable=C0413
from lib import topotest from lib import topotest
from lib.topogen import Topogen, TopoRouter, get_topogen from lib.topogen import Topogen, get_topogen
pytestmark = [pytest.mark.bgpd] pytestmark = [pytest.mark.bgpd]

View File

@ -29,7 +29,6 @@ sys.path.append(os.path.join(CWD, "../"))
# pylint: disable=C0413 # pylint: disable=C0413
from lib import topotest from lib import topotest
from lib.topogen import Topogen, TopoRouter, get_topogen from lib.topogen import Topogen, TopoRouter, get_topogen
from lib.common_config import step
pytestmark = [pytest.mark.bgpd] pytestmark = [pytest.mark.bgpd]

View File

@ -28,7 +28,6 @@ Following tests are covered to test bgp allowas-in functionality:
import os import os
import sys import sys
import time import time
import json
import pytest import pytest
# Save the Current Working Directory to find configuration files. # Save the Current Working Directory to find configuration files.
@ -59,7 +58,7 @@ from lib.bgp import (
create_router_bgp, create_router_bgp,
verify_bgp_rib, 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] pytestmark = [pytest.mark.bgpd, pytest.mark.staticd]

View File

@ -34,16 +34,9 @@ for bgp instances
import json import json
import os import os
import platform
import sys
from time import sleep
from lib import common_config, topotest from lib import common_config
from lib.common_config import ( from lib.topogen import get_topogen
save_initial_config_on_routers,
reset_with_new_configs,
)
from lib.topogen import Topogen, TopoRouter, get_topogen
CWD = os.path.dirname(os.path.realpath(__file__)) CWD = os.path.dirname(os.path.realpath(__file__))

View File

@ -32,14 +32,12 @@ for bgp instances
""" """
# pylint: disable=C0413 # pylint: disable=C0413
import json
import os import os
import platform import platform
import sys import sys
from time import sleep
import pytest import pytest
from lib import common_config, topotest from lib import topotest
from lib.common_config import ( from lib.common_config import (
save_initial_config_on_routers, save_initial_config_on_routers,
reset_with_new_configs, reset_with_new_configs,

View File

@ -32,14 +32,12 @@ for bgp instances
""" """
# pylint: disable=C0413 # pylint: disable=C0413
import json
import os import os
import platform import platform
import sys import sys
from time import sleep
import pytest import pytest
from lib import common_config, topotest from lib import topotest
from lib.common_config import ( from lib.common_config import (
save_initial_config_on_routers, save_initial_config_on_routers,
reset_with_new_configs, reset_with_new_configs,

View File

@ -32,14 +32,12 @@ for bgp instances
""" """
# pylint: disable=C0413 # pylint: disable=C0413
import json
import os import os
import platform import platform
import sys import sys
from time import sleep
import pytest import pytest
from lib import common_config, topotest from lib import topotest
from lib.common_config import ( from lib.common_config import (
save_initial_config_on_routers, save_initial_config_on_routers,
reset_with_new_configs, reset_with_new_configs,

View File

@ -32,14 +32,12 @@ for bgp instances
""" """
# pylint: disable=C0413 # pylint: disable=C0413
import json
import os import os
import platform import platform
import sys import sys
from time import sleep
import pytest import pytest
from lib import common_config, topotest from lib import topotest
from lib.common_config import ( from lib.common_config import (
save_initial_config_on_routers, save_initial_config_on_routers,
reset_with_new_configs, reset_with_new_configs,

View File

@ -26,7 +26,6 @@ from functools import partial
from ipaddress import ip_network from ipaddress import ip_network
import json import json
import os import os
import platform
import pytest import pytest
import sys import sys

View File

@ -16,7 +16,6 @@ import os
import sys import sys
import json import json
import functools import functools
from functools import partial
import pytest import pytest
# Save the Current Working Directory to find configuration files. # Save the Current Working Directory to find configuration files.

View File

@ -171,7 +171,6 @@ def test_bgp_no_export_local_as_communities_p0(request):
) )
for comm_type in ["no-export", "local-AS"]: for comm_type in ["no-export", "local-AS"]:
step("Create a route-map on R1 to set community as {}".format(comm_type)) step("Create a route-map on R1 to set community as {}".format(comm_type))
seq_id = 10 seq_id = 10

View File

@ -11,7 +11,6 @@ if we modify the prefix-lists.
""" """
import os import os
import re
import sys import sys
import json import json
import pytest import pytest
@ -24,7 +23,7 @@ sys.path.append(os.path.join(CWD, "../"))
# pylint: disable=C0413 # pylint: disable=C0413
from lib import topotest 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 from lib.common_config import step

View File

@ -6,7 +6,6 @@
# #
import os import os
import re
import sys import sys
import json import json
import pytest import pytest

View File

@ -17,7 +17,6 @@ import sys
import time import time
import pytest import pytest
import datetime import datetime
from copy import deepcopy
from lib.topolog import logger from lib.topolog import logger
from time import sleep 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()") logger.info("Entering lib API: get_rib_route_uptime()")
route_time = [] route_time = []
out_route_dict = {}
router_list = tgen.routers() router_list = tgen.routers()
for routerInput in input_dict.keys(): for routerInput in input_dict.keys():
for router, rnode in router_list.items(): 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: for static_route in static_routes:
if "vrf" in static_route and static_route["vrf"] is not None: if "vrf" in static_route and static_route["vrf"] is not None:
logger.info( logger.info(
"[DUT: {}]: Verifying routes for VRF:" "[DUT: {}]: Verifying routes for VRF:"
" {}".format(router, static_route["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 on failure : return error message with boolean False
""" """
is_ipv4_best_path_found = False is_ipv4_best_path_found = False
is_ipv6_best_path_found = False
rnode = tgen.routers()[dut] rnode = tgen.routers()[dut]
ipv4_show_bgp_json = run_frr_cmd(rnode, "sh ip bgp json ", isjson=True) ipv4_show_bgp_json = run_frr_cmd(rnode, "sh ip bgp json ", isjson=True)
ipv6_show_bgp_json = run_frr_cmd( 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) ipv_dict = get_best_path_route_in_FIB(tgen, topo, dut="r2", network=network)
dut_links = topo["routers"]["r1"]["links"] dut_links = topo["routers"]["r1"]["links"]
active_interface = None active_interface = None
for key, values in dut_links.items(): for key, _ in dut_links.items():
ipv4_address = dut_links[key]["ipv4"].split("/")[0] ipv4_address = dut_links[key]["ipv4"].split("/")[0]
ipv6_address = dut_links[key]["ipv6"].split("/")[0] ipv6_address = dut_links[key]["ipv6"].split("/")[0]
if ipv_dict["ipv4"] == ipv4_address and ipv_dict["ipv6"] == ipv6_address: if ipv_dict["ipv4"] == ipv4_address and ipv_dict["ipv6"] == ipv6_address:

View File

@ -18,8 +18,6 @@ import os
import sys import sys
import time import time
import pytest import pytest
from time import sleep
from copy import deepcopy
from lib.topolog import logger from lib.topolog import logger
# pylint: disable=C0413 # pylint: disable=C0413
@ -30,32 +28,18 @@ from lib.topolog import logger
from lib.bgp import ( from lib.bgp import (
verify_bgp_convergence, verify_bgp_convergence,
verify_graceful_restart,
create_router_bgp, create_router_bgp,
verify_router_id,
modify_as_number, modify_as_number,
verify_as_numbers,
clear_bgp_and_verify,
clear_bgp,
verify_bgp_rib, verify_bgp_rib,
get_prefix_count_route, get_prefix_count_route,
get_dut_as_number, get_dut_as_number,
verify_rib_default_route, 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 ( from lib.common_config import (
interface_status,
verify_prefix_lists, verify_prefix_lists,
verify_fib_routes, verify_fib_routes,
kill_router_daemons,
start_router_daemons,
shutdown_bringup_interface,
step, step,
required_linux_kernel_version, required_linux_kernel_version,
stop_router,
start_router,
create_route_maps, create_route_maps,
create_prefix_lists, create_prefix_lists,
get_frr_ipv6_linklocal, get_frr_ipv6_linklocal,

View File

@ -17,8 +17,6 @@ import os
import sys import sys
import time import time
import pytest import pytest
from time import sleep
from copy import deepcopy
from lib.topolog import logger from lib.topolog import logger
# pylint: disable=C0413 # pylint: disable=C0413
@ -31,13 +29,8 @@ from lib.bgp import (
verify_bgp_convergence, verify_bgp_convergence,
verify_graceful_restart, verify_graceful_restart,
create_router_bgp, create_router_bgp,
verify_router_id,
modify_as_number, modify_as_number,
verify_as_numbers,
clear_bgp_and_verify,
clear_bgp,
verify_bgp_rib, verify_bgp_rib,
get_prefix_count_route,
get_dut_as_number, get_dut_as_number,
verify_rib_default_route, verify_rib_default_route,
verify_fib_default_route, verify_fib_default_route,
@ -45,16 +38,12 @@ from lib.bgp import (
verify_bgp_received_routes_from_neighbor, verify_bgp_received_routes_from_neighbor,
) )
from lib.common_config import ( from lib.common_config import (
interface_status,
verify_prefix_lists, verify_prefix_lists,
verify_fib_routes, verify_fib_routes,
kill_router_daemons, kill_router_daemons,
start_router_daemons, start_router_daemons,
shutdown_bringup_interface,
step, step,
required_linux_kernel_version, required_linux_kernel_version,
stop_router,
start_router,
create_route_maps, create_route_maps,
create_prefix_lists, create_prefix_lists,
get_frr_ipv6_linklocal, get_frr_ipv6_linklocal,
@ -65,7 +54,6 @@ from lib.common_config import (
reset_config_on_routers, reset_config_on_routers,
create_static_routes, create_static_routes,
check_router_status, check_router_status,
delete_route_maps,
) )

View File

@ -10,8 +10,6 @@ import os
import sys import sys
import time import time
import pytest import pytest
from time import sleep
from copy import deepcopy
from lib.topolog import logger from lib.topolog import logger
# pylint: disable=C0413 # pylint: disable=C0413
@ -22,32 +20,17 @@ from lib.topolog import logger
from lib.bgp import ( from lib.bgp import (
verify_bgp_convergence, verify_bgp_convergence,
verify_graceful_restart,
create_router_bgp, create_router_bgp,
verify_router_id,
modify_as_number, modify_as_number,
verify_as_numbers,
clear_bgp_and_verify,
clear_bgp,
verify_bgp_rib, verify_bgp_rib,
get_prefix_count_route, get_prefix_count_route,
get_dut_as_number, 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 ( from lib.common_config import (
interface_status,
verify_prefix_lists, verify_prefix_lists,
verify_rib, verify_rib,
kill_router_daemons,
start_router_daemons,
shutdown_bringup_interface,
step, step,
required_linux_kernel_version, required_linux_kernel_version,
stop_router,
start_router,
create_route_maps, create_route_maps,
create_prefix_lists, create_prefix_lists,
get_frr_ipv6_linklocal, get_frr_ipv6_linklocal,
@ -58,7 +41,6 @@ from lib.common_config import (
reset_config_on_routers, reset_config_on_routers,
create_static_routes, create_static_routes,
check_router_status, check_router_status,
delete_route_maps,
) )
pytestmark = [pytest.mark.bgpd, pytest.mark.staticd] pytestmark = [pytest.mark.bgpd, pytest.mark.staticd]

View File

@ -19,7 +19,6 @@ import os
import sys import sys
import time import time
import pytest import pytest
from copy import deepcopy
from lib.topolog import logger from lib.topolog import logger
# pylint: disable=C0413 # pylint: disable=C0413

View File

@ -215,7 +215,6 @@ def test_bgp_admin_distance_ebgp_ecmp_p0():
step("Configure static route in R4 and R5, redistribute in bgp") step("Configure static route in R4 and R5, redistribute in bgp")
for addr_type in ADDR_TYPES: for addr_type in ADDR_TYPES:
input_dict = { input_dict = {
"r4": { "r4": {
"static_routes": [{"network": NETWORK[addr_type], "next_hop": "Null0"}] "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: for addr_type in ADDR_TYPES:
input_dict = { input_dict = {
"r5": { "r5": {
"static_routes": [{"network": NETWORK[addr_type], "next_hop": "Null0"}] "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).") step("Configure the static route in R3 (Dut).")
for addr_type in ADDR_TYPES: for addr_type in ADDR_TYPES:
input_dict = { input_dict = {
"r3": { "r3": {
"static_routes": [ "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.") step(" Configure the admin distance of 254 to static route in R3.")
for addr_type in ADDR_TYPES: for addr_type in ADDR_TYPES:
input_dict = { input_dict = {
"r3": { "r3": {
"static_routes": [ "static_routes": [
@ -571,7 +567,6 @@ def test_bgp_admin_distance_ebgp_ecmp_p0():
step("Reconfigure the static route without admin distance") step("Reconfigure the static route without admin distance")
for addr_type in ADDR_TYPES: for addr_type in ADDR_TYPES:
input_dict = { input_dict = {
"r3": { "r3": {
"static_routes": [ "static_routes": [
@ -993,7 +988,6 @@ def test_bgp_admin_distance_ibgp_p0():
step("Configure static route Without any admin distance") step("Configure static route Without any admin distance")
for addr_type in ADDR_TYPES: for addr_type in ADDR_TYPES:
input_dict = { input_dict = {
"r3": { "r3": {
"static_routes": [{"network": NETWORK[addr_type], "next_hop": "Null0"}] "static_routes": [{"network": NETWORK[addr_type], "next_hop": "Null0"}]
@ -1009,7 +1003,6 @@ def test_bgp_admin_distance_ibgp_p0():
protocol = "static" protocol = "static"
for addr_type in ADDR_TYPES: for addr_type in ADDR_TYPES:
input_dict = { input_dict = {
"r3": { "r3": {
"static_routes": [{"network": NETWORK[addr_type], "next_hop": "Null0"}] "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") step("Configure static route with admin distance of 253")
for addr_type in ADDR_TYPES: for addr_type in ADDR_TYPES:
input_dict = { input_dict = {
"r3": { "r3": {
"static_routes": [ "static_routes": [
@ -1086,7 +1078,6 @@ def test_bgp_admin_distance_ibgp_p0():
step("Delete the static route.") step("Delete the static route.")
for addr_type in ADDR_TYPES: for addr_type in ADDR_TYPES:
input_dict = { input_dict = {
"r3": { "r3": {
"static_routes": [ "static_routes": [

View File

@ -14,7 +14,6 @@ T4: Disable Addpath capability and check if it's exchanged dynamically
""" """
import os import os
import re
import sys import sys
import json import json
import pytest import pytest
@ -27,7 +26,7 @@ sys.path.append(os.path.join(CWD, "../"))
# pylint: disable=C0413 # pylint: disable=C0413
from lib import topotest from lib import topotest
from lib.topogen import Topogen, TopoRouter, get_topogen from lib.topogen import Topogen, get_topogen
def setup_module(mod): def setup_module(mod):

View File

@ -10,7 +10,6 @@ Test if fqdn capability is exchanged dynamically.
""" """
import os import os
import re
import sys import sys
import json import json
import pytest import pytest
@ -23,7 +22,7 @@ sys.path.append(os.path.join(CWD, "../"))
# pylint: disable=C0413 # pylint: disable=C0413
from lib import topotest 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 from lib.common_config import step

View File

@ -12,7 +12,6 @@ via BGP dynamic capability.
""" """
import os import os
import re
import sys import sys
import json import json
import pytest import pytest
@ -25,7 +24,7 @@ sys.path.append(os.path.join(CWD, "../"))
# pylint: disable=C0413 # pylint: disable=C0413
from lib import topotest 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 from lib.common_config import step

View File

@ -10,7 +10,6 @@ Test if ORF capability is adjusted dynamically.
""" """
import os import os
import re
import sys import sys
import json import json
import pytest import pytest
@ -23,7 +22,7 @@ sys.path.append(os.path.join(CWD, "../"))
# pylint: disable=C0413 # pylint: disable=C0413
from lib import topotest 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 from lib.common_config import step

View File

@ -10,7 +10,6 @@ Test if role capability is exchanged dynamically.
""" """
import os import os
import re
import sys import sys
import json import json
import pytest import pytest
@ -23,7 +22,7 @@ sys.path.append(os.path.join(CWD, "../"))
# pylint: disable=C0413 # pylint: disable=C0413
from lib import topotest 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 from lib.common_config import step

View File

@ -23,7 +23,7 @@ sys.path.append(os.path.join(CWD, "../"))
# pylint: disable=C0413 # pylint: disable=C0413
from lib import topotest 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 from lib.common_config import step

View File

@ -106,7 +106,7 @@ def setup_module(mod):
# Api call verify whether BGP is converged # Api call verify whether BGP is converged
ADDR_TYPES = check_address_types() ADDR_TYPES = check_address_types()
for addr_type in ADDR_TYPES: for _ in ADDR_TYPES:
BGP_CONVERGENCE = verify_bgp_convergence(tgen, topo) BGP_CONVERGENCE = verify_bgp_convergence(tgen, topo)
assert BGP_CONVERGENCE is True, "setup_module :Failed \n Error:" " {}".format( assert BGP_CONVERGENCE is True, "setup_module :Failed \n Error:" " {}".format(
BGP_CONVERGENCE BGP_CONVERGENCE
@ -153,7 +153,6 @@ def teardown_module():
def static_or_nw(tgen, topo, tc_name, test_type, dut): def static_or_nw(tgen, topo, tc_name, test_type, dut):
if test_type == "redist_static": if test_type == "redist_static":
input_dict_static = { input_dict_static = {
dut: { dut: {
@ -363,7 +362,6 @@ def test_ecmp_remove_redistribute_static(request):
reset_config_on_routers(tgen) reset_config_on_routers(tgen)
static_or_nw(tgen, topo, tc_name, "redist_static", "r2") static_or_nw(tgen, topo, tc_name, "redist_static", "r2")
for addr_type in ADDR_TYPES: for addr_type in ADDR_TYPES:
# Verifying RIB routes # Verifying RIB routes
dut = "r3" dut = "r3"
protocol = "bgp" 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) assert result is True, "Testcase {} : Failed \n Error: {}".format(tc_name, result)
for addr_type in ADDR_TYPES: for addr_type in ADDR_TYPES:
# Verifying RIB routes # Verifying RIB routes
dut = "r3" dut = "r3"
protocol = "bgp" protocol = "bgp"

View File

@ -6,7 +6,6 @@
# #
import os import os
import re
import sys import sys
import json import json
import pytest import pytest
@ -17,7 +16,7 @@ sys.path.append(os.path.join(CWD, "../"))
# pylint: disable=C0413 # pylint: disable=C0413
from lib import topotest from lib import topotest
from lib.topogen import Topogen, TopoRouter, get_topogen from lib.topogen import Topogen, get_topogen
pytestmark = [pytest.mark.bgpd] pytestmark = [pytest.mark.bgpd]

View File

@ -455,7 +455,7 @@ def check_remote_es(esi, vtep_ips, dut_name, down_vteps):
else: else:
tor_ips_rack = tor_ips_rack_1 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) remote_ips.append(tor_ip)
# remove down VTEPs from the remote check list # remove down VTEPs from the remote check list

View File

@ -241,7 +241,7 @@ def evpn_gateway_ip_show_op_check(trigger=" "):
expected_op = json.loads(open(expected_op_file).read()) expected_op = json.loads(open(expected_op_file).read())
test_func = partial(topotest.router_json_cmp, pe, command, expected_op) 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) assertmsg = '"{0}" JSON output mismatch for {1}'.format(name, command)
if result is not None: if result is not None:
return result, assertmsg return result, assertmsg

View File

@ -10,7 +10,6 @@ Test if route-map match by EVPN route-type works.
""" """
import os import os
import re
import sys import sys
import json import json
import pytest import pytest
@ -23,8 +22,7 @@ sys.path.append(os.path.join(CWD, "../"))
# pylint: disable=C0413 # pylint: disable=C0413
from lib import topotest 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
def setup_module(mod): def setup_module(mod):

View File

@ -25,7 +25,6 @@ sys.path.append(os.path.join(CWD, "../"))
# pylint: disable=C0413 # pylint: disable=C0413
from lib.topogen import Topogen, TopoRouter, get_topogen from lib.topogen import Topogen, TopoRouter, get_topogen
from lib.topolog import logger
from lib import topotest from lib import topotest

View File

@ -6,7 +6,6 @@
# #
import os import os
import re
import sys import sys
import json import json
import pytest import pytest
@ -17,7 +16,7 @@ sys.path.append(os.path.join(CWD, "../"))
# pylint: disable=C0413 # pylint: disable=C0413
from lib import topotest from lib import topotest
from lib.topogen import Topogen, TopoRouter, get_topogen from lib.topogen import Topogen, get_topogen
pytestmark = [pytest.mark.bgpd] pytestmark = [pytest.mark.bgpd]

View File

@ -18,7 +18,6 @@ import functools
import os import os
import sys import sys
import pytest import pytest
import re
import time import time
# Save the Current Working Directory to find configuration files. # Save the Current Working Directory to find configuration files.

View File

@ -102,7 +102,6 @@ from lib.bgp import (
verify_graceful_restart, verify_graceful_restart,
create_router_bgp, create_router_bgp,
verify_r_bit, verify_r_bit,
verify_f_bit,
verify_bgp_convergence, verify_bgp_convergence,
verify_bgp_convergence_from_running_config, verify_bgp_convergence_from_running_config,
) )

View File

@ -117,8 +117,6 @@ from lib.common_config import (
check_address_types, check_address_types,
write_test_footer, write_test_footer,
check_router_status, check_router_status,
shutdown_bringup_interface,
step,
get_frr_ipv6_linklocal, get_frr_ipv6_linklocal,
required_linux_kernel_version, required_linux_kernel_version,
) )

View File

@ -117,7 +117,6 @@ from lib.common_config import (
check_address_types, check_address_types,
write_test_footer, write_test_footer,
check_router_status, check_router_status,
shutdown_bringup_interface,
step, step,
get_frr_ipv6_linklocal, get_frr_ipv6_linklocal,
required_linux_kernel_version, required_linux_kernel_version,

View File

@ -104,8 +104,6 @@ from lib.bgp import (
verify_bgp_rib, verify_bgp_rib,
verify_graceful_restart, verify_graceful_restart,
create_router_bgp, create_router_bgp,
verify_r_bit,
verify_f_bit,
verify_bgp_convergence, verify_bgp_convergence,
verify_bgp_convergence_from_running_config, verify_bgp_convergence_from_running_config,
) )
@ -120,7 +118,6 @@ from lib.common_config import (
check_address_types, check_address_types,
write_test_footer, write_test_footer,
check_router_status, check_router_status,
shutdown_bringup_interface,
step, step,
get_frr_ipv6_linklocal, get_frr_ipv6_linklocal,
required_linux_kernel_version, required_linux_kernel_version,

View File

@ -94,13 +94,10 @@ from lib.bgp import (
verify_bgp_rib, verify_bgp_rib,
verify_graceful_restart, verify_graceful_restart,
create_router_bgp, create_router_bgp,
verify_r_bit,
verify_eor, verify_eor,
verify_f_bit,
verify_bgp_convergence, verify_bgp_convergence,
verify_gr_address_family, verify_gr_address_family,
modify_bgp_config_when_bgpd_down, modify_bgp_config_when_bgpd_down,
verify_graceful_restart_timers,
verify_bgp_convergence_from_running_config, verify_bgp_convergence_from_running_config,
) )
@ -169,7 +166,7 @@ def setup_module(mod):
# Api call verify whether BGP is converged # Api call verify whether BGP is converged
ADDR_TYPES = check_address_types() ADDR_TYPES = check_address_types()
for addr_type in ADDR_TYPES: for _ in ADDR_TYPES:
BGP_CONVERGENCE = verify_bgp_convergence(tgen, topo) BGP_CONVERGENCE = verify_bgp_convergence(tgen, topo)
assert BGP_CONVERGENCE is True, "setup_module : Failed \n Error:" " {}".format( assert BGP_CONVERGENCE is True, "setup_module : Failed \n Error:" " {}".format(
BGP_CONVERGENCE BGP_CONVERGENCE

View File

@ -95,7 +95,6 @@ from lib.bgp import (
verify_graceful_restart, verify_graceful_restart,
create_router_bgp, create_router_bgp,
verify_r_bit, verify_r_bit,
verify_eor,
verify_f_bit, verify_f_bit,
verify_bgp_convergence, verify_bgp_convergence,
verify_gr_address_family, verify_gr_address_family,
@ -114,7 +113,6 @@ from lib.common_config import (
check_address_types, check_address_types,
write_test_footer, write_test_footer,
check_router_status, check_router_status,
step,
get_frr_ipv6_linklocal, get_frr_ipv6_linklocal,
required_linux_kernel_version, required_linux_kernel_version,
) )
@ -169,7 +167,7 @@ def setup_module(mod):
# Api call verify whether BGP is converged # Api call verify whether BGP is converged
ADDR_TYPES = check_address_types() ADDR_TYPES = check_address_types()
for addr_type in ADDR_TYPES: for _ in ADDR_TYPES:
BGP_CONVERGENCE = verify_bgp_convergence(tgen, topo) BGP_CONVERGENCE = verify_bgp_convergence(tgen, topo)
assert BGP_CONVERGENCE is True, "setup_module : Failed \n Error:" " {}".format( assert BGP_CONVERGENCE is True, "setup_module : Failed \n Error:" " {}".format(
BGP_CONVERGENCE BGP_CONVERGENCE

View File

@ -98,9 +98,7 @@ from lib.bgp import (
verify_eor, verify_eor,
verify_f_bit, verify_f_bit,
verify_bgp_convergence, verify_bgp_convergence,
verify_gr_address_family,
modify_bgp_config_when_bgpd_down, modify_bgp_config_when_bgpd_down,
verify_graceful_restart_timers,
verify_bgp_convergence_from_running_config, verify_bgp_convergence_from_running_config,
) )
@ -114,7 +112,6 @@ from lib.common_config import (
check_address_types, check_address_types,
write_test_footer, write_test_footer,
check_router_status, check_router_status,
step,
get_frr_ipv6_linklocal, get_frr_ipv6_linklocal,
required_linux_kernel_version, required_linux_kernel_version,
) )
@ -169,7 +166,7 @@ def setup_module(mod):
# Api call verify whether BGP is converged # Api call verify whether BGP is converged
ADDR_TYPES = check_address_types() ADDR_TYPES = check_address_types()
for addr_type in ADDR_TYPES: for _ in ADDR_TYPES:
BGP_CONVERGENCE = verify_bgp_convergence(tgen, topo) BGP_CONVERGENCE = verify_bgp_convergence(tgen, topo)
assert BGP_CONVERGENCE is True, "setup_module : Failed \n Error:" " {}".format( assert BGP_CONVERGENCE is True, "setup_module : Failed \n Error:" " {}".format(
BGP_CONVERGENCE BGP_CONVERGENCE

View File

@ -96,13 +96,9 @@ from lib.bgp import (
verify_bgp_rib, verify_bgp_rib,
verify_graceful_restart, verify_graceful_restart,
create_router_bgp, create_router_bgp,
verify_r_bit,
verify_eor, verify_eor,
verify_f_bit,
verify_bgp_convergence, verify_bgp_convergence,
verify_gr_address_family,
modify_bgp_config_when_bgpd_down, modify_bgp_config_when_bgpd_down,
verify_graceful_restart_timers,
verify_bgp_convergence_from_running_config, verify_bgp_convergence_from_running_config,
) )
@ -116,7 +112,6 @@ from lib.common_config import (
check_address_types, check_address_types,
write_test_footer, write_test_footer,
check_router_status, check_router_status,
step,
get_frr_ipv6_linklocal, get_frr_ipv6_linklocal,
required_linux_kernel_version, required_linux_kernel_version,
) )
@ -171,7 +166,7 @@ def setup_module(mod):
# Api call verify whether BGP is converged # Api call verify whether BGP is converged
ADDR_TYPES = check_address_types() ADDR_TYPES = check_address_types()
for addr_type in ADDR_TYPES: for _ in ADDR_TYPES:
BGP_CONVERGENCE = verify_bgp_convergence(tgen, topo) BGP_CONVERGENCE = verify_bgp_convergence(tgen, topo)
assert BGP_CONVERGENCE is True, "setup_module : Failed \n Error:" " {}".format( assert BGP_CONVERGENCE is True, "setup_module : Failed \n Error:" " {}".format(
BGP_CONVERGENCE BGP_CONVERGENCE

View File

@ -12,7 +12,6 @@ import time
import pytest import pytest
from time import sleep from time import sleep
import traceback
import ipaddress import ipaddress
# Save the Current Working Directory to find configuration files. # Save the Current Working Directory to find configuration files.
@ -34,37 +33,21 @@ from lib.bgp import (
verify_bgp_rib, verify_bgp_rib,
verify_graceful_restart, verify_graceful_restart,
create_router_bgp, create_router_bgp,
verify_r_bit,
verify_eor,
verify_f_bit,
verify_bgp_convergence, verify_bgp_convergence,
verify_gr_address_family,
modify_bgp_config_when_bgpd_down,
verify_graceful_restart_timers,
verify_bgp_convergence_from_running_config, verify_bgp_convergence_from_running_config,
) )
# Import common_config to use commomnly used APIs # Import common_config to use commomnly used APIs
from lib.common_config import ( from lib.common_config import (
create_common_configuration,
InvalidCLIError,
retry,
generate_ips, generate_ips,
FRRCFG_FILE,
find_interface_with_greater_ip,
check_address_types, check_address_types,
validate_ip_address, validate_ip_address,
run_frr_cmd, run_frr_cmd,
get_frr_ipv6_linklocal,
) )
from lib.common_config import ( from lib.common_config import (
write_test_header, write_test_header,
reset_config_on_routers,
start_topology, start_topology,
kill_router_daemons,
start_router_daemons,
verify_rib,
check_address_types, check_address_types,
write_test_footer, write_test_footer,
check_router_status, 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()") logger.debug("Entering lib API: verify_stale_routes_list()")
router_list = tgen.routers() router_list = tgen.routers()
additional_nexthops_in_required_nhs = []
list1 = []
list2 = []
found_hops = [] found_hops = []
for routerInput in input_dict.keys(): for routerInput in input_dict.keys():
for router, rnode in router_list.items(): for router, rnode in router_list.items():
@ -266,7 +246,7 @@ def setup_module(mod):
# Api call verify whether BGP is converged # Api call verify whether BGP is converged
ADDR_TYPES = check_address_types() ADDR_TYPES = check_address_types()
for addr_type in ADDR_TYPES: for _ in ADDR_TYPES:
BGP_CONVERGENCE = verify_bgp_convergence(tgen, topo) BGP_CONVERGENCE = verify_bgp_convergence(tgen, topo)
assert BGP_CONVERGENCE is True, "setup_module : Failed \n Error:" " {}".format( assert BGP_CONVERGENCE is True, "setup_module : Failed \n Error:" " {}".format(
BGP_CONVERGENCE 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) 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") step("graceful-restart-disable:True at R3")
input_dict = { input_dict = {
"r3": { "r3": {

View File

@ -22,7 +22,7 @@ sys.path.append(os.path.join(CWD, "../"))
# pylint: disable=C0413 # pylint: disable=C0413
from lib import topotest 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 from lib.common_config import step, stop_router
pytestmark = [pytest.mark.bgpd] pytestmark = [pytest.mark.bgpd]

View File

@ -21,7 +21,7 @@ sys.path.append(os.path.join(CWD, "../"))
# pylint: disable=C0413 # pylint: disable=C0413
from lib import topotest 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 from lib.common_config import step, stop_router
pytestmark = [pytest.mark.bgpd] pytestmark = [pytest.mark.bgpd]

View File

@ -23,7 +23,7 @@ sys.path.append(os.path.join(CWD, "../../"))
from lib import topotest from lib import topotest
from lib.topogen import Topogen, TopoRouter, get_topogen from lib.topogen import Topogen, get_topogen
from lib.common_config import ( from lib.common_config import (
write_test_header, write_test_header,

View File

@ -146,7 +146,7 @@ def check_mpls_table(label, protocol):
if label == "auto" and protocol: if label == "auto" and protocol:
output_copy = deepcopy(output) output_copy = deepcopy(output)
for key, data in output_copy.items(): for _, data in output_copy.items():
for nexthop in data.get("nexthops", []): for nexthop in data.get("nexthops", []):
if nexthop.get("type", None) != protocol: if nexthop.get("type", None) != protocol:
continue continue

View File

@ -22,7 +22,6 @@ sys.path.append(os.path.join(CWD, "../"))
# pylint: disable=C0413 # pylint: disable=C0413
from lib import topotest from lib import topotest
from lib.topogen import Topogen, TopoRouter, get_topogen from lib.topogen import Topogen, TopoRouter, get_topogen
from lib.common_config import step
pytestmark = [pytest.mark.bgpd] pytestmark = [pytest.mark.bgpd]

View File

@ -32,7 +32,6 @@ from lib.topogen import Topogen, TopoRouter, get_topogen
from lib.common_config import ( from lib.common_config import (
kill_router_daemons, kill_router_daemons,
start_router_daemons,
step, step,
) )

View File

@ -25,7 +25,6 @@ sys.path.append(os.path.join(CWD, "../lib/"))
# pylint: disable=C0413 # pylint: disable=C0413
# Import topogen and topotest helpers # Import topogen and topotest helpers
from lib.topogen import Topogen, get_topogen from lib.topogen import Topogen, get_topogen
from lib.topotest import version_cmp
from lib.common_config import ( from lib.common_config import (
start_topology, start_topology,

View File

@ -21,7 +21,6 @@ import os
import sys import sys
import time import time
import pytest import pytest
import platform
# Save the Current Working Directory to find configuration files. # Save the Current Working Directory to find configuration files.
CWD = os.path.dirname(os.path.realpath(__file__)) CWD = os.path.dirname(os.path.realpath(__file__))
@ -31,7 +30,6 @@ sys.path.append(os.path.join(CWD, "../lib/"))
# pylint: disable=C0413 # pylint: disable=C0413
# Import topogen and topotest helpers # Import topogen and topotest helpers
from lib.topogen import Topogen, get_topogen from lib.topogen import Topogen, get_topogen
from lib.topotest import version_cmp
from lib.common_config import ( from lib.common_config import (
start_topology, start_topology,

View File

@ -39,7 +39,6 @@ sys.path.append(os.path.join(CWD, "../lib/"))
# pylint: disable=C0413 # pylint: disable=C0413
# Import topogen and topotest helpers # Import topogen and topotest helpers
from lib.topogen import Topogen, get_topogen from lib.topogen import Topogen, get_topogen
from lib.topotest import version_cmp
from lib.common_config import ( from lib.common_config import (
start_topology, start_topology,

View File

@ -31,7 +31,6 @@ sys.path.append(os.path.join(CWD, "../lib/"))
# pylint: disable=C0413 # pylint: disable=C0413
# Import topogen and topotest helpers # Import topogen and topotest helpers
from lib.topogen import Topogen, get_topogen from lib.topogen import Topogen, get_topogen
from lib.topotest import version_cmp
from lib.common_config import ( from lib.common_config import (
start_topology, start_topology,

View File

@ -26,7 +26,6 @@ sys.path.append(os.path.join(CWD, "../lib/"))
# pylint: disable=C0413 # pylint: disable=C0413
# Import topogen and topotest helpers # Import topogen and topotest helpers
from lib.topogen import Topogen, get_topogen from lib.topogen import Topogen, get_topogen
from lib.topotest import version_cmp
from lib.common_config import ( from lib.common_config import (
start_topology, start_topology,

View File

@ -24,7 +24,6 @@ sys.path.append(os.path.join(CWD, "../lib/"))
# pylint: disable=C0413 # pylint: disable=C0413
# Import topogen and topotest helpers # Import topogen and topotest helpers
from lib.topogen import Topogen, get_topogen from lib.topogen import Topogen, get_topogen
from lib.topotest import version_cmp
from lib.common_config import ( from lib.common_config import (
start_topology, start_topology,

View File

@ -38,7 +38,6 @@ sys.path.append(os.path.join(CWD, "../lib/"))
# pylint: disable=C0413 # pylint: disable=C0413
# Import topogen and topotest helpers # Import topogen and topotest helpers
from lib.topogen import Topogen, get_topogen from lib.topogen import Topogen, get_topogen
from lib.topotest import version_cmp
from lib.common_config import ( from lib.common_config import (
start_topology, start_topology,

View File

@ -34,7 +34,6 @@ import os
import sys import sys
import time import time
import pytest import pytest
import platform
# Save the Current Working Directory to find configuration files. # Save the Current Working Directory to find configuration files.
CWD = os.path.dirname(os.path.realpath(__file__)) CWD = os.path.dirname(os.path.realpath(__file__))
@ -44,7 +43,6 @@ sys.path.append(os.path.join(CWD, "../lib/"))
# pylint: disable=C0413 # pylint: disable=C0413
# Import topogen and topotest helpers # Import topogen and topotest helpers
from lib.topogen import Topogen, get_topogen from lib.topogen import Topogen, get_topogen
from lib.topotest import version_cmp
from lib.common_config import ( from lib.common_config import (
start_topology, start_topology,

View File

@ -52,7 +52,6 @@ sys.path.append(os.path.join(CWD, "../lib/"))
# pylint: disable=C0413 # pylint: disable=C0413
# Import topogen and topotest helpers # Import topogen and topotest helpers
from lib.topogen import Topogen, get_topogen from lib.topogen import Topogen, get_topogen
from lib.topotest import version_cmp
from lib.common_config import ( from lib.common_config import (
start_topology, start_topology,

View File

@ -1845,7 +1845,7 @@ def test_vrf_vlan_routing_table_p1(request):
dut = "r3" dut = "r3"
vrf = "RED_A" 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: if c_data["vrf"] != vrf:
continue continue
@ -2634,7 +2634,7 @@ def test_delete_and_re_add_vrf_p1(request):
vrfs = ["RED_A", "BLUE_A"] vrfs = ["RED_A", "BLUE_A"]
for vrf in vrfs: 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: if c_data["vrf"] != vrf:
continue continue
@ -3584,7 +3584,7 @@ def test_vrf_name_significance_p1(request):
vrfs = ["GREY_A", "PINK_A"] vrfs = ["GREY_A", "PINK_A"]
for vrf in vrfs: 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: if c_data["vrf"] != vrf:
continue continue

View File

@ -12,7 +12,6 @@ Test BGP nexthop conformity with IPv4,6 MP-BGP over IPv4 peering
import os import os
import sys import sys
import json import json
import functools
from functools import partial from functools import partial
import pytest import pytest

View File

@ -24,7 +24,7 @@ sys.path.append(os.path.join(CWD, "../"))
# pylint: disable=C0413 # pylint: disable=C0413
from lib import topotest from lib import topotest
from lib.topogen import Topogen, TopoRouter, get_topogen from lib.topogen import Topogen, get_topogen
pytestmark = [pytest.mark.bgpd] pytestmark = [pytest.mark.bgpd]

View File

@ -11,7 +11,6 @@ EBGP-OAD is configured.
""" """
import os import os
import re
import sys import sys
import json import json
import pytest import pytest
@ -24,8 +23,7 @@ sys.path.append(os.path.join(CWD, "../"))
# pylint: disable=C0413 # pylint: disable=C0413
from lib import topotest 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
def setup_module(mod): def setup_module(mod):

View File

@ -23,7 +23,7 @@ sys.path.append(os.path.join(CWD, "../"))
# pylint: disable=C0413 # pylint: disable=C0413
from lib import topotest 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 from lib.common_config import step
pytestmark = [pytest.mark.bgpd] pytestmark = [pytest.mark.bgpd]

View File

@ -90,7 +90,7 @@ def test_r1_rib():
logger.info('[+] check {} "{}" {}'.format(name, cmd, expected_file)) logger.info('[+] check {} "{}" {}'.format(name, cmd, expected_file))
tgen = get_topogen() tgen = get_topogen()
func = functools.partial(_check, name, cmd, expected_file) 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" assert result is None, "Failed"
check("r1", "show bgp ipv6 vpn 2001:1::/64 json", "r1/vpnv6_rib_entry1.json") check("r1", "show bgp ipv6 vpn 2001:1::/64 json", "r1/vpnv6_rib_entry1.json")

View File

@ -86,7 +86,7 @@ def _router_json_cmp_exact_filter(router, cmd, expected):
json_output = json.loads(output) json_output = json.loads(output)
# filter out tableVersion, version, nhVrfId and vrfId # filter out tableVersion, version, nhVrfId and vrfId
for route, attrs in json_output.items(): for _, attrs in json_output.items():
for attr in attrs: for attr in attrs:
if "table" in attr: if "table" in attr:
attr.pop("table") attr.pop("table")

View File

@ -32,7 +32,6 @@ All conditions are tested against an eBGP peer in a public ASN.
import os import os
import sys import sys
import json import json
import time
import pytest import pytest
CWD = os.path.dirname(os.path.realpath(__file__)) CWD = os.path.dirname(os.path.realpath(__file__))

View File

@ -10,7 +10,6 @@ Test if private AS is removed from AS_PATH attribute when route-map is used (pre
""" """
import os import os
import re
import sys import sys
import json import json
import pytest import pytest
@ -23,7 +22,7 @@ sys.path.append(os.path.join(CWD, "../"))
# pylint: disable=C0413 # pylint: disable=C0413
from lib import topotest from lib import topotest
from lib.topogen import Topogen, TopoRouter, get_topogen from lib.topogen import Topogen, get_topogen
def build_topo(tgen): def build_topo(tgen):

View File

@ -24,8 +24,7 @@ sys.path.append(os.path.join(CWD, "../"))
# pylint: disable=C0413 # pylint: disable=C0413
from lib import topotest from lib import topotest
from lib.topogen import Topogen, TopoRouter, get_topogen from lib.topogen import Topogen, TopoRouter
from lib.topolog import logger
pytestmark = [pytest.mark.bgpd] pytestmark = [pytest.mark.bgpd]
@ -38,7 +37,7 @@ def tgen(request):
tgen = Topogen(topodef, request.module.__name__) tgen = Topogen(topodef, request.module.__name__)
tgen.start_topology() tgen.start_topology()
router_list = tgen.routers() 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_ZEBRA, "zebra.conf")
router.load_config(TopoRouter.RD_BGP, "bgpd.conf") router.load_config(TopoRouter.RD_BGP, "bgpd.conf")
tgen.start_router() tgen.start_router()
@ -82,9 +81,7 @@ def test_correct_pair(tgen):
check_r2_established = functools.partial( check_r2_established = functools.partial(
check_session_established, router, neighbor_ip check_session_established, router, neighbor_ip
) )
success, _ = topotest.run_and_expect( success, _ = topotest.run_and_expect(check_r2_established, True, count=20, wait=3)
check_r2_established, True, count=20, wait=3
)
assert success, "Session with r2 is not Established" assert success, "Session with r2 is not Established"
neighbor_status = find_neighbor_status(router, neighbor_ip) neighbor_status = find_neighbor_status(router, neighbor_ip)
@ -111,9 +108,7 @@ def test_single_role_advertising(tgen):
check_r4_established = functools.partial( check_r4_established = functools.partial(
check_session_established, router, neighbor_ip check_session_established, router, neighbor_ip
) )
success, _ = topotest.run_and_expect( success, _ = topotest.run_and_expect(check_r4_established, True, count=20, wait=3)
check_r4_established, True, count=20, wait=3
)
assert success, "Session with r4 is not Established" assert success, "Session with r4 is not Established"
neighbor_status = find_neighbor_status(router, neighbor_ip) neighbor_status = find_neighbor_status(router, neighbor_ip)
@ -129,9 +124,7 @@ def test_single_role_receiving(tgen):
check_r1_established = functools.partial( check_r1_established = functools.partial(
check_session_established, router, neighbor_ip check_session_established, router, neighbor_ip
) )
success, _ = topotest.run_and_expect( success, _ = topotest.run_and_expect(check_r1_established, True, count=20, wait=3)
check_r1_established, True, count=20, wait=3
)
assert success, "Session with r1 is not Established" assert success, "Session with r1 is not Established"
neighbor_status = find_neighbor_status(router, neighbor_ip) neighbor_status = find_neighbor_status(router, neighbor_ip)

View File

@ -16,7 +16,6 @@ test_bgp_roles_filtering: test leaks prevention and mitigation with roles
import json import json
import os import os
import sys import sys
import functools
import pytest import pytest
CWD = os.path.dirname(os.path.realpath(__file__)) CWD = os.path.dirname(os.path.realpath(__file__))
@ -24,9 +23,7 @@ sys.path.append(os.path.join(CWD, "../"))
# pylint: disable=C0413 # pylint: disable=C0413
from lib import topotest from lib import topotest
from lib.bgp import verify_bgp_convergence_from_running_config from lib.topogen import Topogen, TopoRouter
from lib.topogen import Topogen, TopoRouter, get_topogen
from lib.topolog import logger
pytestmark = [pytest.mark.bgpd] pytestmark = [pytest.mark.bgpd]
@ -39,7 +36,7 @@ def tgen(request):
tgen = Topogen(topodef, request.module.__name__) tgen = Topogen(topodef, request.module.__name__)
tgen.start_topology() tgen.start_topology()
router_list = tgen.routers() 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_ZEBRA, "zebra.conf")
router.load_config(TopoRouter.RD_BGP, "bgpd.conf") router.load_config(TopoRouter.RD_BGP, "bgpd.conf")
tgen.start_router() tgen.start_router()
@ -69,9 +66,7 @@ def test_r10_routes(tgen):
] ]
return output == expected return output == expected
success, _ = topotest.run_and_expect( success, _ = topotest.run_and_expect(_routes_half_converged, True, count=20, wait=3)
_routes_half_converged, True, count=20, wait=3
)
assert success, "Routes did not converged" assert success, "Routes did not converged"
routes_with_otc = list() routes_with_otc = list()

View File

@ -119,7 +119,7 @@ def setup_module(mod):
# Api call verify whether BGP is converged # Api call verify whether BGP is converged
ADDR_TYPES = check_address_types() ADDR_TYPES = check_address_types()
for addr_type in ADDR_TYPES: for _ in ADDR_TYPES:
BGP_CONVERGENCE = verify_bgp_convergence(tgen, topo) BGP_CONVERGENCE = verify_bgp_convergence(tgen, topo)
assert BGP_CONVERGENCE is True, "setup_module :Failed \n Error:" " {}".format( assert BGP_CONVERGENCE is True, "setup_module :Failed \n Error:" " {}".format(
BGP_CONVERGENCE BGP_CONVERGENCE

View File

@ -22,7 +22,7 @@ sys.path.append(os.path.join(CWD, "../"))
# pylint: disable=C0413 # pylint: disable=C0413
from lib import topotest from lib import topotest
from lib.topogen import Topogen, TopoRouter, get_topogen from lib.topogen import Topogen, get_topogen
pytestmark = [pytest.mark.bgpd] pytestmark = [pytest.mark.bgpd]

View File

@ -17,7 +17,7 @@ sys.path.append(os.path.join(CWD, "../"))
# pylint: disable=C0413 # pylint: disable=C0413
from lib import topotest from lib import topotest
from lib.topogen import Topogen, TopoRouter, get_topogen from lib.topogen import Topogen, get_topogen
pytestmark = [pytest.mark.bgpd] pytestmark = [pytest.mark.bgpd]

View File

@ -24,7 +24,6 @@ sys.path.append(os.path.join(CWD, "../"))
# pylint: disable=C0413 # pylint: disable=C0413
from lib import topotest from lib import topotest
from lib.topogen import Topogen, TopoRouter, get_topogen from lib.topogen import Topogen, TopoRouter, get_topogen
from lib.common_config import step
pytestmark = [pytest.mark.bgpd] pytestmark = [pytest.mark.bgpd]

View File

@ -11,7 +11,6 @@
import os import os
import sys import sys
import json
import pytest import pytest
import functools import functools

View File

@ -132,7 +132,6 @@ def test_zebra_ipv4_routingTable():
if tgen.routers_have_failure(): if tgen.routers_have_failure():
pytest.skip(tgen.errors) pytest.skip(tgen.errors)
failures = 0
router_list = tgen.routers().values() router_list = tgen.routers().values()
for router in router_list: for router in router_list:
output = router.vtysh_cmd("show ip route json", isjson=True) output = router.vtysh_cmd("show ip route json", isjson=True)

View File

@ -325,7 +325,6 @@ def router_interface_get_ifindex(router, interface):
def generate_vrf_ifindex_oid(vrf, ifindex): def generate_vrf_ifindex_oid(vrf, ifindex):
intoid = snmp_uint32_to_oid(int(ifindex)) intoid = snmp_uint32_to_oid(int(ifindex))
vrfoid = snmp_str_to_oid(vrf) vrfoid = snmp_str_to_oid(vrf)
oid = "{}.{}".format(vrfoid, intoid) oid = "{}.{}".format(vrfoid, intoid)

View File

@ -8,10 +8,7 @@
# #
import os import os
import re
import sys import sys
import json
import functools
import pytest import pytest
CWD = os.path.dirname(os.path.realpath(__file__)) CWD = os.path.dirname(os.path.realpath(__file__))
@ -19,9 +16,7 @@ sys.path.append(os.path.join(CWD, "../"))
# pylint: disable=C0413 # pylint: disable=C0413
# Import topogen and topotest helpers # Import topogen and topotest helpers
from lib import topotest
from lib.topogen import Topogen, TopoRouter, get_topogen from lib.topogen import Topogen, TopoRouter, get_topogen
from lib.topolog import logger
from lib.common_config import required_linux_kernel_version from lib.common_config import required_linux_kernel_version
from lib.checkping import check_ping from lib.checkping import check_ping

View File

@ -9,10 +9,7 @@
# #
import os import os
import re
import sys import sys
import json
import functools
import pytest import pytest
CWD = os.path.dirname(os.path.realpath(__file__)) CWD = os.path.dirname(os.path.realpath(__file__))
@ -20,9 +17,7 @@ sys.path.append(os.path.join(CWD, "../"))
# pylint: disable=C0413 # pylint: disable=C0413
# Import topogen and topotest helpers # Import topogen and topotest helpers
from lib import topotest
from lib.topogen import Topogen, TopoRouter, get_topogen from lib.topogen import Topogen, TopoRouter, get_topogen
from lib.topolog import logger
from lib.common_config import required_linux_kernel_version from lib.common_config import required_linux_kernel_version
from lib.checkping import check_ping from lib.checkping import check_ping

View File

@ -6,10 +6,8 @@
# #
import os import os
import re
import sys import sys
import json import json
import functools
import pytest import pytest
CWD = os.path.dirname(os.path.realpath(__file__)) 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 import topotest
from lib.topogen import Topogen, TopoRouter, get_topogen from lib.topogen import Topogen, TopoRouter, get_topogen
from lib.topolog import logger from lib.topolog import logger
from lib.common_config import required_linux_kernel_version
pytestmark = [pytest.mark.bgpd] pytestmark = [pytest.mark.bgpd]

View File

@ -20,7 +20,6 @@
# #
import os import os
import re
import sys import sys
import json import json
import functools import functools

View File

@ -9,7 +9,6 @@
# #
import os import os
import re
import sys import sys
import json import json
import functools import functools

View File

@ -15,7 +15,6 @@ import sys
import json import json
import pytest import pytest
from functools import partial from functools import partial
from time import sleep
from lib.topolog import logger from lib.topolog import logger
CWD = os.path.dirname(os.path.realpath(__file__)) CWD = os.path.dirname(os.path.realpath(__file__))

View 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 os
import sys import sys
import json
import pytest import pytest
import functools
import platform
import socket
import subprocess
# add after imports, before defining classes or functions: # add after imports, before defining classes or functions:
pytestmark = [pytest.mark.bgpd] pytestmark = [pytest.mark.bgpd]
@ -31,43 +26,27 @@ CWD = os.path.dirname(os.path.realpath(__file__))
sys.path.append(os.path.join(CWD, "../")) sys.path.append(os.path.join(CWD, "../"))
# pylint: disable=C0413 # pylint: disable=C0413
from lib import topotest from lib.topogen import Topogen, get_topogen
from lib.topogen import Topogen, TopoRouter, get_topogen
from lib.topojson import build_config_from_json from lib.topojson import build_config_from_json
from lib.topolog import logger
import time import time
from lib.bgp import ( from lib.bgp import (
clear_bgp, clear_bgp,
clear_bgp_and_verify,
create_router_bgp, create_router_bgp,
modify_as_number,
verify_as_numbers,
verify_bgp_convergence, verify_bgp_convergence,
verify_bgp_rib, verify_bgp_rib,
verify_bgp_timers_and_functionality,
verify_router_id,
verify_tcp_mss, verify_tcp_mss,
) )
from lib.common_config import ( from lib.common_config import (
kill_router_daemons, kill_router_daemons,
start_router_daemons, start_router_daemons,
addKernelRoute,
apply_raw_config, apply_raw_config,
check_address_types, check_address_types,
check_router_status, check_router_status,
create_prefix_lists,
create_route_maps,
create_static_routes, create_static_routes,
required_linux_kernel_version, required_linux_kernel_version,
reset_config_on_routers,
start_topology, start_topology,
step, step,
verify_admin_distance_for_static_routes,
verify_bgp_community,
verify_fib_routes,
verify_rib,
write_test_footer, write_test_footer,
write_test_header,
) )
# Global variables # Global variables

View File

@ -21,7 +21,7 @@ sys.path.append(os.path.join(CWD, "../"))
# pylint: disable=C0413 # pylint: disable=C0413
from lib import topotest from lib import topotest
from lib.topogen import Topogen, TopoRouter, get_topogen from lib.topogen import Topogen, get_topogen
pytestmark = [pytest.mark.bgpd] pytestmark = [pytest.mark.bgpd]

View File

@ -27,7 +27,6 @@ pytestmark = [pytest.mark.bgpd]
def build_topo(tgen): def build_topo(tgen):
tgen.add_router("r1") tgen.add_router("r1")
tgen.add_router("r2") tgen.add_router("r2")

View File

@ -22,7 +22,6 @@ sys.path.append(os.path.join(CWD, "../"))
# pylint: disable=C0413 # pylint: disable=C0413
from lib import topotest from lib import topotest
from lib.topogen import Topogen, TopoRouter, get_topogen from lib.topogen import Topogen, TopoRouter, get_topogen
from lib.common_config import step
pytestmark = [pytest.mark.bgpd] pytestmark = [pytest.mark.bgpd]

View File

@ -312,7 +312,7 @@ def check_show_bgp_vpn_ok(router, vpnv4_entries):
return "{0}, {1}, route distinguisher not present".format( return "{0}, {1}, route distinguisher not present".format(
router.name, prefix router.name, prefix
) )
for rd, pathes in dump.items(): for _, pathes in dump.items():
for path in pathes["paths"]: for path in pathes["paths"]:
if "remoteLabel" not in path.keys(): if "remoteLabel" not in path.keys():
return "{0}, {1}, remoteLabel not present".format( return "{0}, {1}, remoteLabel not present".format(

View File

@ -141,7 +141,7 @@ def router_json_cmp_exact_filter(router, cmd, expected):
# filter out tableVersion, version and nhVrfID # filter out tableVersion, version and nhVrfID
json_output.pop("tableVersion") json_output.pop("tableVersion")
for rd, data in json_output["routes"]["routeDistinguishers"].items(): for rd, data in json_output["routes"]["routeDistinguishers"].items():
for prefix, attrs in data.items(): for _, attrs in data.items():
for attr in attrs: for attr in attrs:
if "nhVrfId" in attr: if "nhVrfId" in attr:
attr.pop("nhVrfId") attr.pop("nhVrfId")
@ -171,7 +171,7 @@ def router_vrf_json_cmp_exact_filter(router, cmd, expected):
data.pop("tableVersion") data.pop("tableVersion")
if "routes" not in data: if "routes" not in data:
continue continue
for route, attrs in data["routes"].items(): for _, attrs in data["routes"].items():
for attr in attrs: for attr in attrs:
if "nhVrfId" in attr: if "nhVrfId" in attr:
attr.pop("nhVrfId") attr.pop("nhVrfId")

View File

@ -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( assert dump, "{0}, {1}, route distinguisher not present".format(
router.name, prefix router.name, prefix
) )
for rd, pathes in dump.items(): for _, pathes in dump.items():
for path in pathes["paths"]: for path in pathes["paths"]:
assert ( assert (
"remoteLabel" in path.keys() "remoteLabel" in path.keys()
@ -305,7 +305,7 @@ def mpls_table_check(router, blacklist=None, label_list=None, whitelist=None):
test_func = functools.partial( test_func = functools.partial(
check_show_mpls_table, router, blacklist, label_list, whitelist 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) assert success, "{}, MPLS labels check fail: {}".format(router.name, result)

View File

@ -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) 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"]: for path in pathes["paths"]:
assert ( assert (
"remoteLabel" in path.keys() "remoteLabel" in path.keys()
@ -300,7 +300,7 @@ def mpls_table_check(router, blacklist=None, label_list=None, whitelist=None):
test_func = functools.partial( test_func = functools.partial(
check_show_mpls_table, router, blacklist, label_list, whitelist 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) assert success, "{}, MPLS labels check fail: {}".format(router.name, result)
@ -798,7 +798,7 @@ def test_reconfigure_allocation_mode_nexthop():
test_func = functools.partial( test_func = functools.partial(
check_show_mpls_table_entry_label_not_found, router, 17 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" assert success, "r1, mpls entry with label 17 still present"
# Check vpnv6 routes from r1 # Check vpnv6 routes from r1

View File

@ -18,7 +18,6 @@ Following tests are covered to test BGP Multi-VRF Dynamic Route Leaking:
import os import os
import sys import sys
import json
import time import time
import pytest import pytest
import platform import platform
@ -58,7 +57,7 @@ from lib.bgp import (
verify_best_path_as_per_bgp_attribute, verify_best_path_as_per_bgp_attribute,
verify_bgp_rib, 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] pytestmark = [pytest.mark.bgpd, pytest.mark.staticd]

View File

@ -23,7 +23,6 @@ import sys
import time import time
import pytest import pytest
import platform import platform
from time import sleep
# Save the Current Working Directory to find configuration files. # Save the Current Working Directory to find configuration files.
CWD = os.path.dirname(os.path.realpath(__file__)) CWD = os.path.dirname(os.path.realpath(__file__))
@ -49,7 +48,6 @@ from lib.common_config import (
create_static_routes, create_static_routes,
create_prefix_lists, create_prefix_lists,
create_bgp_community_lists, create_bgp_community_lists,
get_frr_ipv6_linklocal,
) )
from lib.topolog import logger from lib.topolog import logger

View File

@ -24,7 +24,6 @@ import sys
import time import time
import pytest import pytest
import platform import platform
from time import sleep
# Save the Current Working Directory to find configuration files. # Save the Current Working Directory to find configuration files.
CWD = os.path.dirname(os.path.realpath(__file__)) CWD = os.path.dirname(os.path.realpath(__file__))
@ -46,18 +45,13 @@ from lib.common_config import (
reset_config_on_routers, reset_config_on_routers,
verify_rib, verify_rib,
step, step,
create_route_maps,
create_static_routes, create_static_routes,
create_prefix_lists,
create_bgp_community_lists,
get_frr_ipv6_linklocal,
) )
from lib.topolog import logger from lib.topolog import logger
from lib.bgp import ( from lib.bgp import (
verify_bgp_convergence, verify_bgp_convergence,
create_router_bgp, create_router_bgp,
verify_bgp_community,
verify_bgp_rib, verify_bgp_rib,
) )
from lib.topojson import build_config_from_json from lib.topojson import build_config_from_json

View File

@ -24,7 +24,6 @@ import sys
import time import time
import pytest import pytest
import platform import platform
from time import sleep
# Save the Current Working Directory to find configuration files. # Save the Current Working Directory to find configuration files.
CWD = os.path.dirname(os.path.realpath(__file__)) CWD = os.path.dirname(os.path.realpath(__file__))
@ -46,18 +45,13 @@ from lib.common_config import (
reset_config_on_routers, reset_config_on_routers,
verify_rib, verify_rib,
step, step,
create_route_maps,
create_static_routes, create_static_routes,
create_prefix_lists,
create_bgp_community_lists,
get_frr_ipv6_linklocal,
) )
from lib.topolog import logger from lib.topolog import logger
from lib.bgp import ( from lib.bgp import (
verify_bgp_convergence, verify_bgp_convergence,
create_router_bgp, create_router_bgp,
verify_bgp_community,
verify_bgp_rib, verify_bgp_rib,
) )
from lib.topojson import build_config_from_json from lib.topojson import build_config_from_json

View File

@ -24,7 +24,6 @@ import sys
import time import time
import pytest import pytest
import platform import platform
from time import sleep
# Save the Current Working Directory to find configuration files. # Save the Current Working Directory to find configuration files.
CWD = os.path.dirname(os.path.realpath(__file__)) CWD = os.path.dirname(os.path.realpath(__file__))
@ -46,18 +45,13 @@ from lib.common_config import (
reset_config_on_routers, reset_config_on_routers,
verify_rib, verify_rib,
step, step,
create_route_maps,
create_static_routes, create_static_routes,
create_prefix_lists,
create_bgp_community_lists,
get_frr_ipv6_linklocal,
) )
from lib.topolog import logger from lib.topolog import logger
from lib.bgp import ( from lib.bgp import (
verify_bgp_convergence, verify_bgp_convergence,
create_router_bgp, create_router_bgp,
verify_bgp_community,
verify_bgp_rib, verify_bgp_rib,
) )
from lib.topojson import build_config_from_json from lib.topojson import build_config_from_json

View File

@ -6,10 +6,8 @@
# #
import os import os
import re
import sys import sys
import json import json
import functools
import pytest import pytest
CWD = os.path.dirname(os.path.realpath(__file__)) 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 import topotest
from lib.topogen import Topogen, TopoRouter, get_topogen from lib.topogen import Topogen, TopoRouter, get_topogen
from lib.topolog import logger from lib.topolog import logger
from lib.common_config import required_linux_kernel_version
pytestmark = [pytest.mark.bgpd] pytestmark = [pytest.mark.bgpd]

View File

@ -49,9 +49,7 @@ from lib.topolog import logger
from lib.bgp import ( from lib.bgp import (
verify_bgp_convergence, verify_bgp_convergence,
create_router_bgp, create_router_bgp,
verify_bgp_community,
verify_bgp_rib, verify_bgp_rib,
clear_bgp,
verify_best_path_as_per_bgp_attribute, verify_best_path_as_per_bgp_attribute,
) )
from lib.topojson import build_config_from_json from lib.topojson import build_config_from_json

Some files were not shown because too many files have changed in this diff Show More