Журнал консоли Openstack пуст на узлах, nova-compute которых работает в контейнере

После миграции Openstack в среду контейнера я не могу получить журналы консоли.

  • Когда я запускаю openstack console log show SERVER_NAME, он ничего не возвращает.
  • Когда я захожу на вкладку консоли в деталях экземпляра пользовательского интерфейса Horizon, она ничего не возвращает.

Я проверил файл журнала экземпляра в контейнере nova-compute и понял, что файл console.log существует.

Контейнеризация сервисов openstack может быть проблемой?


person James Wang    schedule 18.02.2021    source источник
comment
Как вы мигрировали и как контейнеризируются сервисы nova-compute? Какая это версия OpenStack? У всех экземпляров проблема или только у экземпляров, существовавших до миграции? Вы проверяли журналы Nova — вероятно, Nova-API и Nova-Compute?   -  person berndbausch    schedule 18.02.2021
comment
› Как контейнеризуются сервисы nova-compute? С помощью openstack-helm я развернул сервисы openstack на k8s. › Какая это версия openstack? У меня поезд, уссури и виктория. У всех одна и та же проблема. › Проблема возникает во всех экземплярах? да. ›Вы проверяли журналы nova? Да ничего особенного.   -  person James Wang    schedule 18.02.2021
comment
Журнал отладки в nova-compute и nova-api? Возможно, вы сможете сопоставить nova-compute сообщения с запросом API по его идентификатору запроса. Во всяком случае, то, что вы описываете, для меня выглядит как ошибка, по крайней мере, ошибка в методе развертывания, который вы использовали.   -  person berndbausch    schedule 20.02.2021


Ответы (1)


Я нашел причину, и мне кажется ценным поделиться решением.

Причина

Когда виртуальная машина создается с помощью libvirt/qemu, устройство pty создается в каталоге /dev/pts. При получении журнала консоли Nova проверяет, существует ли устройство по этому пути. Но теперь вычисление Nova контейнеризовано, и /dev/pts на нем не монтируется.

Решение

Подключите /dev/pts к контейнеру, используя volumeMount в манифесте контейнера.

person James Wang    schedule 20.02.2021