summaryrefslogtreecommitdiffhomepage
path: root/test/lib/base.py
AgeCommit message (Collapse)Author
2019-06-22Python3 support to gobgp testsFranza Cavalcante
This PR removes dependencies on old Fabric version, as it's not supported by Python3. The current Fabric versions don't support the colors and indent used previously, so we found substitute methods from other libraries and defined these in the library files. The local function from fabric is now just a wrapper to invoke's run function. All the files were processed through 2to3 command. All the tests were executed and we don't see any difference on the outputs when running Python2 or Python3. The creation of gobgp container is removed from base.py into fabfile.py, in order to comply with Fabric2 changes and simplify dependencies.
2019-04-04test: switch to module from dep completelyFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>
2018-08-31test: fix get_reachability()FUJITA Tomonori
the output of ping command changed? Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-08-28test/lib: Enable static IP addressNasato Goto
This patch enable us to give test containers a static IP address by passing 'ip_addr' argument to addif method. In addition, 'v6=True' argument is needed when we specify static IPv6 address. Usage: br01 = Bridge(name='br01', subnet='192.168.0.0/24', self_ip=False) g1 = GoBGPContainer(name='g1', asn=64512 router_id='10.0.0.1') br01.addif(g1, ip_addr='192.168.0.11')
2018-08-28test: Fix bridge methos and relative scenario testNasato Goto
This patch fix the logic of addif methos of Bridge class. IP address information will be registerd according to the IP version of bridge. This change lead the fixing of one of scenario test, "bgp_zebra_test.py".
2018-07-07follow Standard Go Project LayoutFUJITA Tomonori
https://github.com/golang-standards/project-layout Now you can see clearly what are private and public library code. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-05-30scenario_test: Extend Graceful Restart timeIWASE Yusuke
The current Graceful Restart time is 20 sec, but this value is not enough long and can be exceeded unexpectedly while waiting for re-establishing peer connections. Then the stale paths on a receiving router are dropped before the paths successfully synced, and some test cases on "graceful_restart_test.py" will be passed unexpectedly. This patch extends the Graceful Restart time to 30 sec and introduces the constants for Graceful Restart time and Long-Lived Graceful Restart time. 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-19test/lib: Add YABGP containerIWASE Yusuke
Note: This implementation supposes the YABGP version 0.4.0. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2018-01-19test/lib/base: Delete FlowSpec routes with keywordIWASE Yusuke
Currently, in case of the FlowSpec routes, "prefix" value which stored on each container instance is just a keyword and not valid NLRI arguments for adding or deleting routes. So when deleting routes with "route" keyword, it is required to construct the NLRI arguments using "matchs" value. This patch enables to construct the valid NLIR arguments as "prefix" value when adding the FlowSpec routes and enables to delete the FlowSpec routes with "route" keyword. 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>
2018-01-09test/lib/base: Removes redundant routes from hostIWASE Yusuke
When creating a new Docker network (Linux Bridge), some routes to its subnet will be installed in to the container host's routing table. This routes enable containers to communicate each other through the container host's rouging table, then causes the unexpected success of scenario tests (e.g., ping between containers). This patch removes the unexpected routes from the container host and avoid this problem. 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-11-07test/lib: Add bgp config structure for GoBGP/Quagga containersSatoshi Fujimoto
This commit introduces 'bgp_config' attribute for GoBGP/Quagga containers to configure complex settings. Adding to this, this commit enables to configure BGP confederation settings to GoBGP/Quagga conrainers. Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-09-29test: Add Scenario tests for Revised Error HandlingSatoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-09-24test/lib/base: Reduce redundant build stepsIWASE Yusuke
Currently, the build steps of "go get" and removing the downloaded directory are not effective steps. For example, "go get" for downloading dependencies can be replaced with "dep ensure". Signed-off-by: IWASE Yusuke <iwase.yusuke0@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-30test/lib/gobgp: Get community/identifier via get_*_rib()IWASE Yusuke
This patch enables GoBGPContainer to get community and identifier for each route via get_global_rib() and get_local_rib() methods. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-07-30test/lib/base: Avoid to del all routes without identifier specifiedIWASE Yusuke
Currently, del_route() with "identifier=None" deletes all routes even if some installed routes have the valid identifier. This patch fixes to delete only route which exactly matches against the given identifier. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-07-20test/lib/base/BGPContainer: Enable to delete routeIWASE Yusuke
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-07test: ignore the failure of caching dependeny with building docker imageFUJITA Tomonori
`go get -d github.com/osrg/gobgp/...` could fail (e.g., an imported library has gone). After that, we build a docker image from modified source code. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
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-21test: fix container build for testFUJITA Tomonori
fix the regression of commit e429c1aaf4dd85459dfafc1a5efac9d4778370f6 Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-04-18test: change Dockerfile for faster container buildFUJITA Tomonori
use cache wisely. Signed-off-by: FUJITA Tomonori <fujita.tomonori@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-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-04test: add test for unnumbered bgp featureISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2017-03-17scenario_test: Support OSPFd in Quagga containerIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-03-16test/lib: 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-02-09server: fix in-policy bugISHIDA Wataru
When a path is rejected by in-policy, the prefix must be withdrawn since it might already exist in the rib. Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-11-14client: add golang client libraryWataru Ishida
Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-11-12test: remove tcpdump usage in bgp_router_test.pyFUJITA Tomonori
It's unreliable. Use monitor command instead. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-11-07test: add change of best paths from ibgp and ebgpFUJITA Tomonori
gobgp has two ibgp peers and one ebgp. 1. the best path is from ebgp so advertise it to ibgp peers. 2. one of ibgp peer sends the same path so now the path from ibgp becomes best. 3. gobgp doesn't advertise it to another ibgp and needs to withdraw the best from ebgp. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-11-04support neighbor belongs to VRFWataru Ishida
$ gobgp vrf add red rd 100:100 rt both 100:100 $ gobgp neighbor add 10.0.0.1 as 2 vrf red $ gobgp vrf red neighbor Peer AS Up/Down State |#Advertised Received Accepted 10.0.0.1 2 never Active | 0 0 0 Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-10-09*: support long lived graceful restartWataru Ishida
Signed-off-by: Wataru Ishida <ishida.wataru@lab.ntt.co.jp>
2016-09-12test: use Docker's native network feature instead of pipeworkFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-09-01test: stop tcpdump write bufferingFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-08-03server: fix advertising multiple local withdrawals with same prefixISHIDA Wataru
a bug introduced by 332766189685028c4f9852e4285fb1a9025223cc Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-06-01server: support peering with ipv6 link local addressISHIDA Wataru
fix DialTCPTimeoutWithMD5Sig to handle ipv6 scope-id also update ipv6 test to test this feature Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-23server/table: fix intra-AS RTC route distributionISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-11test: add start_tcpdump()ISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-05-09Revert "travis-ci: workaround for "FUJITA Tomonori
Now the issue was fixed. No need for the workaround: https://github.com/kr/text/issues/6 This reverts commit 9c8dca5b697a49611fd780204abf77947fe16f12.
2016-05-05travis-ci: workaround for FUJITA Tomonori
go get doesn't work for github.com/kr/text because it doesn't have master branch somehow. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-04-24test: add BGPContainer.define_policy() and BGPContainer.assign_policy()ISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-04-24test/gobgp: enhance policy configurationISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2016-04-20server: support route-target constraintISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>