osrg / gobgp

BGP implemented in the Go Programming Language
https://osrg.github.io/gobgp/
Apache License 2.0
3.59k stars 684 forks source link

bgp_unnumbered_test and route_server_ipv4_v6_test failed due to IPv6 is not enabled in test container un_g1 #2791

Open zhihuacc opened 5 months ago

zhihuacc commented 5 months ago

I run test locally following here but got cases failed as below. Seems it because ipv6 is not enabled in some docker containers like un_g1. I login the container un_g1 and found the below ipv6 flags are set 1:

net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.eth0.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1

Case 1

ERROR: test suite for <class 'bgp_unnumbered_test.GoBGPTestBase'>

Traceback (most recent call last): File "/root/zhihua/codebase/gobgp/.test/lib/python3.9/site-packages/nose/suite.py", line 210, in run self.setUp() File "/root/zhihua/codebase/gobgp/.test/lib/python3.9/site-packages/nose/suite.py", line 293, in setUp self.setupContext(ancestor) File "/root/zhihua/codebase/gobgp/.test/lib/python3.9/site-packages/nose/suite.py", line 316, in setupContext try_run(context, names) File "/root/zhihua/codebase/gobgp/.test/lib/python3.9/site-packages/nose/util.py", line 471, in try_run return func() File "/root/zhihua/codebase/gobgp/test/scenario_test/bgp_unnumbered_test.py", line 64, in setUpClass g1.local('ping6 -c 1 ff02::1%eth0') File "/root/zhihua/codebase/gobgp/test/lib/base.py", line 302, in local return local('docker exec {0} {1} {2}'.format(flag, self.docker_name(), cmd), capture) File "/root/zhihua/codebase/gobgp/test/lib/base.py", line 91, in local return run(s, hide=True, env=_env).stdout.strip() File "/root/zhihua/codebase/gobgp/.test/lib/python3.9/site-packages/invoke/init.py", line 46, in run return Context().run(command, kwargs) File "/root/zhihua/codebase/gobgp/.test/lib/python3.9/site-packages/invoke/context.py", line 94, in run return self._run(runner, command, kwargs) File "/root/zhihua/codebase/gobgp/.test/lib/python3.9/site-packages/invoke/context.py", line 101, in _run return runner.run(command, kwargs) "test2.log" 9540L, 438985C 19,1 Top File "/root/zhihua/codebase/gobgp/.test/lib/python3.9/site-packages/nose/suite.py", line 293, in setUp try_run(context, names) File "/root/zhihua/codebase/gobgp/.test/lib/python3.9/site-packages/nose/util.py", line 471, in try_run return func() File "/root/zhihua/codebase/gobgp/test/scenario_test/bgp_unnumbered_test.py", line 64, in setUpClass g1.local('ping6 -c 1 ff02::1%eth0') File "/root/zhihua/codebase/gobgp/test/lib/base.py", line 302, in local return local('docker exec {0} {1} {2}'.format(flag, self.docker_name(), cmd), capture) File "/root/zhihua/codebase/gobgp/test/lib/base.py", line 91, in local return run(s, hide=True, env=_env).stdout.strip() File "/root/zhihua/codebase/gobgp/.test/lib/python3.9/site-packages/invoke/init.py", line 46, in run return Context().run(command, kwargs) File "/root/zhihua/codebase/gobgp/.test/lib/python3.9/site-packages/invoke/context.py", line 94, in run return self._run(runner, command, kwargs) File "/root/zhihua/codebase/gobgp/.test/lib/python3.9/site-packages/invoke/context.py", line 101, in _run return runner.run(command, kwargs) File "/root/zhihua/codebase/gobgp/.test/lib/python3.9/site-packages/invoke/runners.py", line 271, in run return self._run_body(command, **kwargs) File "/root/zhihua/codebase/gobgp/.test/lib/python3.9/site-packages/invoke/runners.py", line 404, in _run_body raise UnexpectedExit(result) invoke.exceptions.UnexpectedExit: Encountered a bad command exit code!

Command: 'docker exec un_g1 ping6 -c 1 ff02::1%eth0'

Exit code: 2

Case 2

ERROR: test suite for <class 'route_server_ipv4_v6_test.GoBGPIPv6Test'>

Traceback (most recent call last): File "/root/zhihua/codebase/gobgp/.test/lib/python3.9/site-packages/nose/suite.py", line 210, in run self.setUp() File "/root/zhihua/codebase/gobgp/.test/lib/python3.9/site-packages/nose/suite.py", line 293, in setUp self.setupContext(ancestor) File "/root/zhihua/codebase/gobgp/.test/lib/python3.9/site-packages/nose/suite.py", line 316, in setupContext try_run(context, names) File "/root/zhihua/codebase/gobgp/.test/lib/python3.9/site-packages/nose/util.py", line 471, in try_run return func() File "/root/zhihua/codebase/gobgp/test/scenario_test/route_server_ipv4_v6_test.py", line 64, in setUpClass g1.add_peer(ctn, is_rs_client=True, v6=True) File "/root/zhihua/codebase/gobgp/test/lib/base.py", line 391, in add_peer raise Exception('peer {0} seems not ip reachable'.format(peer)) Exception: peer {'name': 'q3', 'asn': 65005, 'router_id': '192.168.0.5'} seems not ip reachable

zhihuacc commented 5 months ago

I run the test in v3.21, v3.22, v3.23, v3.24 and all failed on the same cases.

zhihuacc commented 5 months ago

Hi @fujita not sure if you have time to take a look on this ?

fujita commented 5 months ago

I think that you need to configure Docker to enable ipv6 in containers.