Запуск плейбуков обновления
Скопируйте директорию с Ansible-плейбуками в Inventory:
$ cp -r $NEW_DISTRIB_DIR/repos_mcs_distr_box-$NEW_RELEASE_NAME/ansible-openstack ~/inventory-$NEW_RELEASE_NAME
Чтобы получить файл upgrade, объедините файл upgrade-${PREV_RELEASE_NAME}-${NEW_RELEASE_NAME}-necessarily с файлами обновления компонентов upgrade-${PREV_RELEASE_NAME}-${NEW_RELEASE_NAME}-components-<COMPONENT_NAME>, где <COMPONENT_NAME> — название компонента, например trove. При этом необходимо учесть:
-
Файл
upgrade-${PREV_RELEASE_NAME}-${NEW_RELEASE_NAME}-necessarilyвсегда должен стоять как первый аргумент, порядок остальных не важен. -
Если файла
upgrade-${PREV_RELEASE_NAME}-${NEW_RELEASE_NAME}-components-<COMPONENT_NAME>нет, значит его обновление не требуется. -
Добавлять файл
upgrade-${PREV_RELEASE_NAME}-${NEW_RELEASE_NAME}-components-freeipaне требуется. -
При обновлении VK Private Cloud с версии 4.0 компонент Ceph необходимо обновить отдельно (подробнее — в разделе Обновление Ceph). Чтобы исключить обновление Ceph на данном этапе, в файле
upgrade-4.0.2-4.1.1-necessarilyзакомментируйте строки:ceph-osd-deploy.yml|--skip-tags=monitoring -e ceph_osd_disks_autoconfigure=true|redosceph-osd-deploy.yml|-t ceph_mgr|redos
Чтобы выполнить обновление:
-
Получите файл
upgrade:$ cd ~/inventory-$NEW_RELEASE_NAME/tools/box.sh.d/groups/$ cat upgrade-${PREV_RELEASE_NAME}-${NEW_RELEASE_NAME}-necessarily upgrade-${PREV_RELEASE_NAME}-${NEW_RELEASE_NAME}-components-trove \upgrade-${PREV_RELEASE_NAME}-${NEW_RELEASE_NAME}-components-xaas > upgrade -
Запустите обновление:
$ cd ~/inventory-$NEW_RELEASE_NAME/vkcloud$ ../ansible-openstack/tools/box.sh deploy -b ../ansible-openstack -i vkcloud.yml -s upgrade -e distro_deploy=true -e env=vkcloud
Последовательно запустите следующие плейбуки с указанными параметрами:
$ ansible-playbook -i vkcloud.yml --diff -e env=vkcloud --skip-tags monitoring ../ansible-openstack/playbooks/ceph-osd-deploy.yml$ ansible-playbook -i vkcloud.yml --diff -e env=vkcloud -t ceph_mgr ../ansible-openstack/playbooks/ceph-osd-deploy.yml
Выполните перезагрузку серверов из группы vkcloud_scst_iscsi в Inventory-файле vkcloud.yml. Убедитесь, что операционная система загрузилась без ошибок:
$ ssh <SERVER_NAME>$ sudo shutdown -r now$ systemctl status | head -n 5$ systemctl list-units --failed
При обновлении Платформы на гипервизорах в файле /etc/nova/nova.conf меняется значение параметра force_config_drive с false на true. Из-за этого запущенные до обновления ВМ, которые не используют конфигурационный диск, могут перезапускаться некорректно.
Чтобы восстановить возможность корректного перезапуска, обновите параметры libvirt конфигурации ВМ. На управляющем узле выполните команды:
$ sudo -i# . openrc.sh# openstack shelve <INSTANCE_ID># openstack unshelve <INSTANCE_ID>
Здесь <INSTANCE_ID> — идентификатор ВМ.