Как выполнить модернизацию с Grizzly на Havana—Ubuntu

В данном разделе мы предполагаем, что вы начинаете с архитектурой, представленной в Руководстве по установке OpenStack и выполняете модернизацию для той же архитектуры Havana. Все узлы должны выполнять Ubuntu 12.04 LTS. В данном разделе в первую очередь обсуждаются службы ядра OpenStack, такие, как служба идентификации (keystone), служба образов (glance), вычислительные ресурсы (nova), включающие сетевую среду, блочные хранилища (cinder), а также инструментальную панель.

 Воздействие на пользователей

Процесс модернизации прерывает управление вашей средой, в том числе через инструментальную панель. Если вы правильно подготовитесь к данной модернизации, экземпляры владельцев нормально продолжат свою работу.

 Анализ модернизации

Перед выполнением модернизации всегда просматривайте замечания к редакции для ознакомления с новой доступной функциональностью, которую, возможно, вы допустите, при этом устаревшие свойства вы должны отключить.

 Выполнение резервного копирования

На всех узлах сохраните файлы настройки, как показано здесь:

# for i in keystone glance nova cinder openstack-dashboard; \
  do mkdir $i-grizzly; \
  done
# for i in keystone glance nova cinder openstack-dashboard; \
  do cp -r /etc/$i/* $i-grizzly/; \
  done
[Замечание]Замечание

Вы можете изменить данный пример сценария на каждом узле для обработки различных служб.

Выполните резервное копирование всех баз данных на контроллере:

# mysqldump -u root -p --opt --add-drop-database \
--all-databases > grizzly-db-backup.sql

 Управление репозиториями

Удалите репозиторий для пакетов Grizzly на всех узлах или добавьте репозиторий для пакетов Havana:

# apt-add-repository -r cloud-archive:grizzly
# apt-add-repository cloud-archive:havana
[Предостережение]Предостережение

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

 Обновление файлов настройки

Модернизируйте настройку glance на узле контроллера для совместимости с Havana.

Добавьте и измените следующие ключи в файлах /etc/glance/glance-api.conf и /etc/glance/glance-registry.conf:

[keystone_authtoken]
auth_uri = http://controller:5000
auth_host = controller
admin_tenant_name = service
admin_user = glance
admin_password = GLANCE_PASS

[paste_deploy]
flavor = keystone

Если они присутствуют в текущее время, удалите следующие ключи из раздела [filter:authtoken] в файлах /etc/glance/glance-api-paste.ini и /etc/glance/glance-registry-paste.ini:

[filter:authtoken]
flavor = keystone

Измените настройку nova на всех узлах для совместимости с Havana.

Добавьте раздел [database] и связанный с ним ключ в раздел файла /etc/nova/nova.conf:

[database]
connection = mysql://nova:NOVA_DBPASS@controller/nova

Удалите вышедшие из употребления настройки из раздела [DEFAULT] в файле /etc/nova/nova.conf:

[DEFAULT]
sql_connection = mysql://nova:NOVA_DBPASS@controller/nova

Добавьте или измените следующие ключи в файле /etc/nova/nova.conf:

[keystone_authtoken]
auth_uri = http://controller:5000/v2.0
auth_host = controller
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = nova
admin_password = NOVA_PASS

Следующим образом увеличьте время владения DHCP (измеряемое в секундах) на всех вычислительных узлах в файле /etc/nova/nova.conf для разрешения всем активным экземплярам продолжать владеть своими IP адресами в процессе модернизации:

[DEFAULT]
dhcp_lease_time = 86400
[Предостережение]Предостережение

Установка этих значений слишком большими может вызвать в более динамичной среде выход за пределы доступных IP адресов. Используйте значения, соответствующие вашей среде.

Вы должны перезапустить dnsmasq и компоненты сети для обновления значения нового времени владения:

# pkill -9 dnsmasq
# service nova-network restart

Измените настройки Cinder в контроллере и узлах хранения для совместимости с Havana.

Добавьте и измените следующие ключи в файл /etc/cinder/cinder.conf:

[keystone_authtoken]
auth_uri = http://controller:5000

Измените настройку инструментальной панели на узле контроллера для совместимости с Havana.

Процедура установки и настройки файла инструментальной панели претерпела существенные изменения при переходе с Grizzly на Havana. В частности, если вы работаете под Django 1.5 или более поздними версиями, вы должны убедиться, что /etc/openstack-dashboard/local_settings содержат правильно настроенные ключиALLOWED_HOSTS, которые имеют в своем составе список имен хостов, распознаваемый инструментальной панелью.

Если пользователи осуществляют доступ к вашей инструментальной панели с использованием http://dashboard.example.com, определите ALLOWED_HOSTS следующим образом:

ALLOWED_HOSTS=['dashboard.example.com']

Если пользователи осуществляют доступ к вашей инструментальной панели в локальной системе, определите ALLOWED_HOSTS следующим образом:

ALLOWED_HOSTS=['localhost']

Если пользователи осуществляют доступ к вашей инструментальной панели при помощи IP адреса в добавление к имени хоста, определите ALLOWED_HOSTS следующим образом:

ALLOWED_HOSTS=['dashboard.example.com', '192.168.122.200']

 Пакеты модернизации на узле контроллера

Модернизируйте пакеты на узле контроллера для Havana следующим образом:

# apt-get update
# apt-get dist-upgrade
[Замечание]Замечание

В зависимости от особенностей настройки, выполнение dist-upgrade должно перезапускать дополнительные для вашей среды OpenStack службы. Например, если вы используете Open-iSCSI для томов блочных хранилищ, и модернизация содержит новый пакет open-scsi, администратор пакетов перезапускает службы Open-iSCSI, что может привести к отсоединению томов от ваших пользователей.

Администратор пакетов выдает вам приглашение для модернизации различных файлов настройки. Откажитесь от данных изменений. Администратор пакетов добавит .dpkg-dist к новым версиям существующих файлов настройки. Вы должны проанализировать принятые соглашения, связанные с более новыми файлами настройки и объедините их с существующими файлами настройки после завершения процесса модернизации.

  Останов служб, обновление схем базы данных и перезапуск служб на контроллере узла

Остановите все службы, выполните, если это необходимо, команду синхронизации базы данных для обновления схемы базы данных и перезапустите все службы для принятия новых настроек. Перечислим некоторые службы, требующие дополнительные команды:

Идентификация OpenStack
# service keystone stop
# keystone-manage token_flush
# keystone-manage db_sync
# service keystone start
Служба образов OpenStack
# service glance-api stop
# service glance-registry stop
# glance-manage db_sync
# service glance-api start
# service glance-registry start
Вычислительная среда OpenStack
# service nova-api stop
# service nova-scheduler stop
# service nova-conductor stop
# service nova-cert stop
# service nova-consoleauth stop
# service nova-novncproxy stop
# nova-manage db sync
# service nova-api start
# service nova-scheduler start
# service nova-conductor start
# service nova-cert start
# service nova-consoleauth start
# service nova-novncproxy start
Блочное хранилище OpenStack
# service cinder-api stop
# service cinder-scheduler stop
# cinder-manage db sync
# service cinder-api start
# service cinder-scheduler start

Модернизация узла контроллера завершена. Теперь вы можете приступить к модернизации вычислительных узлов.

  Пакеты модернизации и перезапуск служб на вычислительном узле

Модернизируйте пакеты на вычислительных узлах для редакции Havana:

# apt-get update
# apt-get dist-upgrade
[Замечание]Замечание

Проверьте, что вы удалили репозиторий для пакетов Grizzly и добавили репозиторий для пакетов Havana.

[Предостережение]Предостережение

Из-за проблем с упаковкой пакетов данная команда может завершиться со следующей ошибкой:

Errors were encountered while processing:
    /var/cache/apt/archives/
      qemu-utils_1.5.0+dfsg-3ubuntu5~cloud0_amd64.deb
    /var/cache/apt/archives/
      qemu-system-common_1.5.0+dfsg-3ubuntu5~cloud0_
        amd64.deb
    E: Sub-process /usr/bin/dpkg
    returned an error code (1)

Устраните эту проблему, выполнив данную команду:

# apt-get -f install

Система работы с пакетами пригласит вас модернизировать файл /etc/nova/api-paste.ini. Как и в случае с модернизацией контроллера мы рекомендуем вам отказаться от этих изменений и просмотреть файл .dpkg-dist после завершения процесса модернизации.

Перезапустите вычислительные службы:

# service nova-compute restart
# service nova-network restart
# service nova-api-metadata restart

  Пакеты модернизации и перезапуск служб на узле блочного хранилища

Модернизируйте узлы хранения для редакции Havana:

# apt-get update
# apt-get dist-upgrade
[Замечание]Замечание

Убедитесь, что вы удалили репозиторий для пакетов Grizzly и добавили репозиторий для пакетов Havana.

Система работы с пакетами пригласит вас модернизировать файл /etc/cinder/api-paste.ini. Как и в случае с модернизацией контроллера мы рекомендуем вам отказаться от этих изменений и просмотреть файл .dpkg-dist после завершения процесса модернизации.

Перезапустите службы блочного хранилища:

# service cinder-volume restart