Компьютеры не сообщают о ландшафте

3

У меня был рабочий ландшафт после установки Openstack с помощью openstack-installer. Через некоторое время и после перезагрузки все, и после некоторых борется с juju ( Пейзаж не запускается после перезагрузки с juju-core 1.20.x ), Пейзаж снова запускается, а также Openstack.

Проблема заключается в том, что ни один компьютер не сообщает Пейзажу. Я получаю каждые 5 минут сообщение с темой " [Оповещение о ландшафте] 18 компьютеров не связались с Пейзаж за последние 5 минут ", хотя все серверы запущены и работают.

Я также сталкиваюсь с серьезными проблемами в Openstack (не могу запускать новые экземпляры, объемы резервных копий и т. д.), и я думаю, что проблема связана.

    
задан Sacha Yunusic 13.03.2015 в 18:11
источник

1 ответ

5

После сеанса отладки через комментарии к исходному вопросу мы выяснили, в чем проблема.

При использовании самозаверяющего сертификата у очага apache2 была ошибка, в которой он мог бы сгенерировать такой сертификат только с 30-дневным сроком действия.

Случилось так, что он истек. Это было исправлено в новой версии очарования, поэтому мы сделаем обновление до этого и инициируем создание нового сертификата.

Чтобы обновить обаяние и восстановить сертификат, выполните следующие действия:

  1. Запустить juju ssh apache2/0 'sudo rm -f /etc/ssl/certs/apache2.cert /etc/ssl/private/apache2.key /etc/ssl/certs/landscape_server_ca.crt' .
  2. Запустить juju upgrade-charm apache2 . Это улучшит обаяние и новый шарм, как только он увидит, что нет сертификатов (удаленных на первом шаге), создаст новую пару.
  3. Следите за выходом juju debug-log , пока он не снизится.
  4. Запустите juju ssh apache2/0 'sudo service apache2 restart' (я напишу об ошибке об этом шаге: он не нужен, но сейчас)

Теперь нам нужно рассказать клиентам об этом новом сертификате. Это немного сложнее, потому что клиенты работают в другой среде juju, которая существует на уровне ландшафта / 0, похожая на начало. Выполните следующие действия:

  1. Возьмите новый сертификат: juju scp apache2/0:/etc/ssl/certs/apache2.cert .
  2. Убедитесь, что разрешения: 0644: chmod 0644 apache2.cert
  3. Проверить, что срок действия истекает через 10 лет: openssl x509 -in apache2.cert -noout -enddate
  4. Загрузите его в альбомную папку / 0: juju scp apache2.cert landscape/0:/tmp
  5. Вход в альбом / 0: juju ssh landscape/0
  6. Изменить оболочку ландшафтного пользователя: sudo chsh -s /bin/bash landscape
  7. Стать ландшафтом: sudo -u landscape -i
  8. Укажите на облачную среду juju: export JUJU_HOME=/var/lib/landscape/juju-homes/$(ls -1t /var/lib/landscape/juju-homes/|head -n 1)
  9. Запустите это, чтобы подтвердить, что juju работает в этой среде: juju status . Вы должны увидеть много сервисов OpenStack.
  10. Сообщите клиенту о новом сертификате: juju set landscape-client ssl-public-key="base64:$(cat /tmp/apache2.cert|base64)"
  11. Следите за выходом juju debug-log до тех пор, пока он не успокоится.
  12. Перезапустить ландшафтный клиент всюду: juju run --service landscape-client 'sudo service landscape-client restart'
  13. Если вышеприведенная команда не работает с чем-то, что не поддерживается вспомогательными службами, выполните вместо этого: juju run --all 'sudo service landscape-client restart'

Вы можете войти в систему на клиенте и в хвосте - в файле broker.log, проверьте, сохраняется ли ошибка SSL.

    
ответ дан andreas 16.03.2015 в 21:45
источник