Розгортання Openstack Landscape не вдається налаштувати в зонах доступності


8

Використовуючи поточну опцію "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 root RetryingCall for '_get_nova_info' не вдалося, пробуючи ще 103 рази: 2015-03-05 21:18:38 INFO root Traceback:: Не вистачає 4 нових-обчислювальних одиниць
/ 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: _ обгорнути
/opt/canonical/landscape/canonical/landscape/model/openstack/jobs.py:751:_get_nova_info


ПРИМІТКА : Номер рядка в jobs.py вимкнено, оскільки я додав деякі заяви друку для налагодження. Це твердження у функції _get_nova_info () біля рядка № 741 (якщо пам'ять слугує), і так, я використовую найновішу версію пейзажу на сьогоднішній день з ландшафту ppa для достовірності.

Тому я змінив /opt/canonical/landscape/canonical/landscape/model/openstack/jobs.py 's _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 () і отримав помилку . Потім я побіг self.juju_environment.get_juju_home () і дістався/ var / lib / пейзаж / juju-homes / 20 . (Так, це моя 20-та спроба моєї 2-ї реконструкції ландшафтного ящика; я був на цьому деякий час). Тож я запустив статус джуджу, використовуючи згаданий вище джуджу, і все виглядало добре. Всі 5 машин та послуг було запущено, без станів очікування чи помилок. (включаючи 4 вузли nova-compute) Будь-які ідеї? Я дещо новачок у ландшафті, MAAS, JUJU, & python, тому моя налагодження трохи повільна.


ОНОВЛЕННЯ 1:

За запитом я отримав 2 журнали (хоча мій дім зараз # 23), статус дзюджу та broker.log . Я думаю, що тепер я знаю, у чому полягає моя проблема у фрагменті broker.log нижче. (Дякую dpb, що вказав на мене) Моя машина MAAS видає DHCP-адресу моєму ландшафтному LXC, але мій пейзаж LXC не знаходиться в DNS, керованому MAAS, оскільки він не передбачений MAAS. Тому передбачені машини не можуть підключитися до ландшафтного сервера за назвою.

Отже, це приводить мене до пов’язаного питання, чи є хороший спосіб автоматичного оновлення DAS DAS на машинах, які не передбачені (або під контролем MAAS)? Якщо ні, мені доведеться надати йому статичний IP поза моїм діапазоном DHCP і вручну встановити DNS.

2015-03-06 17: 09: 50,665 INFO [MainThread] Брокер розпочато з config /etc/landscape/client.conf
2015-03-06 17: 09: 52,382 INFO [MainThread] Початок термінового обміну повідомленнями з https: // пейзаж / повідомлення-система .
2015-03-06 17: 09: 52,389 ПОМИЛКА [PoolThread-twisted.internet.reactor-1] Помилка контакту з сервером за адресою https: // пейзаж / повідомлення-система .
Відстеження (останній дзвінок останній):
Файл "/usr/lib/python2.7/dist-packages/landscape/broker/transport.py", рядок 71, в обмін повідомленням_api
)
Файл "/usr/lib/python2.7/ dist-пакети / пейзаж / брокер / transport.py ", рядок 45, у
заголовках _curl = заголовки, 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 INFO [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 Dedicated Server на LXC, використовуючи вищезазначений метод пейзаж-сервер-швидкий старт.

Після цієї повторної інсталяції (головним чином, щоб очистити всю мою помилку), я нарешті зміг встановити OpenStack, хоча і пейзаж. Дякую.

Відповіді:


4

Повідомлення "Відсутня N нова-обчислювальних одиниць" - це про агенти-клієнти-ландшафти, зареєстровані назад у ландшафт, Перевірте /var/log/landscape/broker.logвідсутні блоки.

ОНОВЛЕННЯ:

Як ви правильно визначили, все працює найлегше, якщо LDS (Landscape Dedicated Server) встановлений на той самий MAAS, де буде працювати ваша відкрита атака, в основному через маршрутизацію мережі та DNS. Однак існує безліч варіацій дійсної топології з маршрутами між мережами тощо.

Деякі пропозиції щодо спробувати, будь ласка, прочитайте їх усі. Зрештою вам потрібно визначити топологію розгортання:

  • Для тестування розгорніть LDS у тому самому MAAS, де буде ваш opentack - просто щоб перевірити, чи там все працює. Для полегшення цього скористайтеся інструментом opentack встановлення або пакетів з щільним пейзажем maas з juju-quickstart.

  • Ваші клієнти повинні мати можливість отримати доступ до LDS, як ви заявили. Якщо вони можуть маршрутизувати IP-адресу до місця розгортання LDS, ви можете зірвати встановлення openstack, змінити налаштування імені сервера apache та спробувати ще раз. juju set apache2 servername=IP_ADDRESS. Після цього дотримуйтесь журналу налагодження juju, переконайтеся, що все вийшло, і переконайтеся, що ви можете перейти до графічного інтерфейсу LDS за цим https: // IP_ADDRESS / URL.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.