Возможность управления виртуальной инфраструктурой с разницей N-2 в major-версиях Решения в целом (обратная совместимость)

В OpenStack реализована возможность использования системы управления для контроля более старых версий с помощью версионирования RPC API и миграций схемы базы данных. Это позволяет новым инструментам управления работать с устаревшими облачными средами, сохраняя обратную совместимость.

Предупреждение

«Возможность» не означает, что такой шаг не потребует дополнительных усилий по донастройке данной нетипичной схемы работы. Одновременное тестирование всех возможных изменённых запросов функций новой версии со старыми функциями не всегда возможно.

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

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

Ключевые механизмы обратной совместимости

  • Фиксация версий RPC Обеспечивает взаимодействие новых сервисов со старыми. Такие компоненты, как Nova и Cinder, используют привязку версий RPC, чтобы новые сервисы могли работать со старыми, не обновленными сервисами.
  • VersionedObjects (oslo.versionedobjects) Позволяют эволюционировать внутренним объектам без нарушения совместимости.
  • Поэтапное обновление Nova поддерживает поэтапное обновление вычислительных служб, что позволяет использовать среду с разными версиями в процессе обновления.
  • Совместимость SDK и API OpenStack SDK в целом обратно совместим, что позволяет управлять старыми облачными средами с помощью более новых инструментов.
  • Схема базы данных Миграции баз данных, как правило, разрабатываются с учётом обратной совместимости для поддержки поэтапных обновлений (подход «обновление в первую очередь»).
  • Жизненный цикл поддержки версий Более новые версии (например, 2024.1) поддерживаются, при этом сроки окончания поддержки устаревших версий могут простираться до 2030-х годов.
  • Конфигурация и политики Старые значения по умолчанию для политик часто поддерживаются в течение одного цикла выпуска, после чего объявляются устаревшими.

Рекомендации

  1. Всегда проверяйте примечания к релизам на предмет устаревших функций.
  2. Используйте режим смешанных версий только как временный этап перед полной миграцией.
  3. Фиксируйте версии RPC API при необходимости разнородного окружения.
  4. Учитывайте, что поддержка сценария N-2 (разница в две major-версии) требует особенно тщательного планирования и тестирования.