diff options
author | Lou Berger <lberger@labn.net> | 2019-06-13 22:38:19 +0200 |
---|---|---|
committer | Lou Berger <lberger@labn.net> | 2019-06-18 13:54:57 +0200 |
commit | 90d5fc83c0986fcc20546cb9d527bd3280ee9937 (patch) | |
tree | 4ca5cd8da3b68f156b062d6d09a162a1a3a09679 /tests | |
parent | bgpd: handle additional events occuring during instance shutdown (diff) | |
download | frr-90d5fc83c0986fcc20546cb9d527bd3280ee9937.tar.xz frr-90d5fc83c0986fcc20546cb9d527bd3280ee9937.zip |
tests/topotests: add bgp_instance_del_test to test for crashes seen during bgp instance deletes
Signed-off-by: Lou Berger <lberger@labn.net>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/topotests/bgp_instance_del_test/__init__.py | 0 | ||||
l--------- | tests/topotests/bgp_instance_del_test/ce1 | 1 | ||||
l--------- | tests/topotests/bgp_instance_del_test/ce2 | 1 | ||||
l--------- | tests/topotests/bgp_instance_del_test/ce3 | 1 | ||||
l--------- | tests/topotests/bgp_instance_del_test/ce4 | 1 | ||||
l--------- | tests/topotests/bgp_instance_del_test/customize.py | 1 | ||||
l--------- | tests/topotests/bgp_instance_del_test/r1 | 1 | ||||
l--------- | tests/topotests/bgp_instance_del_test/r2 | 1 | ||||
l--------- | tests/topotests/bgp_instance_del_test/r3 | 1 | ||||
l--------- | tests/topotests/bgp_instance_del_test/r4 | 1 | ||||
l--------- | tests/topotests/bgp_instance_del_test/scripts | 1 | ||||
-rwxr-xr-x | tests/topotests/bgp_instance_del_test/test_bgp_instance_del_test.py | 89 | ||||
-rw-r--r-- | tests/topotests/bgp_l3vpn_to_bgp_vrf/scripts/del_bgp_instances.py | 7 |
13 files changed, 106 insertions, 0 deletions
diff --git a/tests/topotests/bgp_instance_del_test/__init__.py b/tests/topotests/bgp_instance_del_test/__init__.py new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/tests/topotests/bgp_instance_del_test/__init__.py diff --git a/tests/topotests/bgp_instance_del_test/ce1 b/tests/topotests/bgp_instance_del_test/ce1 new file mode 120000 index 000000000..0924eb5f3 --- /dev/null +++ b/tests/topotests/bgp_instance_del_test/ce1 @@ -0,0 +1 @@ +../bgp_l3vpn_to_bgp_vrf/ce1
\ No newline at end of file diff --git a/tests/topotests/bgp_instance_del_test/ce2 b/tests/topotests/bgp_instance_del_test/ce2 new file mode 120000 index 000000000..8c7a6777a --- /dev/null +++ b/tests/topotests/bgp_instance_del_test/ce2 @@ -0,0 +1 @@ +../bgp_l3vpn_to_bgp_vrf/ce2
\ No newline at end of file diff --git a/tests/topotests/bgp_instance_del_test/ce3 b/tests/topotests/bgp_instance_del_test/ce3 new file mode 120000 index 000000000..0abb8e55e --- /dev/null +++ b/tests/topotests/bgp_instance_del_test/ce3 @@ -0,0 +1 @@ +../bgp_l3vpn_to_bgp_vrf/ce3
\ No newline at end of file diff --git a/tests/topotests/bgp_instance_del_test/ce4 b/tests/topotests/bgp_instance_del_test/ce4 new file mode 120000 index 000000000..ddee1eff9 --- /dev/null +++ b/tests/topotests/bgp_instance_del_test/ce4 @@ -0,0 +1 @@ +../bgp_l3vpn_to_bgp_vrf/ce4
\ No newline at end of file diff --git a/tests/topotests/bgp_instance_del_test/customize.py b/tests/topotests/bgp_instance_del_test/customize.py new file mode 120000 index 000000000..99fcf39eb --- /dev/null +++ b/tests/topotests/bgp_instance_del_test/customize.py @@ -0,0 +1 @@ +../bgp_l3vpn_to_bgp_vrf/customize.py
\ No newline at end of file diff --git a/tests/topotests/bgp_instance_del_test/r1 b/tests/topotests/bgp_instance_del_test/r1 new file mode 120000 index 000000000..16babfa8d --- /dev/null +++ b/tests/topotests/bgp_instance_del_test/r1 @@ -0,0 +1 @@ +../bgp_l3vpn_to_bgp_vrf/r1
\ No newline at end of file diff --git a/tests/topotests/bgp_instance_del_test/r2 b/tests/topotests/bgp_instance_del_test/r2 new file mode 120000 index 000000000..e25b93276 --- /dev/null +++ b/tests/topotests/bgp_instance_del_test/r2 @@ -0,0 +1 @@ +../bgp_l3vpn_to_bgp_vrf/r2
\ No newline at end of file diff --git a/tests/topotests/bgp_instance_del_test/r3 b/tests/topotests/bgp_instance_del_test/r3 new file mode 120000 index 000000000..0d7c189c6 --- /dev/null +++ b/tests/topotests/bgp_instance_del_test/r3 @@ -0,0 +1 @@ +../bgp_l3vpn_to_bgp_vrf/r3
\ No newline at end of file diff --git a/tests/topotests/bgp_instance_del_test/r4 b/tests/topotests/bgp_instance_del_test/r4 new file mode 120000 index 000000000..2d667d37a --- /dev/null +++ b/tests/topotests/bgp_instance_del_test/r4 @@ -0,0 +1 @@ +../bgp_l3vpn_to_bgp_vrf/r4
\ No newline at end of file diff --git a/tests/topotests/bgp_instance_del_test/scripts b/tests/topotests/bgp_instance_del_test/scripts new file mode 120000 index 000000000..c46bf1f07 --- /dev/null +++ b/tests/topotests/bgp_instance_del_test/scripts @@ -0,0 +1 @@ +../bgp_l3vpn_to_bgp_vrf/scripts
\ No newline at end of file diff --git a/tests/topotests/bgp_instance_del_test/test_bgp_instance_del_test.py b/tests/topotests/bgp_instance_del_test/test_bgp_instance_del_test.py new file mode 100755 index 000000000..115c7793a --- /dev/null +++ b/tests/topotests/bgp_instance_del_test/test_bgp_instance_del_test.py @@ -0,0 +1,89 @@ +#!/usr/bin/env python + +# +# Part of NetDEF Topology Tests +# +# Copyright (c) 2018, LabN Consulting, L.L.C. +# Authored by Lou Berger <lberger@labn.net> +# +# Permission to use, copy, modify, and/or distribute this software +# for any purpose with or without fee is hereby granted, provided +# that the above copyright notice and this permission notice appear +# in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND NETDEF DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL NETDEF BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY +# DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +# WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS +# ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +# OF THIS SOFTWARE. +# + +import os +import sys +import pytest + +sys.path.append(os.path.join(os.path.dirname(os.path.realpath(__file__)), '../')) + +from lib.ltemplate import * + +def test_check_linux_vrf(): + CliOnFail = None + # For debugging, uncomment the next line + #CliOnFail = 'tgen.mininet_cli' + CheckFunc = 'ltemplateVersionCheck(\'4.1\', iproute2=\'4.9\')' + #uncomment next line to start cli *before* script is run + #CheckFunc = 'ltemplateVersionCheck(\'4.1\', cli=True, iproute2=\'4.9\')' + ltemplateTest('scripts/check_linux_vrf.py', False, CliOnFail, CheckFunc) + +def test_adjacencies(): + CliOnFail = None + # For debugging, uncomment the next line + #CliOnFail = 'tgen.mininet_cli' + CheckFunc = 'ltemplateVersionCheck(\'4.1\')' + #uncomment next line to start cli *before* script is run + #CheckFunc = 'ltemplateVersionCheck(\'4.1\', cli=True)' + ltemplateTest('scripts/adjacencies.py', False, CliOnFail, CheckFunc) + +def SKIP_test_add_routes(): + CliOnFail = None + # For debugging, uncomment the next line + #CliOnFail = 'tgen.mininet_cli' + CheckFunc = 'ltemplateVersionCheck(\'4.1\')' + #uncomment next line to start cli *before* script is run + #CheckFunc = 'ltemplateVersionCheck(\'4.1\', cli=True)' + ltemplateTest('scripts/add_routes.py', False, CliOnFail, CheckFunc) + +def test_check_routes(): + CliOnFail = None + # For debugging, uncomment the next line + #CliOnFail = 'tgen.mininet_cli' + CheckFunc = 'ltemplateVersionCheck(\'4.1\')' + #uncomment next line to start cli *before* script is run + #CheckFunc = 'ltemplateVersionCheck(\'4.1\', cli=True)' + ltemplateTest('scripts/check_routes.py', False, CliOnFail, CheckFunc) + +#manual data path setup test - remove once have bgp/zebra vrf path working +def test_check_linux_mpls(): + CliOnFail = None + # For debugging, uncomment the next line + #CliOnFail = 'tgen.mininet_cli' + CheckFunc = 'ltemplateVersionCheck(\'4.1\', iproute2=\'4.9\')' + #uncomment next line to start cli *before* script is run + #CheckFunc = 'ltemplateVersionCheck(\'4.1\', cli=True, iproute2=\'4.9\')' + ltemplateTest('scripts/check_linux_mpls.py', False, CliOnFail, CheckFunc) + +def test_del_bgp_instances(): + CliOnFail = None + # For debugging, uncomment the next line + #CliOnFail = 'tgen.mininet_cli' + CheckFunc = 'ltemplateVersionCheck(\'4.1\')' + #uncomment next line to start cli *before* script is run + #CheckFunc = 'ltemplateVersionCheck(\'4.1\', cli=True)' + ltemplateTest('scripts/del_bgp_instances.py', False, CliOnFail, CheckFunc) + +if __name__ == '__main__': + retval = pytest.main(["-s"]) + sys.exit(retval) diff --git a/tests/topotests/bgp_l3vpn_to_bgp_vrf/scripts/del_bgp_instances.py b/tests/topotests/bgp_l3vpn_to_bgp_vrf/scripts/del_bgp_instances.py new file mode 100644 index 000000000..c25c2d9ec --- /dev/null +++ b/tests/topotests/bgp_l3vpn_to_bgp_vrf/scripts/del_bgp_instances.py @@ -0,0 +1,7 @@ +from lutil import luCommand + +luCommand('r1','/usr/lib/frr/vtysh -c "conf ter" -c "no router bgp 5227 vrf r1-cust1" -c "no router bgp 5226"','.','none','Cleared bgp instances') +luCommand('r2','/usr/lib/frr/vtysh -c "conf ter" -c "no router bgp 5226"','.','none','Cleared bgp instances') +luCommand('r3','/usr/lib/frr/vtysh -c "conf ter" -c "no router bgp 5227 vrf r3-cust1" -c "no router bgp 5226"','.','none','Cleared bgp instances') +luCommand('r4','/usr/lib/frr/vtysh -c "conf ter" -c "no router bgp 5228 vrf r4-cust2" -c "no router bgp 5227 vrf r4-cust1" -c "no router bgp 5226"','.','none','Cleared bgp instances') + |