在 nova-compute 在容器上运行的节点上,Openstack 控制台日志为空

问题描述

Openstack 迁移到容器环境后,无法获取控制台日志。

  • 当我运行 openstack console log show SERVER_NAME 时,它什么都不返回。
  • 当我访问 Horizo​​n UI 实例详细信息中的控制台选项卡时,它什么也不返回。

我查看了nova-compute容器中的实例日志文件,发现console.log文件是存在的。

openstack 服务的容器化会成为问题吗?

解决方法

我找到了原因,分享解决方案似乎很有价值。

原因

当通过 libvirt/qemu 创建 VM 时,会在 /dev/pts 下创建一个 pty 设备。 获取控制台日志时,Nova 会检查该设备是否存在于该路径中。 但是现在 Nova 计算是容器化的,并且 /dev/pts 没有挂载在上面。

解决方案

使用容器清单中的 volumeMount 将 /dev/pts 挂载到容器。