osrg/gobgp

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

zhihuacc opened this issue · 3 comments

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

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

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

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