summaryrefslogtreecommitdiffhomepage
path: root/test/scenario_test
AgeCommit message (Collapse)Author
2018-05-21bgp_router_test: Retry assertions of RIB for stabilityIWASE Yusuke
To improve the stability of "bgp_router_test.py", this patch fixes to retry assertions of RIB on a Quagga router after shutting down a neighbor. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2018-05-15scenario_test: Wait for GoBGP starting upIWASE Yusuke
For the stability of some scenario tests, this patch fixes to wait for GoBGP starting up after restarting GoBGP daemon. Currently, there are cases that CLI command can be called without checking whether GoBGP daemon is surely started or not. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2018-05-15test/lib/gobgp: Rename graceful_restart() to stop_gobgp()IWASE Yusuke
GoBGPContainer.graceful_restart() does not "restart" GoBGP daemon, but just stops (kills) GoBGP daemon. Then this patch renames graceful_restart() to stop_gobgp() to avoid confusion. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2018-05-15graceful_restart_test: Remove redundant parenthesesIWASE Yusuke
Improves pylint result. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2018-05-07use sorted single master table for route server setupFUJITA Tomonori
https://github.com/osrg/gobgp/issues/1249 The IN policy was removed. The modification by the IMPORT policy are visible to all route server peers. This saves some dozens bytes memory per a path. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-04-18rtc_test: Add a TODO commentIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2018-04-13rtc_test: Add description for topologiesIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2018-04-13test_rtc: Use assertEqual for better log messageIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2018-04-02*.md: Improvements for markdownlintIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2018-02-21table: fix handleMacMobility()FUJITA Tomonori
needs to find a diffrent ESI with the same mac address. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-02-10flow_spec_test: Enhance test cases with ExaBGPIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2018-02-10test/lib/exabgp: Use exabgpcli to add/del routesIWASE Yusuke
Currently, to advertise or withdraw routes with ExaBGPContainer, we need to configure static routes via config file and restart ExaBGP daemon. In other words, we can NOT send withdrawing advertisement with ExaBGPContainer. Also, restating ExaBGP daemon frequently can make scenario test unstable, and it should be avoided. On the other hand, with ExaBGP version 4.0.5 or later(*), we can advertise or withdraw routes using "exabgpcli" without restating ExaBGP daemon (or writing application which calls ExaBGP's APIs). This patch fixes to use "exabgpcli" and reduces the number of restating ExaBGP daemon. Note: According to this change, adding routes into ExaBGP should be called after adding neighbor. (*): "exabgpcli" is introduced at version 4.0.2, but has some bugs related to Python 3 compatibility and FlowSpec rules combinations, then we need to use version 4.0.5 or later. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2018-01-27scenario_test: Enable to try assertion several timesIWASE Yusuke
Some times, on Travis-CI, some test cases fail unexpectedly in checking paths in RIBs due to advertisements are not yet received from other routers. Currently, in order to avoid this unexpected result, "time.sleep" is inserted after adding new routes, but it is not enough. This patch introduces a new function to enable to do assertion several times and avoid failure with the first assertion. Note: This patch does not introduces this change into all test cases, do only into some test cases which fail relatively frequently. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2018-01-27test/lib/gobgp: Adding routes without reloadingIWASE Yusuke
With the current implementation, when adding routes on GoBGPContainer, we re-configure and reload daemon, then add routes using CLI command. Differ from QuaggaBGPContainer, when deletion of routes, reloading is not required, but if reloading daemon frequently, we need to wait for the daemon restarting, it causes testing time longer and unstable. This patch enables to add routes without reloading daemon. Note: According to this change, adding routes should be called after starting daemons. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2018-01-27test/lib/Quagga: Use vtysh to add/del routesIWASE Yusuke
Currently, to advertise or withdraw routes on QuaggaBGPContainer, we need to configure static routes in configure file and restart Quagga daemons. In other words, we can NOT send withdrawing advertisement from Quagga side. Also, restating Quagga daemons frequently can make scenario test unstable, and it should be avoided. This patch fixes to use "vtysh" and reduces the number of restating Quagga daemons. Note: According to this change, adding routes on Quagga should be called after starting daemons. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2018-01-19flow_spec_test: Enhance test cases with YABGPIWASE Yusuke
This patch extends test cases using YABGP; - Test "gobgp" command outputs representations with IPv4/IPv6 - IPv4 FlowSpec rules advertisements and withdraws TODO: Supports test cases for the IPv6 FlowSpec rules withdraws when YABGP supports the IPv6 FlowSpec or when ExaBGP fixes issues(*) of logging the received FlowSpec rules. (*): ExaBGP (v4.0.2 or v3.4.21) will failed to log the received FlowSpec rules which contains some specific operators/operands (e.g., "!=" or empty operator). Then, we need to wait for the next release to implement more test cases. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2018-01-09bgp_zebra_test: Fix ping reachability testsIWASE Yusuke
Currently, we test the ping reachability of Quagga(o1) -> GoBGP(g1) -> Quagga(q1) in this scenario test, but in this case, two Quagga routers belong to the connected networks of GoBGP router and ping will succeed without the BGP advertisements. Then, even if GoBGP failed to install the received routes to the Linux routeing table via Zebra daemon, this test case will pass. This patch fixes to test the reachability of Quagga(o1) -> GoBGP(g1) -> Quagga(q1) -> Quagga(o2) and makes the advertised routes required to be installed into the g1's routing table. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2018-01-09test/lib/base: Fix typosIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-12-28addpath_test: Wait for re-establishment with ExaBGPIWASE Yusuke
When adding or deleting routes in ExaBGPContainer, it is required to restart ExaBGPContainer with the current implementation. This patch fixes to wait for the re-establishment with ExaBGP and improves the stability of this test case. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-12-16use label for containers and networks in order to avoid colliding with othersImcom Jin
2017-12-07test: use the current PYTHONPATH in run_all_tests.shFUJITA Tomonori
On some environments, it's necessary to use the current PYTHONPATH to run python. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-11-07test: Add scenario test for BGP ConfederationSatoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-11-07travis: Update .travis.ymlIWASE Yusuke
For scenario_test, Python build environment is more suitable rather than Go build environment, because scenario_test is written in Python and the building source codes will be done on Docker containers. This patch fixes scenario_test to use Python build environment and reduces "sudo" executions in order to use interpreter of virtualenv. Note: On Travis-Ci, the Python interpreter of sudoer is older version, and when install packages with "sudo pip", InsecurePlatformWarning will be displayed. So it is better to use the newer interpreter of virtualenv. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-09-29test: Add Scenario tests for Revised Error HandlingSatoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-08-04update travis-ci for depFUJITA Tomonori
libraries are installed into vendor directory so we can't build go code outside. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-07-30addpath_test: Test cases for routes from CLIIWASE Yusuke
This patch adds test cases for adding/deleting routes from GoBGP CLI. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-07-30addpath_test: Test cases for send add-pathsIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-07-20addpath_test: Test cases with non add-path routerIWASE Yusuke
This patch adds the test cases for the mixed situation of add-path enabled routers and non add-path enabled routers and advertising and withdrawing routes in such situation. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-07-20addpath_test: Enable to run without root privilegeIWASE Yusuke
see the comment of 4d7e3bd16fa51f4469a0a3f5f807c20b237ee21d Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-07-05test: add addpath_test.pyISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2017-06-08test: Test for Graceful Restart with multiple peersSatoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-05-23flowspec: handling of >2 logical elements and fixed testDenis Shevchenko
2017-05-10*: support replace-peer-as (aka as-override)Wataru Ishida
we use the term replace-peer-as instead of as-override since openconfig is using it. cli ``` $ gobgp n add <neighbor-addr> as <asn> replace-peer-as ``` config ``` neighbor: config: peer-as: <asn> neighbor-address: <neighbor-addr> as-path-options: config: replace-peer-as: true ``` Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2017-05-10*: support remove private asWataru Ishida
cli ``` $ gobgp n add <neighbor-addr> as <asn> remove-private-as (all|replace) ``` config ``` neighbor: config: peer-as: <asn> neighbor-address: <neighbor-addr> remove-private-as: all ``` Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2017-05-09server: ignore routes when local AS is in AS_PATHISHIDA Wataru
RFC4271 9.1.2 Phase 2: Route Selection If the AS_PATH attribute of a BGP route contains an AS loop, the BGP route should be excluded from the Phase 2 decision function. AS loop detection is done by scanning the full AS path (as specified in the AS_PATH attribute), and checking that the autonomous system number of the local system does not appear in the AS path. Operations of a BGP speaker that is configured to accept routes with its own autonomous system number in the AS path are outside the scope of this document. Also this commit adds support for allow-own-as option to relax this. Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2017-04-18Revert "test/lib/gobgp: Use local GoBGP executables in contaier"FUJITA Tomonori
This reverts commit 47ab84e34caeb7c89b26271bf84959011bc8ed19. using the same binaries on a host and inside a container isn't always feasible (by default, not statically linked binary). Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-04-18test: remove unnecessary root check in bgp_unnumbered_test.pyFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-04-17scenario_test/README: Update commands to clean upIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-04-17scenario_test/README: Remove list for each test fileIWASE Yusuke
For the maintainability, this patch removes the list for each scenario test file. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-04-17test/lib/gobgp: Use local GoBGP executables in contaierIWASE Yusuke
Currently, to reflect the modification of the local source code or to switch the base image for GoBGP container, it is required to re-build the GoBGP container image, and this take a long time to test or debug with the scenario tests. This patch fixes to use the local GoBGP executables (gobgp and gobgpd) in container, and enables to reflect the changes without rebuidling container image. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-04-17scenario_test/README: Remove redundant brake tagIWASE Yusuke
Also adds the language type of code blocks. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-04-17scenario_test/README: Update list of required imagesIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-04-04test: add test for unnumbered bgp featureISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2017-03-17scenario_test: Test for NextHop Tracking with ZebraIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-03-16test/lib/quagga: Avoid ambiguous command "en"IWASE Yusuke
With the newer version of Quagga, "en" command will be regarded as an "Ambiguous command", because there are two commands "enable" and "end". This patch replaces "en" command with "enable" command, and fixes this problem. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-03-16test/lib: Move noseplugin.py to test/lib module directoryIWASE Yusuke
To enable to use "noseplugin" as the Python module from the absolute import scope in scenario_test, this patch moves noseplugin.py to test/lib module directory. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-03-16scenario_test: pep8 and pylint improvementsIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-03-16scenario_test: "--force" option to remove directoriesIWASE Yusuke
To avoid the intractive prompt before removals, this patch adds "--force" option to remove directories. Also, fixes "--recursive" to "--force" option when removing xml files (not directories). Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-03-16jenkins-build-script: Add shebang lineIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-03-07scenario_test: Remove "sudo" command for running testsIWASE Yusuke
For the convenience when running scenario_test on Python virtualenv, this patch removes "sudo" command for running tests. Note: To enable to execute Docker without the root privilege, add your local user into "docker" group. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>