OpenStack Queens版本重启Neutron服务器出现PecanNotFound警告如何消除?
解决OpenStack Queens版本Neutron重启时的Pecan 404警告
嘿,我来帮你搞定这个烦人的Pecan警告!虽然你没直接用Pecan,但Queens版本的Neutron默认已经把Pecan集成到WSGI框架里了,有些API请求会默认走这个路径,当找不到对应控制器(比如你遇到的floatingips)时就会抛出这个警告。下面给你几个靠谱的解决办法:
方法一:禁用Pecan路由,改用传统Neutron API
这是最彻底的解决方式,直接让所有请求走传统的Neutron API管道:
- 打开Neutron的API配置文件
/etc/neutron/api-paste.ini - 找到
[composite:neutronapi_v2_0]段落,把其中的neutronpecan替换成apiv2:[composite:neutronapi_v2_0] use = egg:Paste#urlmap /: neutronversions /v2.0: apiv2 # 把原来的neutronpecan改成apiv2 - 确认
[pipeline:apiv2]的配置是启用传统API处理的(默认应该就是这样,如果不是就调整成下面的内容):[pipeline:apiv2] pipeline = cors http_proxy_to_wsgi request_id authtoken keystonecontext json_body neutronapi_v2_0 - 保存配置后重启Neutron服务:
systemctl restart neutron-server
方法二:排查并修正错误的API请求
如果警告是因为某个服务/脚本误发了请求到Pecan的错误端点,你可以:
- 检查日志里的
req-something对应的请求来源,找到发送floatingips请求的客户端 - 把请求的URL调整为标准的Neutron API端点(比如
http://<neutron-server-ip>:9696/v2.0/floatingips),而不是Pecan的根路径
方法三:临时屏蔽警告(治标不治本)
如果暂时不想改配置,也可以调整日志级别,让这个警告不显示:
- 打开
/etc/neutron/neutron.conf - 在
[DEFAULT]section里添加或修改:[DEFAULT] logging_loggers = neutron.pecan_wsgi.controllers.root=ERROR - 重启Neutron服务生效
推荐优先用方法一,从根源上解决问题,这样就不会再收到这个Pecan相关的警告啦!
内容的提问来源于stack exchange,提问作者Iago Santos
相关产品推荐
相关产品推荐

