1. 程式人生 > >openstack queens 版本 linux bridge起不來的解決辦法

openstack queens 版本 linux bridge起不來的解決辦法

openstack queens

報錯如下:
Apr 3 03:52:48 neutron neutron-linuxbridge-agent: elif tornado and tornado.gen.is_coroutine_function(f):
Apr 3 03:52:48 neutron neutron-linuxbridge-agent: AttributeError: ‘module‘ object has no attribute ‘is_coroutine_function‘
Apr 3 03:52:48 neutron systemd: neutron-linuxbridge-agent.service: main process exited, code=exited, status=1/FAILURE
Apr 3 03:52:48 neutron systemd: Unit neutron-linuxbridge-agent.service entered failed state.
Apr 3 03:52:48 neutron systemd: neutron-linuxbridge-agent.service failed.
Apr 3 03:52:48 neutron systemd: neutron-linuxbridge-agent.service holdoff time over, scheduling restart.
Apr 3 03:52:48 neutron systemd: Starting OpenStack Neutron Linux Bridge Agent...
Apr 3 03:52:48 neutron neutron-enable-bridge-firewall.sh: net.bridge.bridge-nf-call-iptables = 1
Apr 3 03:52:48 neutron neutron-enable-bridge-firewall.sh: net.bridge.bridge-nf-call-ip6tables = 1
Apr 3 03:52:48 neutron systemd: Started OpenStack Neutron Linux Bridge Agent.
Apr 3 03:52:49 neutron neutron-linuxbridge-agent: Traceback (most recent call last):
Apr 3 03:52:49 neutron neutron-linuxbridge-agent: File "/usr/bin/neutron-linuxbridge-agent", line 6, in <module>
Apr 3 03:52:49 neutron neutron-linuxbridge-agent: from neutron.cmd.eventlet.plugins.linuxbridge_neutron_agent import main
Apr 3 03:52:49 neutron neutron-linuxbridge-agent: File "/usr/lib/python2.7/site-packages/neutron/cmd/eventlet/plugins/linuxbridge_neutron_agent.py", line 15, in <module>
Apr 3 03:52:49 neutron neutron-linuxbridge-agent: import \
Apr 3 03:52:49 neutron neutron-linuxbridge-agent: File "/usr/lib/python2.7/site-packages/neutron/plugins/ml2/drivers/linuxbridge/agent/linuxbridge_neutron_agent.py", line 47, in <module>
Apr 3 03:52:49 neutron neutron-linuxbridge-agent: from neutron.plugins.ml2.drivers.linuxbridge.agent import arp_protect
Apr 3 03:52:49 neutron neutron-linuxbridge-agent: File "/usr/lib/python2.7/site-packages/neutron/plugins/ml2/drivers/linuxbridge/agent/arp_protect.py", line 229, in <module>
Apr 3 03:52:49 neutron neutron-linuxbridge-agent: def ebtables(comm, table=‘nat‘):
Apr 3 03:52:49 neutron neutron-linuxbridge-agent: File "/usr/lib/python2.7/site-packages/tenacity/init.py", line 98, in wrap
Apr 3 03:52:49 neutron neutron-linuxbridge-agent: elif tornado and tornado.gen.is_coroutine_function(f):
Apr 3 03:52:49 neutron neutron-linuxbridge-agent: AttributeError: ‘module‘ object has no attribute ‘is_coroutine_function‘
Apr 3 03:52:49 neutron systemd: neutron-linuxbridge-agent.service: main process exited, code=exited, status=1/FAILURE
Apr 3 03:52:49 neutron systemd: Unit neutron-linuxbridge-agent.service entered failed state.
Apr 3 03:52:49 neutron systemd: neutron-linuxbridge-agent.service failed.

現象是 neutron-linuxbridge-agent 不斷重啟,但是不生產日誌文件,最後啟動失敗,坑了我2天,找到問題 "neutron-linuxbridge-agent: AttributeError: ‘module‘ object has no attribute ‘is_coroutine_function‘"
找到/usr/lib/python2.7/site-packages/tenacity/init.py 裏面找到這個代碼註釋掉。
如下:
以前是:
def wrap(f):
if asyncio and asyncio.iscoroutinefunction(f):
r = AsyncRetrying(*dargs, dkw)
elif tornado and tornado.gen.is_coroutine_function(f):
r = TornadoRetrying(*dargs, *dkw)
else:
r = Retrying(
dargs,
dkw)

        return r.wraps(f)

    return wrap

改變後:
def wrap(f):
if asyncio and asyncio.iscoroutinefunction(f):
r = AsyncRetrying(*dargs, **dkw)
#elif tornado and tornado.gen.is_coroutine_function(f):

r = TornadoRetrying(*dargs, **dkw)

        else:
            r = Retrying(*dargs, **dkw)

        return r.wraps(f)

    return wrap

openstack queens 版本 linux bridge起不來的解決辦法