Используя текущую опцию «OpenStack Beta» от Landscape, чтобы развернуть OpenStack в моей настройке MAAS. Я получаю заполнение 98%, с 1 ошибкой в «Настройка зон доступности». В моих настройках использовались KVM, Open vSwitch, и в настоящее время я использую Ceph для хранения объектов и блоков. Когда я смотрю на /var/log/landscape/job-handler-1.log на альбомной машине, вижу более 100 ошибок о:
2015-03-05 21:18:38 Не удалось выполнить корневой запрос INFO для '_get_nova_info', попытка выполнить еще 103 раза: 2015-03-05 21:18:38 Отслеживание корневого каталога INFO:: отсутствует 4 единицы nova-compute
/ usr /lib/python2.7/threading.py:783:__bootstrap
/usr/lib/python2.7/threading.py:810:__bootstrap_inner
/usr/lib/python2.7/threading.py:763:run
--- < здесь обнаружена исключительная ситуация> ---
/usr/lib/python2.7/dist-packages/twisted/python/threadpool.py:191:_worker
/usr/lib/python2.7/dist-packages/twisted/python/context. py: 118: callWithContext
/usr/lib/python2.7/dist-packages/twisted/python/context.py:81:callWithContext
/usr/lib/python2.7/dist-packages/storm/twisted/transact.py: 76: _wrap
/opt/canonical/landscape/canonical/landscape/model/openstack/jobs.py:751:_get_nova_info
ПРИМЕЧАНИЕ . Номер строки в jobs.py отключен, поскольку я добавил несколько операторов печати для отладки. Это утверждение в функции _get_nova_info () рядом со строкой # 741 (если память не изменяет), и да, я использую новейшую на сегодня версию landscapeing из ландшафта ppa для trusty.
Поэтому я изменил /opt/canonical/landscape/canonical/landscape/model/openstack/jobs.py ' _get_nova_info () функцию, чтобы распечатать длину nova_compute_hostnames, и я получил ноль . Так что я гонялся , что в /opt/canonical/landscape/canonical/landscape/model/openstack/region.py «s get_nova_compute_hostnames () и обнаружил , что self.juju_environment.get_computer_ids (). Count () также нулю . Поэтому я добавил вызов self.juju_environment.has_computers () и получил значение false . Затем я запустил self.juju_environment.get_juju_home () и получил/ var / lib / landscape / juju-homes / 20 . (Да, это моя 20-я попытка перестроить ландшафтную коробку, я занимался этим некоторое время). Таким образом я управлял статусом дзюдо, используя дом дзюдо, упомянутый выше, и все выглядело хорошо. Все 5 машин и сервисов были запущены, состояния ожидания или ошибки отсутствуют. (включая 4 новых вычислительных узла) Есть идеи? Я немного новичок в ландшафте, MAAS, JUJU и Python, поэтому моя отладка немного медленная.
ОБНОВЛЕНИЕ 1:
По запросу у меня есть 2 журнала (хотя мой дом теперь № 23) статус juju и broker.log . Я думаю, что теперь я знаю, в чем моя проблема, согласно фрагменту broker.log ниже. (Спасибо dpb за указание на меня) Моя машина MAAS выдает адрес DHCP моему LXC с альбомной ориентацией, но мой LXC с альбомной ориентацией не находится в DNS, управляемом MAAS, поскольку он не предоставляется MAAS. Поэтому подготовленные машины не могут подключаться к серверу ландшафта по имени.
Так что это приводит меня к связанному вопросу, есть ли хороший способ, чтобы MAAS автоматически обновлял DNS с помощью компьютеров, которые не были подготовлены (или находятся под контролем MAAS)? Если нет, мне придется присвоить ему статический IP-адрес вне моего диапазона DHCP и вручную установить DNS.
2015-03-06 17: 09: 50,665 INFO [MainThread] Брокер запустил с конфигурацией /etc/landscape/client.conf 2015-03-06
17: 09: 52,382 INFO [MainThread] Запуск срочного обмена сообщениями с помощью https: // landscape / система сообщений .
2015-03-06 17: 09: 52,389 ОШИБКА [PoolThread-twisted.internet.reactor-1] Ошибка связи с сервером по адресу https: // landscape / message-system .
Трассировка (последний вызов был последним):
Файл "/usr/lib/python2.7/dist-packages/landscape/broker/transport.py", строка 71, в файле
message_api для обмена )
Файл "/usr/lib/python2.7/ dist-packages / landscape / broker / transport.py ", строка 45, в _curl
headers = headers, cainfo = self._pubkey, curl = curl))
Файл "/usr/lib/python2.7/dist-packages/landscape/lib/fetch.py", строка 109, в порядке
повышения PyCurlError (e.args [0], e.args 1 )
PyCurlError: Ошибка 6: может не разрешен хост: ландшафт
2015-03-06 17: 09: 52,390 ИНФОРМАЦИЯ [MainThread] Ошибка обмена сообщениями.
2015-03-06 17: 09: 52,391 INFO [MainThread] Обмен сообщениями завершен за 0,01 с.
ОБНОВЛЕНИЕ 2:
Мои настройки немного ограничены, так как мне дали только 6 машин (5 узлов и 1 контроллер), чтобы показать возможности OpenStack / Landscape, поэтому я не могу использовать выделенную машину для ландшафта. Я использовал ландшафтный сервер- быстрый запуск в LXC на своем контроллере MAAS, чтобы я мог быстро его сдуть и начать все заново.
поэтому я отказался от настройки ландшафта и установил для LXC статический IP-адрес, затем изменил DNS (контролируемый MAAS), чтобы иметь статическую запись DNS для моего ландшафтного сервера. Затем я установил Landscape Ledicated Server на LXC, используя метод landscape-server-quickstart, упомянутый выше.
После этой переустановки (главным образом для очистки всего моего отладочного беспорядка) я наконец смог установить OpenStack через альбомную среду. Спасибо.