Lou Berger
1cb051708d
bgp_vrf_netns: allow more time for adjacency to come up, report unexpected output
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Philippe Guibert
12919c4255
bgp_vrf_netns: add basic test to support netns backend with netns
...
The test consist in starting a BGP router on a NETNS, and interacting
with an exaBGP instance. The test automatically relies on VRF with netns
backend but can be easily configured so as to perform basic BGP VRF
testing with VRF with VRF-lite backend.
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2018-11-27 20:22:13 -05:00
Philippe Guibert
8dd5077d81
lib: zebra support for vrfwnetns parameter
...
topotest library is being added a new parameter when preparing the
configurationof each daemon. This parameter will be used to call the
daemon with some extra parameters. The -n parameter for zebra is taken
into account.
Also, when a extra parameter is given for calling zebra, a check is done to
see if it is possible to run zebra daemon with that option. This is the
case for vrfwnetns option. If not available, an error message is sent
back.
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2018-11-27 20:22:13 -05:00
Lou Berger
14314036ca
bgp_l3vpn_to_bgp_vrf: fix route set on non-vrf interface (thanks ben!)
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
cc3cf6a883
lib: lutil - fix test counting, add returnJson flag
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Rafael Zalamena
623afc9d83
ldp-vpls-topo1: support new OSPF JSON format
...
Support the new OSPF JSON output format for `show ip ospf neighbor
json` introduced in FRR's PR 1723.
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2018-11-27 20:22:13 -05:00
Martin Winter
e1e048002d
Revert previous 2 commits (pushed by mistake)
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:13 -05:00
Olivier Dugeon
0c9274877a
Update OSPF-SR tests to handle various version
...
In order to avoid failed test on unsupported version:
- Test that version is greater than 4
- Check that Segment Routing CLI are available
Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
2018-11-27 20:22:13 -05:00
Olivier Dugeon
a60948db9c
Add OSPF Segment Routing tests
...
- Build a topology made of 4 routers: 3 PE connected to a P
- Segment Routing is activated on all 4 routers with various setting
for the MSD, Global Block and Prefix (with or without NO-PHP flag)
- 2 tests have been elaborated: the first one check the consistency of the
Segment Routing database on each router compared to a reference and the second
one check that the MPLS FIB has been correctly configured on each router,
again compared to a reference
Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
2018-11-27 20:22:13 -05:00
Martin Winter
d01e89f168
ldp-topo1: Support implicit-null and old format on "show_mpls_table"
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:13 -05:00
Lou Berger
a209417da6
bgp_l3vpn_to_bgp_direct: use new ltemplate common functions
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
98a1523fc8
bgp_l3vpn_to_bgp_vrf: use new ltemplate common functions
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
89b9abd97e
lib: ltemplate add common ltemplateRtrCmd and ltemplateVersionCheck
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
1e21dc870d
bgp_l3vpn_to_bgp_vrf: centralize iproute2 check, add checks to appropriate tests
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
a1a359ad8d
bgp_l3vpn_to_bgp_vrf: required 4.11 kernel on arm processors
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
a0cbe75d20
bgp_l3vpn_to_bgp_vrf: add test to check linux vrf info
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
6198913449
bgp_l3vpn_to_bgp_vrf: prepend rtr name to vrf name, per Philippe
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
4a17413709
bgp_l3vpn_to_bgp_vrf: skip mpls vrf ping tests when have old iproute2
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
e766417ec9
bgp_l3vpn_to_bgp_vrf: add testing for manually setup MPLS path (until have dynamic)
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
cf469a232b
isis-topo1: allow up to 90 sec for convergence
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
d868d685e3
bgp_l3vpn_to_bgp_direct: use tgen.hasmpls flag
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
f2f902aca8
bgp_l3vpn_to_bgp_vrf: catch linux setup failures
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
d1f82d97db
bgp_l3vpn_to_bgp_vrf: collect iproute2 package into
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
6dd81dbbfe
bgp_l3vpn_to_bgp_vrf: add kernel check (>=4.9)
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
1c507d27e3
bgp_l3vpn_to_bgp_vrf: use tgen.hasmpls flag
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
9711fc7e0b
lib: add tgen level mpls init and hasmpls flag
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
85c81f9540
bgp_l3vpn_to_bgp_vrf: 2nd try at skipping tests when MPLS not available
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
2015a49715
bgp_l3vpn_to_bgp_vrf: skip tests when mpls not available
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
4348027f3e
lib: add script name to summary output
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
66c5287ec0
lib: add luLast to get last found luCommand regex match
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
8d99289694
bgp_l3vpn_to_bgp_direct: allow for some ping loss
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
f0287609c5
bgp_l3vpn_to_bgp_vrf: allow for some ping loss
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
c0c1496c62
bgp_l3vpn_to_bgp_vrf: add basic data path checks prior to adjacency check
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
0bd1c31f5b
bgp_l3vpn_to_bgp_direct: add basic data path checks prior to adjacency check
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
340ecf297e
bgp_l3vpn_to_bgp_xxx: match ltemplate start/stop changes
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
850de337d9
lib: ltemplate simplify start/stop
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
d0c5acabb9
bgp_l3vpn_to_bgp_xxx: avoid collision of customize.py match lutil and ltemplate changes
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
9e219b9af7
lib: scope life of Lutil and _lt to a single test run reorg to support regression environment
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
b9ff36bed7
bgp_l3vpn_to_bgp_vrf: just test adjacencies now - for dev/integration
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
308ae0773f
bgp_l3vpn_to_bgp_vrf: don't set vrf-policy, wait for new format
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
856b9cce2d
bgp_l3vpn_to_bgp_vrf: add ce4 off of r4 for inter-vrf route leaking
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
c0ace6d8e1
bgp_l3vpn_to_bgp_vrf: in progress version Adjacenies up, MPLS configured on interfaces -- right now provides testbed for code changes
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
4ac1e79fbc
bgp_l3vpn_to_bgp_vrf: clone bgp_l3vpn_to_bgp_direct as starting point
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
99f5f0350b
bgp_l3vpn_to_bgp_direct: 2nd try at skipping tests when MPLS not available
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
9ed0809e49
bgp_l3vpn_to_bgp_direct: skip tests when mpls not available
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
447f2d5a16
lib: add router.has_mpls check
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Rafael Zalamena
46325763aa
topogen: fix assertion on routers_have_failure
...
`errors != ''` is never going to be false so the assert was never being
triggered.
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2018-11-27 20:22:13 -05:00
Rafael Zalamena
0e17ee9e03
topogen: import pytest assert function
...
Use the pytest assert function to be able to report to pytest failures
that happened inside the API.
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2018-11-27 20:22:13 -05:00
Rafael Zalamena
d4368260c3
isis-topo1: check IPv6 linux route install
...
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2018-11-27 20:22:13 -05:00
Rafael Zalamena
d43cd0fd62
isis-topo1: simplify dictionary key removal code
...
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2018-11-27 20:22:13 -05:00
Rafael Zalamena
88f83773d9
isis-topo1: check ipv6 zebra route installation
...
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2018-11-27 20:22:13 -05:00
Rafael Zalamena
fc7752c118
isis-topo1: skip test on FRR 2.0
...
It was noticed that this topology doesn't converge when there are IPv6
configurations, so this commit makes the tests to be skipped when the
version is 2.X.Y.
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org
2018-11-27 20:22:13 -05:00
Rafael Zalamena
5836fac223
isis-topo1: add IPv6 ISIS topology test
...
Configure IPv6 addresses and ISIS distribution, then test the topology
for the newly configured addresses.
This commit also adds support for parsing IPv6 data from the ISIS
topology output while updating the routers topology JSON files.
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2018-11-27 20:22:13 -05:00
Rafael Zalamena
29614f56c5
isis-topo1: add support for stable versions
...
Allow isis-topo1 tests to run on stable versions (2.0.2 and 3.0.2).
There are two differences between the stable versions and master:
1. ISIS nexthops don't show interfaceName nor interfaceIndex
(on 'show ip route json')
2. New FRR version install ISIS routes in Linux with a different proto
type identification.
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2018-11-27 20:22:13 -05:00
Rafael Zalamena
2d013cdabc
isis-topo1: check ISIS kernel route installation
...
Check if the ISIS learned routes are being installed in the underlying
OS.
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2018-11-27 20:22:13 -05:00
Rafael Zalamena
e4d08d5be7
isis-topo1: test ISIS route installation
...
Check the 'show ip route json' output for installed ISIS routes.
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2018-11-27 20:22:13 -05:00
Rafael Zalamena
67f1e9ed09
isis-topo1: test ISIS topology convergence
...
Add function to parse 'show isis topology' and expect the correct
convergence result.
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2018-11-27 20:22:13 -05:00
Rafael Zalamena
74bd8dd9ba
isis-topo1: add topology graph
...
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2018-11-27 20:22:13 -05:00
Rafael Zalamena
3aefe20797
isis-topo1: import topology
...
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2018-11-27 20:22:13 -05:00
Martin Winter
4649eef8e1
ldp-vpls-topo1: new format for ospf neighbor json
...
Accept new format in ospf neighbor json output in addition to
old version. New format was introduced with PR1659
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:13 -05:00
Lou Berger
8ab91133c7
lib: ltemplate - fix handling of CallOnFail (take 2)
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
5859c4be6b
lib: ltemplate - fix handling of CallOnFail
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
3eff4cc9dd
bgp_l3vpn_to_bgp_direct: fix hook routines for ltemplate
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
2eddcd9ff3
bgp_l3vpn_to_bgp_direct: rename bgp_direct_to_bgp_vpn Rename BGP L3VPN test to have L3VPN at start of test name Also remove unused/pre-ltemplate files
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
c30e3e40a6
bgp_direct_to_bgp_vpn: enable mpls forwarding, add more details on adjacencies
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
db2dbd246e
bgp_direct_to_bgp_vpn: convert to lib/ltemplate
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:13 -05:00
Lou Berger
df437d254a
lib: add LabN testing template
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:12 -05:00
Martin Winter
d75f5f94cd
ospf-topo1: Allow IPv6 ECMP version to pass
...
Check ospf IPv6 routes for ECMP version first and fallback
to previous version if needed.
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:12 -05:00
Martin Winter
a1f1550fc2
ospf-topo1: Add IPv6 addresses to diagram
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:12 -05:00
Lou Berger
50b15737c9
lib: lutil - make it easier to spot command output and null output
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:12 -05:00
Lou Berger
2fdcc34250
lib: lutil - make requested error logging change
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:12 -05:00
Lou Berger
bd15005d3a
bgp_direct_to_bgp_vpn: scripts - avoid race condition, and test for predicable results
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:12 -05:00
Lou Berger
ffdac4dbd8
bgp_direct_to_bgp_vpn: add some progress output
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:12 -05:00
Lou Berger
e437365bb9
bgp_direct_to_bgp_vpn: general cleanup use moved lutil.py improve error information adjust to new luCommand default timeout sdd support for CliOnFail, remove no_test_call_mininet_cli scripts - update to correct stable values use topo test's log dir
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:12 -05:00
Lou Berger
a582a8e9c5
lib: lutil cleanup move utilities/lutil.py -> lib/lutil.py add: luShowFail, CallOnFail, luStart parameter to set log dir change default wait to 10sec
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:12 -05:00
Lou Berger
7ed102b925
bgp_direct_to_bgp_vpn: convert to new template, skip tests on pre-3.1 versions
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:12 -05:00
Lou Berger
6d0dbb7996
bgp_direct_to_bgp_vpn: initial version
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:12 -05:00
Lou Berger
199a7c79c1
lutil: initial version
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:12 -05:00
Rafael Zalamena
e600b2d93c
topotest: remove pid files
...
Remove PID files after a SIGKILL or confirmation that the pid file no
longer contains a running PID.
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2018-11-27 20:22:12 -05:00
Rafael Zalamena
065bd557f8
topotest: improve informational messages
...
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2018-11-27 20:22:12 -05:00
Rafael Zalamena
63038f4b02
topotest: show the user that we are waiting
...
Add a log message to tell the user that we are waiting for zebra.
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2018-11-27 20:22:12 -05:00
Lou Berger
3a568b9ca6
lib: speed up router shutdown stopRouter: report when a process is being killed only sleep if actually killed a process add option to not sleep or conduct -7 kill topogen stop: add wait parameter (defaults to old/wait) when stopping routers, first stop all without waiting then do a second pass where will wait if needed
...
Signed-off-by: Lou Berger <lberger@labn.net>
2018-11-27 20:22:12 -05:00
Rafael Zalamena
08533b7bce
topotest: always show diff on json_cmp failure
...
Append diffs on all json_cmp failures so the reader can compare JSON
field differences.
2018-11-27 20:22:12 -05:00
Rafael Zalamena
479b98aacd
topotest: specify why we are waiting
...
This shows the user why the router teardown is taking 2 seconds long.
2018-11-27 20:22:12 -05:00
Rafael Zalamena
28a9b4f56e
doc: update README and add code snippets
...
Add some pointers in the README documentation that might help users get
ready to use topotest.
2018-11-27 20:22:12 -05:00
Rafael Zalamena
222ea88b2a
topotest/topogen: demote some messages level
...
The messages level of this commit were downgraded because some of them
happen on 'non-error' situations. This should help diminish the error
log verbosity on the CI-system run.
2018-11-27 20:22:12 -05:00
Rafael Zalamena
034237db12
topotest: fix a regression in version_cmp
...
It was found a regression on an edge case when the second number in the
comparison was (at least) 2 numbers longer the comparison would fail
with a wrong return value. It succeeded for some cases because the
first comparison in the exception was correct, but not the second.
2018-11-27 20:22:12 -05:00
Martin Winter
a018893f7c
bgp-ecmp-topo1: Workaround for version check
...
temp workaround for Issue #43
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:12 -05:00
Martin Winter
3d6c6f01ac
ldp-vpls-topo1: Allow ospf neighbor json command with list (new) and dict (old)
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:12 -05:00
Rafael Zalamena
968afc2848
ldp-vpls-topo1: fix a json_cmp result assert
...
Use the 'right' assert to show more detailed failure report and remove
a unused variable.
2018-11-27 20:22:12 -05:00
Martin Winter
dd3ddc0663
Fix output to allow it on generic Debian
...
- Generic Debian only has a single space in front of “proto” in the linux shell routing outptu
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:12 -05:00
Rafael Zalamena
7c1f9631fc
eigrp-topo1: solve output ordering problem
...
Transform 'show ip eigrp topo' output into data structures and compare
using json_cmp() to avoid expecting output order.
2018-11-27 20:22:12 -05:00
Renato Westphal
13e8bc063f
ldp-topo1: Remove check for protocol in installed LSPs
...
PR #1213 in FRR changed the protocol of installed LSPs. To avoid breaking
older outstanding Pull Requests, remove the protocol check.
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2018-11-27 20:22:12 -05:00
Martin Winter
ad59d1f5bb
eigrp-topo1: Remove check for EIGRP distance
...
- Distance used to be wrong (0), new commit fixes this (90). To avoid breaking older outstanding Pull Requests, remove the distance check
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:12 -05:00
Rafael Zalamena
7bd28cfc67
topotest: improve json error messages
...
Show a diff of the JSON values instead of dumping the whole
data structures.
2018-11-27 20:22:12 -05:00
Rafael Zalamena
2db5888df5
topotest: json_cmp_result split error lines
...
When the API user wanted to show newlines we have to break them manually
to get the propper format.
2018-11-27 20:22:12 -05:00
Rafael Zalamena
bc2872fd17
topotest: allow passing options to difflib
...
Extend the topotest diff functions to allow receiving difflib options.
2018-11-27 20:22:12 -05:00
Rafael Zalamena
566567e9be
topotest: remove unused json_cmp unused parameter
2018-11-27 20:22:12 -05:00
Martin Winter
6ae351e837
all-protocol-startup/isis: Fix check for "show isis interface" to allow different circuit ids than 1
2018-11-27 20:22:12 -05:00
Rafael Zalamena
fcfbc7696b
topogen: fix diagnostics failure
...
Don't try to log to file if directory doesn't exist.
2018-11-27 20:22:12 -05:00
Rafael Zalamena
d34f613477
topogen: save zebra version output
...
Keep the zebra version output for later problem diagnostics.
2018-11-27 20:22:12 -05:00
Rafael Zalamena
7547ebd8cd
topogen: log diagnostics to file
2018-11-27 20:22:12 -05:00
Martin Winter
1b46274d5c
eigrp-topo1: Cleanup leftover comments from previous commit
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:12 -05:00
Martin Winter
ee4523a215
eigrp-topo1: Change Route verification to use json
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:12 -05:00
Martin Winter
555451faa5
all-protocol-starup: Fix triple-output of same vtysh stderr/stdout messages.
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:12 -05:00
Martin Winter
7551168cba
lib: Use SIGTERM for killing daemons first and only SIGBUS (7) if the daemons fail to exit.
...
- This allows daemons to free up memory and avoid false memory leak reports
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:12 -05:00
Martin Winter
8e957dbb04
multiple_topos: Don't report about StdErr Output if there is no output
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:12 -05:00
Donald Sharp
9057cd2cc3
eigrp-topo1: Correct eigrp test results.
...
The values saved for the route table and eigrp topo
were a bit off because they have been corrected
in the eigrp daemon
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-11-27 20:22:12 -05:00
Martin Winter
8ee1273e44
Enable eigrp-topo1
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:12 -05:00
Martin Winter
44a592b2a6
lib: check for eigrpd available and return warning if missing instead of failing
2018-11-27 20:22:12 -05:00
Rafael Zalamena
e5355a016f
eigrp-topo1: convert to topogen
2018-11-27 20:22:12 -05:00
Rafael Zalamena
c267e5b112
topogen: add support for eigrpd and nhrp
2018-11-27 20:22:12 -05:00
Rafael Zalamena
57c5075b7b
topogen: router startup failure triggers errors
...
Makes `router_have_failure()` detect frr startup errors.
2018-11-27 20:22:12 -05:00
Rafael Zalamena
b3b1b1d16c
topogen: treat some corner cases on vtysh failure
...
Don't throw unneeded tracebacks when 'show version' doesn't show us what
we expect, instead gracefully fail.
2018-11-27 20:22:12 -05:00
Rafael Zalamena
1eb633c012
topogen: show pretty output for skipped messages
...
Format them properly instead of printing a dictionary.
2018-11-27 20:22:12 -05:00
Rafael Zalamena
333139b22e
ldp_vpls_topo1: set an error instead of exit
...
It will have the same effect and code will not have to be repeated since
all functions must call `routers_have_failure()`.
2018-11-27 20:22:12 -05:00
Renato Westphal
f13a242c76
ldp_vpls_topo1: don't use pytest.mark.skipif
...
This feature from pytest can not be used to detect runtime errors.
Also, remove test_router_running() since all tests should actually check
if all daemons are up and running.
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2018-11-27 20:22:12 -05:00
Renato Westphal
c4057baab7
ldp_vpls_topo1: skip all tests on stable/2.0
...
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2018-11-27 20:22:12 -05:00
Renato Westphal
6fcaea2bc6
ldp_vpls_topo1: add new topology for ldp pseudowires
...
This is a very simple topology for testing LDP pseudowires.
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2018-11-27 20:22:12 -05:00
Donald Sharp
2dad85f432
Basic EIGRP topo test working
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-11-27 20:22:12 -05:00
Donald Sharp
1fccd8e958
Exclude eigrp test from running normally yet
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-11-27 20:22:12 -05:00
Donald Sharp
a4e471cfc5
Add a basic EIGRP topology.
...
Nothing fancy here, just add 3 routers in a row
attempt to let eigrp come up and start a mininet
xterm to debug, since eigrp doesn't work yet.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-11-27 20:22:12 -05:00
Donald Sharp
cda83bee9f
Allow topotests to work with eigrp and nhrp
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-11-27 20:22:12 -05:00
Martin Winter
be7286cc82
ldp-topo1: Use 'label implicit-null' for implicit labels
...
Signed-off-by: Martin Winter <mwinter@netdef.org>
2018-11-27 20:22:12 -05:00
David Lamparter
91733ef85e
topotests: change from "context" to "unified" diff
...
context diff:
*** before.py
2018-11-27 20:22:12 -05:00
Rafael Zalamena
5684f8100d
topotests: add topology name to assert output
...
Make it easy to identify which topology test we are running.
2018-11-27 20:22:12 -05:00
Rafael Zalamena
e7ba3cd11c
topotests: make asserts show up in stderr
...
Code was based on the pytest default makereport code:
c92760dca8/_pytest/runner.py (L264)
2018-11-27 20:22:12 -05:00
Martin Winter
9427b78f65
lib: Change topology to output INFO and DEBUG to stdout and other levels to stderr
...
Previously, all logs were sent to stderr
2018-11-27 20:22:12 -05:00
Martin Winter
c11c4cc7d3
lib: add check for mpls kernel modules to diagnose_env()
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:12 -05:00
Martin Winter
b431b5540f
lib: Enhance daemon_available() function to check for mpls modules in case of LDPd
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:12 -05:00
Martin Winter
e1b2ce6a70
lib: Add check for MPLS kernel modules to exist before trying LDP tests
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:12 -05:00
Martin Winter
1380ecb1ce
ospf-topo1: Remove check for spfLastDurationMsecs value
...
json check accidently checked for the spfLastDurationMsecs which
isn't always 0 for slower system in our tests. ARM7 sometimes has
a slightly higher value (1).
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:12 -05:00
Martin Winter
67651166b6
bgp-ecmp-topo1: Check number of routes received for convergence
...
Add check for number of routes to convergence. InQ=0, OutQ=0
together with correct number of routes received shows that
BGP has converged
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:12 -05:00
Rafael Zalamena
9a950d76bd
bgp-ecmp-topo: add support for FRR 2.0
...
The FRR 2.0 json output is different from newer version, so add the
appropriate treatment.
2018-11-27 20:22:12 -05:00
Rafael Zalamena
35a00f240f
bgp-ecmp-topo: test BGP convergence
...
Add a test that waits for BGP convergence.
2018-11-27 20:22:12 -05:00
Rafael Zalamena
62271fe3fa
bgp-ecmp-topo: use the new sleep function
2018-11-27 20:22:12 -05:00
Rafael Zalamena
570f25d80a
topotest: log sleep function
...
Added a wrapper for the sleep function that should be used to register
in the log files the amount of time spent sleeping.
2018-11-27 20:22:12 -05:00
Rafael Zalamena
1f4c4aec44
bgp-ecmp-topo1: add convergence test
...
Assert that we got the routes from ExaBGP and they are multipath
enabled.
2018-11-27 20:22:12 -05:00
Rafael Zalamena
91a4415704
bgp-ecmp-topo1: convert to topogen
2018-11-27 20:22:12 -05:00
Rafael Zalamena
0c68b87abc
bgp-ecmp-topo1: fix exabgp configuration file
...
Using relative path to start the exabgp python scripts didn't work out
of the box in my enviroment, so be more specific since we already know
where the scripts are.
2018-11-27 20:22:12 -05:00
Martin Winter
ac1087fa7b
bgp-ecmp-topo1: Add BGP Topology for rcmp testing
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:12 -05:00
Martin Winter
0e8ccff311
ospf-topo: Mask IPv6 local-addressess instead of removing them
...
Just mask out the random part makes the diff output better readable
2018-11-27 20:22:12 -05:00
Rafael Zalamena
99dca1a0b8
ospf-topo: show areas in the topology dot/jpg
2018-11-27 20:22:12 -05:00
Rafael Zalamena
4524522dc8
ospf-topo: skip on tests on router failure
...
Update the test by adding the routers_have_failure() check. While here,
bump the amount of time to expect for convergence by 15 seconds.
2018-11-27 20:22:12 -05:00
Rafael Zalamena
a61e85ab38
ospf-topo: remove log file specification
...
We don't need to set logging file per-daemon as topogen will already do
that for us. Also, remove hostname line as it seems to have no effect.
2018-11-27 20:22:12 -05:00
Rafael Zalamena
f9b48d8b42
topogen: allow daemon spec in vtysh_cmd
...
Allow commands to be run per-daemon basis. While here make daemon
logging file configuration per-daemon.
2018-11-27 20:22:12 -05:00
Rafael Zalamena
d1c3108673
ospf: test route kernel installation
...
Added tests to validate that OSPF routes are being installed/uninstalled
in the Linux kernel.
2018-11-27 20:22:12 -05:00
Rafael Zalamena
99a7a912fd
topotest: implement 'ip route' functions
...
Implement an abstraction to the commands 'ip route' to get the node
current routing table state.
2018-11-27 20:22:12 -05:00
Rafael Zalamena
f175c4eb97
ospf: add IPv6 OSPF convergence test
...
Add more tests to the ospf-topo1 to include IPv6 testing. Since both IP
versions are running together, there is no need to wait OSPF convergence
per IP version.
2018-11-27 20:22:12 -05:00
Rafael Zalamena
56842c0469
ospf: add some log calls to show activity
...
Brings the OSPF test closer to other topotest tests.
2018-11-27 20:22:12 -05:00
Rafael Zalamena
43b15bc431
ospf: add 'show ip ospf json' test
...
Test the default values of 'show ip ospf json' output in the current
topology.
2018-11-27 20:22:12 -05:00
Rafael Zalamena
622cc178c7
ospf: add memory leak test
...
Standard memory leak test/report.
2018-11-27 20:22:12 -05:00
Rafael Zalamena
d4f6bcf127
ospf: added a convergence test for link failure
...
This new test simulates a link failure in router 3 and expects the OSPF
routing table to converge accordingly in all nodes.
2018-11-27 20:22:12 -05:00
Rafael Zalamena
6024e0b5de
ospf: added convergence test for IPv4
...
Added a convergence test for OSPF (IPv4) using the new topology
builder Topogen.
2018-11-27 20:22:12 -05:00
Rafael Zalamena
812e38a94d
topotests: make 'quagga' check optional
...
Only check for quagga directories and binaries when we don't find FRR.
Also fix a copy-paste error in warning message.
2018-11-27 20:22:12 -05:00
Rafael Zalamena
45619ee3de
topotest: simplify ldp kernel check
...
Use version_cmp() instead of hand rolling its own parser.
2018-11-27 20:22:12 -05:00
Rafael Zalamena
007e731324
topotest: implement environment diagnostics
...
Run environment diagnostics on topotest start, report all detected
problems and abort if an error condition is met.
2018-11-27 20:22:12 -05:00
Rafael Zalamena
28c15fe7b8
bgp_multiview_topo1: fix exabgp configuration
...
Allow exabgp to run on my Ubuntu 16.04 by specifying the complete path
instead of relative.
2018-11-27 20:22:12 -05:00
Martin Winter
6c97c0cbf2
ldp-topo1: Make the implicit label optional to pass old frr code as well
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:12 -05:00
Martin Winter
cc230e73b7
Doc: Update README to specify ExaBGP version as 4.0 is not yet supported
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Rafael Zalamena
6ca2411e86
topogen: add equipment version handling
...
Added helper functions to TopoRouter to test equipment version and type.
2018-11-27 20:22:11 -05:00
Rafael Zalamena
4190fe1ef1
topotest: add version comparison function
...
Implemented a version comparison function that tells if a version
contained in a string is greater/less/equal to another.
2018-11-27 20:22:11 -05:00
Rafael Zalamena
f7840f6bdf
topotest: add text normalization function
...
Standardized function that removes format spaces (or tab) and carriage
returns characters. This function is useful to allow output text
processing without breaking diff capabilities.
Output example:
*N IA 2001:db8:2::/64 :: r2-eth0 00:03:39
Becomes:
*N IA 2001:db8:2::/64 :: r2-eth0 00:03:39
If you remove 'IA' you won't have space formatting problem anymore.
2018-11-27 20:22:11 -05:00
Rafael Zalamena
d176de4d0a
template: add router check test
...
Show test developers that they can check if routers are running by
calling tgen.routers_have_failure().
2018-11-27 20:22:11 -05:00
Rafael Zalamena
7b093d84e0
topogen: handle JSON decode failures
...
Instead of raise()ing, return a empty dictionary.
2018-11-27 20:22:11 -05:00
Rafael Zalamena
78ed61230c
topogen: implement router check method
...
Use a standard function to do 'router running checks' instead of having
to duplicate the code in every test.
2018-11-27 20:22:11 -05:00
Rafael Zalamena
e84692970b
topogen: fix topogen memleak activation
...
When memleak_path is present in the configuration file it means that it is
activated.
2018-11-27 20:22:11 -05:00
Rafael Zalamena
dc0d3fc53f
topotest: add JSON list comparation support
...
Add missing list support for json_cmp(). The missing support was
noticed while writing the BGP ECMP topology test.
2018-11-27 20:22:11 -05:00
Rafael Zalamena
19ccab570b
topogen: add support for ExaBGP peers
...
Implemented basic support for ExaBGP peers.
2018-11-27 20:22:11 -05:00
Rafael Zalamena
393ca0fa16
topogen: add error functions
...
Store errors and error code in topogen so other tests can look up for
failures and skip tests.
2018-11-27 20:22:11 -05:00
Rafael Zalamena
4cfdff1a86
topogen: implement start/stop methods for TopoGear
...
Having a generic start/stop methods for TopoGear allows TopoGen to call
start/stop for all equipments. This allows us to reduce the teardown
code by removing the necessity of having to always remember to call
each equipment clean up function.
2018-11-27 20:22:11 -05:00
Rafael Zalamena
f6899d4dd4
topogen: configure daemon logging files
...
Auto configure daemon logging files to the appropriated place. This
removes the responsibility from the test developer to set this in the
daemon configuration.
2018-11-27 20:22:11 -05:00
Rafael Zalamena
36040f453e
template: update test template
...
Use the new logger and implement a default memory leak test/report.
2018-11-27 20:22:11 -05:00
Rafael Zalamena
13e1fc493b
topogen: add per router logging
...
TopoRouters now create a logger (which logs to /tmp/{router_name}.log)
on start to record all commands and events that it goes through. All log
messages contain timestamps that may be used in the future to:
(1) correlate commands call with events
(2) benchmark/time command speed
2018-11-27 20:22:11 -05:00
Rafael Zalamena
6c131bd303
topotest: use topolog instead of print
...
Fix some whitespace issues while at it.
2018-11-27 20:22:11 -05:00
Rafael Zalamena
77ebccacf4
topolog: support adding loggers during runtime
...
Allow topotest subsystems to create their own loggers. This will help
increase log organization and allow different settings to fit the
subsystems needs.
2018-11-27 20:22:11 -05:00
Rafael Zalamena
36d1dc45eb
topolog: implement a logging abstraction
...
The default logger (root) is already being used by Mininet, so to allow
customizing logging output and configuring log files Topolog was
created. Topolog is no more than a thin layer abstraction to call
logging functions without using the 'root' logger.
2018-11-27 20:22:11 -05:00
Martin Winter
985e6d50ec
all_protocol_startup: More tolerant on interface MTU output
...
- Allow 'MTU mismatch detection: enabled' and 'MTU mismatch detection:enabled'
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Rafael Zalamena
c540096e86
topogen: add memory leak report configuration
...
Allow memory leak to be configured from the configuration file.
2018-11-27 20:22:11 -05:00
Rafael Zalamena
edd2bdf6de
topogen: support configuration file
...
Use a configuration file for casual settings like:
* Verbosity level (helps when debugging mininet issues)
* Custom daemon directory (in order to support running different daemon
binaries without touching tests)
* Daemon type switch: allow running quagga without touching any test
files
Also fix the add_router() documentation to include all options.
2018-11-27 20:22:11 -05:00
Rafael Zalamena
e41b086151
topotest: add writing tests tips
...
Add two tips to help improve test code quality:
1) Store function returns for later inspection
2) Identify what failed using the assert message
2018-11-27 20:22:11 -05:00
Rafael Zalamena
3668ed8dc2
topotest: improve json_cmp assert output
...
Create a specialized assert and json_cmp() result to improve the
comparison output. With this we also got a way to display all comparison
failures instead of just the first one.
2018-11-27 20:22:11 -05:00
Rafael Zalamena
8833a8387f
topogen: don't backtrace when topogen is not used
...
This allows old tests to be run with '--topology-only' without
generating tons of error messages, instead it will just stop the test
without trying anything else.
2018-11-27 20:22:11 -05:00
Rafael Zalamena
b06e9eff75
template: allow test to be run without pytest
...
Update the PYTHONPATH for standalone runs and pass all command line
arguments to pytest main. Also set the executable bit to the python
scripts file.
2018-11-27 20:22:11 -05:00
Rafael Zalamena
a40daddc4c
topogen: added JSON output support for vtysh_cmd
...
Allow vtysh_cmd() to convert JSON output to Python data structures.
This feature will be used to get vtysh JSON outputs for tests
comparsions.
Usage example:
```py
router = get_topogen().gears['r1']
json_output = router.vtysh_cmd('show ip ospf json', isjson=True)
json_cmp(json_output, {'important_key': 'important_value'})
```
2018-11-27 20:22:11 -05:00
Rafael Zalamena
09e21b4487
topotest: implement json_cmp function
...
Implemented a JSON compare function that tells you when a specific
subset of items exist or not inside a JSON dataset.
More details can be found in the function docstring or in the test file
lib/test_json.py.
2018-11-27 20:22:11 -05:00
Rafael Zalamena
045aaf47ee
template: change the default dot file
...
Make it look like the RIP(ng) dot files with authentic shapes and colors
for routers and switches.
2018-11-27 20:22:11 -05:00
Rafael Zalamena
cef6ca99f9
topotest: added two new sections to guidelines
...
And fixed some smaller details in the previous sections.
2018-11-27 20:22:11 -05:00
Rafael Zalamena
5f8f05be6e
topotest: small guidelines fixes
2018-11-27 20:22:11 -05:00
Rafael Zalamena
0d3f2bf99e
topotest: rename guidelines equipment names
...
Use short names for equipment names as the rest of the code in the
repository.
2018-11-27 20:22:11 -05:00
Rafael Zalamena
31bfa9df79
topogen: use shorter names for equipments
...
After some feedback from mwinter@, the names of equipments are now
shorter to make it easier to type them and to keep consistency with
mininet documentation. While here, update the template and make it use
optional name parameters for clarity.
2018-11-27 20:22:11 -05:00
Rafael Zalamena
3079edf96b
topotest: add guidelines
...
This is the beginning of the guidelines file. It will contain all
necessary instructions to help people write topology tests.
2018-11-27 20:22:11 -05:00
Rafael Zalamena
7326ea11c0
topogen: implement __str__ for TopoGear objects
...
Print TopoGear name, links and type (currently TopoRouter and Switch
don't have any other useful attributes).
2018-11-27 20:22:11 -05:00
Rafael Zalamena
240e334fca
example: add missing __init__.py
...
Adding the __init__.py file makes python and its linter recognize that
the test makes part of the package, this makes us save a few lines of
code to make the linter and auto complete engines happy.
2018-11-27 20:22:11 -05:00
Rafael Zalamena
38c3993248
topogen: implement memory leak test call
...
This is a shortcut for the memory leak test, it should be used in the
new tests in order to avoid boilerplate code.
2018-11-27 20:22:11 -05:00
Rafael Zalamena
8c3fdf62a9
topogen: add support for setting link state
...
This commit changes how topology links are made in order to support
discovering who and what link is the node interface connected to. After
that, the implementation of the link state change functions were trivial
as calling a command in the node shell.
The method run() was moved from TopoRouter to TopoGear so all equipment
types can benefit from this code.
2018-11-27 20:22:11 -05:00
Rafael Zalamena
d9ea1cda81
Topogen: document new options
...
We can now add routers to the topology using different daemon binaries
path. This will allow us to run tests with different daemon versions and
types.
2018-11-27 20:22:11 -05:00
Rafael Zalamena
2ab8553078
topotest: parameterize daemon's path
...
This diff is a code cleanup that will allow us more flexibility when
defining and using the daemon binaries path, it also fixes a few pylint
warnings.
2018-11-27 20:22:11 -05:00
Rafael Zalamena
1fca63c1e4
topogen: first code import
...
Topogen (Topology Generator) is a helper that wraps around Topotest to
simplify some of the boilerplate code. This abstraction will help the
development of new tests and new APIs without breaking the existing
ones. It also makes the relation of objects clearer, since we no longer
touch the Mininet API directly, which in turn also makes us less
vulnerable to external API changes.
2018-11-27 20:22:11 -05:00
Rafael Zalamena
797e8dcf5c
lib: assert sysctl values
...
Implemented two functions to help setting sysctl values:
* set_sysctl: set a sysctl and return an auditable return value
* assert_sysctl: uses the previous function to assert that the sysctl
was set
2018-11-27 20:22:11 -05:00
Renato Westphal
fa05076643
ldp-topo1: sync with PR#710 in FRR
...
Now zebra is adding the ldpd implicit-null labels to the RIB as well. We
don't want to hide them in the "show ip route" commands because knowing
that a route is associated with an implicit-null label is an useful
piece of information, specially when troubleshooting L2/L3 VPNs.
Note: preserve the original output for cli version 1 (stable/2.0).
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Renato Westphal
0e5ae9cc1d
ldp-topo1: add some debug commands to facilitate troubleshooting
...
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Martin Winter
c8cff3ced1
lib: Fix stopRouter not to fail for case if daemon was never started
...
Fixes the issue for topotest to fail ot end of skipped LDP test on
a system without MPLS support
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Martin Winter
9e05a644e9
ospf6_topo1: Remove ff00:/8 routes from Linux Table compare
...
Some Ubuntu VM setups show ff00:/8 kernel routes, not a FRR issue
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Martin Winter
17070436a3
lib: cleanup diff text output formatting issue and move to library
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Martin Winter
4942f29847
lib: Move AddressSanitizer check to separate procedure and add check for errors in vtysh itself as part of checkRouterRunning
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Martin Winter
311dba3332
lib: Send Output error from AddressSanitizer to StdErr
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Martin Winter
28aa9ae658
rip-topo1: Add check to make sure daemons are still running between essential tests
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Martin Winter
7e7fc73b49
(all tests): Add extra check to make sure daemons are still running after each essential stage.
...
If daemon crashed at a later stage (not startup), then the test scripts didn't properly detect it and report unpredictable errors. This will properly log the daemon crashes
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Martin Winter
84379e8e7f
lib: Add different failure comment on processes killed by AddressSanitizer
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Martin Winter
597cabb74d
lib: Move updated topotest.py lib with AddressSanitizer to correct directory (fix mistake from 2 commits ago)
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Martin Winter
09bd98fbb7
Doc: Update manual sample build instruction with symlink for vtysh and reference to user creation
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Martin Winter
3a1f8275db
Add support for collecting AddressSanitizer output. See README.md for details
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Martin Winter
faf94e5a3a
ldp-topo1: Adjust to accept new format in "show ip route" as introduced with PR 495 (extra comma)
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Martin Winter
50c40bdebb
Fix memory leak detection and reporting which accidentally was dropped a month ago
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Martin Winter
e9125d9286
lib: Fix another typo on kernel compare
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Martin Winter
c63b6f86f0
lib: Fix version check in previous kernel compare
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Donald Sharp
dd43120e8e
Actually fix version comparison
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-11-27 20:22:11 -05:00
Donald Sharp
b2764f904e
Spell Verifying correctly
...
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-11-27 20:22:11 -05:00
Donald Sharp
8b2e59e943
Fix tests to handle new output
...
The show commands for bgp now have a bit more
data associated with labeled unicast routes.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-11-27 20:22:11 -05:00
Donald Sharp
dd4eca4d97
lib: Fix kernel version parsing
...
When we have a kernel sub version > 10 the float conversion
of the kernel version causes 4.10 to be less than 4.5
Get the kernel version in groups on <major>.<minor> and do
comparison that way
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-11-27 20:22:11 -05:00
Martin Winter
f6c44df78f
ospf6-topo1: Update to ignore the proto type in linux kernel table
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Martin Winter
798fb5934d
all-protocol-startup: Fix bad assert in case of failed vtysh output test
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Martin Winter
1026c19adb
all-protocol-startup: Fix pref commit - bamboo prefix is lower case
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Martin Winter
08fa1af779
all-protocol-startup: Add option to skip currently broken checks and relax BGP check
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Martin Winter
e341b1927d
ripng-topo1: Fix duplicate IP (Thanks Renato!) and documentation typos
2018-11-27 20:22:11 -05:00
Martin Winter
4501fbcaa8
all-protocol-startup: Add test suite which runs all protocols at once and verifies startup and spurious errors of each
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Martin Winter
80eeefb7da
lib: Add function to check for daemon available (i.e. LDPd) and function to return typ (quagga or frr)
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Martin Winter
598d845766
Update FreeRangeRouting -> FRRouting name
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Martin Winter
d6df723b10
rip_topo1: Adding new test for RIPv2 Topology
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Martin Winter
9f3e0f6493
ripng_topo1: Adding new test for RIPng Topology
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Martin Winter
a93477ec42
topotest library: Fix creation of /etc/XXX/vtysh.conf
...
- Needs to be created in local filesystem of each router
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Martin Winter
5b7a4ad33a
bgp_multiview_topo1: Fix case of tests hanging if convergence is not successful.
...
- Part of a command was missing which caused a hang in cases when BGP didn't converge
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Martin Winter
3eaafbd95d
LDP-Topo1: Update test to accept new format of LDP output
...
* Added test to check for version
* Adopted all tests to verify against the correct version of output
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Martin Winter
1c909f4248
Fix README incorrect reference to Quagga
2018-11-27 20:22:11 -05:00
Martin Winter
ff0d89dcfd
ldp-topo1: Fix ordering of reference output to check against
...
Ordering of output is now done by LDP and should be consistent
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Martin Winter
37c4800c44
ldp-topo1: Delete accidentally include tar file
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Donald Sharp
3a4f98d587
Update Readme to have correct ordering for frr user
...
We cannot usermod the frr user until after we
create the user with adduser.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2018-11-27 20:22:11 -05:00
Martin Winter
33ae1f751e
Update Readme to reflect FreeRangeRouting name
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Martin Winter
d98b7d6359
bgp_multiview_topo1: Mask out BGP Table version in comparison
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Martin Winter
99561211e1
Added optional output for memleaks at the end of test. Enable them by setting the environment variable TOPOTESTS_CHECK_STDERR to some value
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Martin Winter
594b1259f9
Move common function and class to topotest library
...
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-11-27 20:22:11 -05:00
Martin Winter
f03e38f397
ldp-topo1: Add new LDP Topology Test
2018-11-27 20:22:11 -05:00
Martin Winter
e631b5186f
bgp_multiview_topo1: Fix bad check for running daemons
...
Only one ruter running in the setup
2018-11-27 20:22:11 -05:00
Martin Winter
b36d3e1c85
Add support for FRR in addition to Quagga
2018-11-27 20:22:11 -05:00
Martin Winter
593335d02d
change in checkRunning: Check all daemons on all nodes before aborting with an assert
2018-11-27 20:22:11 -05:00
Martin Winter
615f6ba320
ospf6-topo1: Add Markdown doc with testdescription
2018-11-27 20:22:11 -05:00
Martin Winter
6d9d0176e4
bgp_multiview_topo1: Rename test_description.md to README.md for automatic rendering in online git
2018-11-27 20:22:11 -05:00
Martin Winter
d71f367580
bgp_multiview_topo1: Add Markdown doc for test
2018-11-27 20:22:11 -05:00
Martin Winter
024fc0b8bc
README: Add example configure statement for building test quagga code
2018-11-27 20:22:11 -05:00