
Я установил Openstack с помощью Autopilot Ubuntu (openstack-install). Bootstrap из первой среды, называемой "maas", — это виртуальная машина, которую я взял из папки tools в пакете openstack-installer.
Внутри этой виртуальной машины находятся шесть контейнеров, и в каждом из них есть служба (apache2, haproxy, landscape, landscape-msg, postgresql и rabbitmq-server). Из контейнера Landscape «запускается» другая среда (в моем случае она называется «8»), где находятся все службы OpenStack.
Все работало нормально до моей первой перезагрузки. Landscape был недоступен, и причина была в том, что для juju у Landscape был IP 10.0.3.1, который является IP-адресом моста (lxcbr0) вместо его IP-адреса eth0 (10.222.221.140 в моем случае). Каков был результат? когда он попытался подключиться к Landscape, он перешел на 10.0.3.1, то есть перешел на VM вместо контейнера, где запущен Landscape.
Я понял, что это ошибка juju-core, согласноhttps://bugs.launchpad.net/juju-core/+bug/1416928, поэтому я обновился с juju-core 1.20.x до 1.21.3. Перезагрузился и он взял правильный IP, как вы можете видеть здесь:
$ JUJU_HOME=~/.cloud-install/ juju status landscape/0
environment: maas
machines:
"0":
agent-state: started
agent-version: 1.21.3.3
[...]
containers:
0/lxc/2:
agent-state: started
agent-version: 1.21.3.3
dns-name: 10.222.221.140
[...]
services:
landscape:
[...]
units:
landscape/0:
[...]
public-address: 10.222.221.140
Проблема в том, что теперь служба не запущена:
ландшафт/0: состояние агента: ошибка информация о состоянии агента: 'сбой перехвата: "config-changed"' версия агента: 1.21.3.3 машина: 0/lxc/2 публичный адрес: 10.222.221.140
Я пробовал с juju resolved --retry landscape/0
, но не работает. Есть какие-нибудь подсказки, почему это происходит?
решение1
Рад, что у вас все заработало с более новой версией Juju.
Вставленный вами журнал, похоже, machine-0.log
, нам действительно нужно было увидеть /var/log/juju/unit-landscape-0.log
. Если кто-то снова это увидит, попробуйте следующее:
juju run --service landscape,landscape-msg 'sudo lsctl restart'
Что должно показать вам более подробную информацию о вашей консоли и о том, почему что-то не запускается.