Skip to main content

Moments-Jul-Sep-2025

Jul 4, 2025

Openstack 太坑爹了,部署了一个测试集群,发现所有 vm 都卡在 scheduling,各种操作都试过了,没有什么思路。

现象是 nova 服务在对 vm 进行 schedule 之后就卡住,尝试如下方向:

  • 查看 nova-conductor 服务日志,没有报错
  • nova-compute 节点也没有收到任何信息,打开 debug 日志也没看到任何 vm 调度过来的痕迹
  • nova-scheduler 日志内能看到调度器正常工作并选定一个节点
  • glance 服务没有任何异常迹象
  • 打开 rabbitmq 的 trace 日志,没有什么新的内容,似乎无法看到消息队列内的每一条消息
  • 找到了一篇很高质量的博客,[[../../Collections/Clippings/OPENSTACK 新建实例无限SCHEDULING]], 详细讲述了一种可能导致永远 scheduling 的机制,但是经过仔细检查,并非是此问题。
    最后的最后,我发现自己傻逼至极,在配置的如下部分禁用了 conductor,导致没法实现透过 conductor 向 nova-compute 通信,改成 false 就好了....
[conductor]

#
# Options defined in nova.conductor.api
#

# Perform nova-conductor operations locally (boolean value)
use_local=true

当然此处如果 controller 和 compute 节点同时使用 true 估计也是能用,但是我懒得再去验证了,太恶心了。