You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenStack Queens版本重启Neutron服务器出现PecanNotFound警告如何消除?

解决OpenStack Queens版本Neutron重启时的Pecan 404警告

嘿,我来帮你搞定这个烦人的Pecan警告!虽然你没直接用Pecan,但Queens版本的Neutron默认已经把Pecan集成到WSGI框架里了,有些API请求会默认走这个路径,当找不到对应控制器(比如你遇到的floatingips)时就会抛出这个警告。下面给你几个靠谱的解决办法:

方法一:禁用Pecan路由,改用传统Neutron API

这是最彻底的解决方式,直接让所有请求走传统的Neutron API管道:

  1. 打开Neutron的API配置文件/etc/neutron/api-paste.ini
  2. 找到[composite:neutronapi_v2_0]段落,把其中的neutronpecan替换成apiv2:
    [composite:neutronapi_v2_0]
    use = egg:Paste#urlmap
    /: neutronversions
    /v2.0: apiv2  # 把原来的neutronpecan改成apiv2
    
  3. 确认[pipeline:apiv2]的配置是启用传统API处理的(默认应该就是这样,如果不是就调整成下面的内容):
    [pipeline:apiv2]
    pipeline = cors http_proxy_to_wsgi request_id authtoken keystonecontext json_body neutronapi_v2_0
    
  4. 保存配置后重启Neutron服务:
    systemctl restart neutron-server
    

方法二:排查并修正错误的API请求

如果警告是因为某个服务/脚本误发了请求到Pecan的错误端点,你可以:

  • 检查日志里的req-something对应的请求来源,找到发送floatingips请求的客户端
  • 把请求的URL调整为标准的Neutron API端点(比如http://<neutron-server-ip>:9696/v2.0/floatingips),而不是Pecan的根路径

方法三:临时屏蔽警告(治标不治本)

如果暂时不想改配置,也可以调整日志级别,让这个警告不显示:

  1. 打开/etc/neutron/neutron.conf
  2. 在[DEFAULT] section里添加或修改:
    [DEFAULT]
    logging_loggers = neutron.pecan_wsgi.controllers.root=ERROR
    
  3. 重启Neutron服务生效

推荐优先用方法一,从根源上解决问题,这样就不会再收到这个Pecan相关的警告啦!

内容的提问来源于stack exchange,提问作者Iago Santos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:32:11