[ English | Deutsch | русский | English (United Kingdom) ]

Релизы

Какова модель выпуска OpenStack-Ansible?

OpenStack-Ansible использует модель выпуска „циклического отставания“, как указано в справочнике модели выпуска OpenStack.

Как определяются метки релиза?

Чтобы обеспечить общее понимание того, что означают версии релиза, мы используем Semantic Versioning 2.0.0 для версионирования в качестве основы. Исключением из правила являются выпуски вех в ходе цикла разработки, где выпуски помечаются как <MAJOR>.0.0.0b<MILESTONE>, где <MAJOR> - это следующий номер основного релиза, а <MILESTONE> - это номер этапа.

Названия серий OpenStack являются алфавитными, где каждой букве соответствует число (например, Austin = 1, Bexar = 2, Newton = 14, Pike = 16 и т. д.). OpenStack-Ansible принял ту же нумерацию релизов <MAJOR>, что и проект Nova, чтобы соответствовать общей нумерации версий серии OpenStack.

Как часто выходят версии OpenStack-Ansible?

Основные релизы выпускаются каждые шесть месяцев в соответствии с графиком релизов OpenStack. Каждый основной релиз соответствует серии OpenStack.

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

Какую версию OpenStack использует OpenStack-Ansible?

Для каждого выпуска OpenStack-Ansible развертываемая версия OpenStack устанавливается на определенный OpenStack git SHA-1 hash (SHA). Они обновляются после каждого выпуска OpenStack-Ansible. Цель состоит в том, чтобы гарантировать, что пользователи OpenStack-Ansible смогут пользоваться обновленной средой OpenStack с меньшим количеством изменений, чем позволяют типичные выпуски вышестоящих служб, поскольку они обычно очень редки.

Это означает, что стабильное развертывание OpenStack-Ansible будет включать версию сервиса (например, nova-17.0.3dev4), которая не соответствует тегу в точности так, как вы могли бы ожидать (например, nova-17.0.3).

Если вы хотите изменить SHA на определенный SHA/метку/ветвь или хотите использовать собственную ветку сервиса OpenStack, см. раздел Переопределение других источников исходного кода проектов в руководстве пользователя.

Когда исправление роли OpenStack-Ansible попадает в релиз?

Для каждого выпуска OpenStack-Ansible роли Ansible, которые формируют этот выпуск, устанавливаются на определенный git SHA-1 hash (SHA). Они обновляются после каждого выпуска OpenStack-Ansible.

OpenStack-Ansible часто выполняет упреждающие бэкпорты исправления ошибок. Чтобы снизить риск того, что эти бэкпорты внесут какую-либо дестабилизацию, OpenStack-Ansible реализует период „выдержки“ для любых исправлений, реализованных в стабильных ветвях для ролей, но также предусматривает обход этого в исключительных обстоятельствах.

Патч, объединенный с ролью, немедленно тестируется другими тестами ролей, гарантируя, что любые серьезные критические изменения будут обнаружены. После запроса на выпуск второстепенного/патч-релиза интегрированная сборка получает патч SHA ​​bump для обновления интегрированной сборки с использованием последних доступных ролей, включая этот новый патч. Этот новый набор доступен для тестирования всем, кто хочет использовать главу стабильной ветки, и тестируется в периодических тестах до следующего релиза. В общей сложности это означает, что время цикла для патча от слияния до релиза составляет от двух недель до одного месяца.

Если необходимо ускорить внедрение исправления роли в следующий релиз, то любой может предложить внести изменения в файл ansible-role-requirements.yml в репозитории openstack/openstack-ansible с соответствующим обоснованием.

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

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