Перед тем как приступать к обновлению, необходимо проверить состояние облачной инфраструктуры. Эта проверка необходима для минимизации рисков и поддержания стабильности системы. Проверка работоспособности региона позволяет убедиться, что виртуальные машины создаются и доступны по сети, что подтверждает работоспособность цепочки сервисов (MariaDB, HAProxy, Cinder, Nova, Neutron, Glance).
Подключитесь к интерфейсу OpenStack CLI.
Проверьте сетевую доступность всех узлов облака с помощью команды ping.
Выполните команду openstackcomputeservicelist для проверки состояния вычислительных сервисов. Убедитесь, что все сервисы находятся в состоянии up.
Выполните команду openstackvolumeservicelist для проверки состояния службы томов. Убедитесь, что все сервисы находятся в состоянии up.
Выполните команду openstackserverlist для проверки состояния виртуальных машин.
Используя OpenStack CLI, портал самообслуживания Horizon или Портал администратора, создайте несколько ВМ с различными флейворами и выполните их live-миграцию.
Создайте новый пайплайн: Build > Pipelines > New pipeline.
В переменной KOLLA_ARGS укажите значение --skip-tagsloadbalancer.
В переменной KOLLA_ANSIBLE_DEPLOY_ACTION укажите значение genconfig.
Запустите пайплайн, нажав кнопку New pipeline.
Дождитесь завершения задач на этапе setup.
Запустите задачу deploy на этапе deploy и дождитесь её завершения.
Остановите все службы OpenStack, использующие RabbitMQ, чтобы они пока не пытались пересоздать очереди.
Создайте новый пайплайн: Build > Pipelines > New pipeline.
В переменной KOLLA_ANSIBLE_DEPLOY_ACTION укажите значение stop.
В переменной KOLLA_ARGS укажите значение --tagskeystone,cinder,nova,placement,glance,neutron,octavia,barbican,heat,adminui,hostmgmt,designate,ironic-e'skip_stop_containers=["vhost"]'--yes-i-really-really-mean-it.
Запустите пайплайн, нажав кнопку New pipeline.
Дождитесь завершения задач на этапе setup.
Запустите задачу deploy на этапе deploy и дождитесь её завершения.
Отключение опции высокой доступности RabbitMQ:
Примечание
Выполните этот шаг только в том случае, если ранее использовалась опция om_enable_rabbitmq_high_availability. В противном случае его можно пропустить.
Зайдите в веб-интерфейс GitLab.
Перейдите в репозиторий вашего региона project_k / deployments / <имя региона>.
Откройте на редактирование файл globals.d/REGION.yml измените строку:
om_enable_rabbitmq_high_availability:false
Создайте новый пайплайн: Build > Pipelines > New pipeline.
В переменной KOLLA_ANSIBLE_DEPLOY_ACTION укажите значение reconfigure.
В переменной KOLLA_ARGS укажите значение --tagsrabbitmq.
Запустите пайплайн, нажав кнопку New pipeline.
Дождитесь завершения задач на этапе setup.
Запустите задачу deploy на этапе deploy и дождитесь её завершения.
Сброс состояния RabbitMQ:
Создайте новый пайплайн: Build > Pipelines > New pipeline.
В переменной KOLLA_ANSIBLE_DEPLOY_ACTION укажите значение rabbitmq-reset-state.
Запустите пайплайн, нажав кнопку New pipeline.
Дождитесь завершения задач на этапе setup.
Запустите задачу deploy на этапе deploy и дождитесь её завершения.
Запустите все службы OpenStack, использующие RabbitMQ, чтобы они заново создали соответствующие очереди:
Создайте новый пайплайн: Build > Pipelines > New pipeline.
В переменной KOLLA_ANSIBLE_DEPLOY_ACTION укажите значение deploy.
В переменной KOLLA_ARGS укажите значение --tagskeystone,cinder,nova,placement,glance,neutron,octavia,barbican,heat,adminui,hostmgmt,designate,ironic.
Запустите пайплайн, нажав кнопку New pipeline.
Дождитесь завершения задач на этапе setup.
Запустите задачу deploy на этапе deploy и дождитесь её завершения.
Откройте на редактирование файл globals.d/REGION.yml, закомментируйте одну строку и добавьте следующие параметры для выключения TLS на время проведения процесса обновления:
Если данные параметры уже включены в конфигурации ks2025.1, оставьте их без изменений. После завершения процесса обновления данные параметры можно убрать.
В продукте по умолчанию выключены сервисы Octavia, Heat, Barbican и Designate. Если вы их используете, добавьте опции их включения:
По умолчанию в ks2026.1 Prometheus Server выключен, включен Victoriametrics. Для продолжения работы с Prometheus Server добавьте в файл globals.d/REGION.yml параметр:
enable_prometheus_server:"yes"
Запущенный сервис Prometheus Alertmanager заранее создаёт каталог данных Prometheus, что может приводить к ошибке переноса данных при выполнении пайплайна обновления региона на Control-узлах. Поэтому перед обновлением необходимо остановить сервис Prometheus Alertmanager, а также удалить автоматически созданную директорию etc/prometheus/_data и всё её содержимое. Для этого перед запуском пайплайна обновления выполните следующие действия для каждого Control-узла по отдельности:
Зайдите на Control-узел по SSH и выполните команду:
Перед выполнением обновления Compute-узлов их необходимо освободить от виртуальных машин. Это можно сделать путём перевода одного или нескольких узлов в режим обслуживания. При освобождении виртуальные машины будут смигрированы на другие узлы. Для перевода узлов в режим обслуживания выполните следующие шаги:
Зайдите в Портал администратора.
Перейдите в раздел Вычислительные ресурсы > Гипервизоры.
Выберите в выпадающем меню столбца actionsEnable maintenance mode для нужного гипервизора и подтвердите его перевод в режим обслуживания.
Перейдите в репозиторий вашего региона project_k / deployments / <имя региона>.
Создайте новый пайплайн: Build > Pipelines > New pipeline.
В переменной KOLLA_ARGS укажите значение --tagshostmgmt.
В переменной KOLLA_ANSIBLE_DEPLOY_ACTION укажите значение deploy.
Запустите пайплайн, нажав кнопку New pipeline.
Дождитесь завершения задач на этапе setup.
Запустите задачу deploy на этапе deploy и дождитесь её завершения.
Остановите и удалите сервисы контейнеров kolla-prometheus_hypervisor_exporter-container.service и kolla-prometheus_rabbitmq_exporter-container.service: