Журнал изменений
В этом документе содержится хронологически упорядоченный список изменений, внесенных в Ansible Tarantool Enterprise. Формат журнала изменений основан на документе Keep a Changelog, а версионирование следует правилам Semantic Versioning.
Релиз сфокусирован на повышении стабильности: доработано тестовое окружение, расширено тестовое покрытие, устранено большое количество мелких недочетов. Ниже перечислены самые заметные исправления.
- Доработан инвентарь для CDC: в инвентарь добавлена автогенерация
replication.id, реализована динамическая генерация обработчиков CDC (переменныеshard_per_workerиshards_per_instance). - Доработаны настройки безопасности для TCM.
- Устранено падение
tcf installпри повторном вызовеinstall. - Устранены ошибки в генерации инвентаря для TCF.
- Исправлена обработка Jinja-шаблонов в секции
serversгенератора инвентаря. - Обновлено требование к новой версии Python для дистрибутива Мос.ОС.
Релиз представляет собой комплексное обновление, включающее новые инструменты для миграции и управления жизненным циклом экземпляров, а также расширение функциональности мониторинга и конфигурации. В рамках этого выпуска реализована поддержка новых типов изменений и плейбуков, улучшена работа с хранилищем etcd, исправлены критические ошибки в логике топологии и резервного копирования, а также обеспечена корректная настройка окружения на актуальных дистрибутивах.
- Новый тип изменения
relocate_instancesи плейбукplaybooks/relocate_instances.ymlдля миграции экземпляров между серверами. - Проверка для пропуска перераспределения (rebalancing) в плейбуке
playbooks/remove_instances.ymlпри удалении экземпляров. - Новые переменные и начальные настройки для TCM.
- Дополнительные плейбуки (
playbooks/tqe/health.ymlи другие) для TQE, обеспечивающие корректное обновление и проверку здоровья (health-checks).
- Чтение конфигурации ролей из файла
config.group.roles_cfg(ранее настройки ролей могли применяться некорректно). - Функция редактирования топологии
edit_topology. - Процесс создания резервных копий миграций TDB из хранилища etcd.
- Генератор инвентаря для TCF при работе с etcd и хранилищем на основе Tarantool.
- Проблема с наследованием
replicaset_aliasпри удалении экземпляров (теперь псевдоним передается корректно). - Удаленные экземпляры больше не возвращаются в etcd во время процесса очистки.
- Скрипт
postrotateутилитыlogrotateдля приложений Tarantool версии 3. - Логика по умолчанию (
default()) в переменныхtt_config_storage(исправлена инверсия условий). - Шаг подготовки (
prepare) в дистрибутивах RedOS и MosOS для корректной работы сpip3.
Релиз сфокусирован на повышении стабильности. Включены улучшения генерации инвентаря TCM, расширение TLS-возможностей и миграций, а также исправления для systemd/etcd и усиление CI (обновление Ansible и проверка уязвимостей).
Коллекция переведена на Ansible 13.8.0 (ansible-core 2.20.7) вместо Ansible 9.7; обновлён поставляемый Docker-образ. Базовый образ обновлён до RedOS 8 (используется в сборке и CI) из‑за требований новой версии Ansible к Python. Минимальная версия Python для работы с коллекцией — 3.12 (ранее 3.11).
Тестирование и CI:
- Unit- и integration-тесты для генерации инвентаря.
- В CI добавлено сканирование уязвимостей Trivy.
TLS/безопасность/миграции:
- Поддержка
tt migrationsдля кластеров с TLS-защищённымiproto. - TLS-параметры для подключения TCF к Tarantool.
Управление кластером и автоматизация:
- В модуле
ttдобавлено определение лидера TbCS черезbox.info.election.leader. - Поддержка параметра
add_replicas, который дает возможность добавлять и удалять компоненты TCF Gateway и Destination при генерации инвентаря. - Доработано и автоматизировано удаление наборов реплик и экземпляров из кластера через новый плейбук
playbooks/remove_instances.yml. - Параметр change_components в секции
changes, который добавляет наборы реплик и экземпляры.
Релизы:
- Обновление до TQE 3.6.0.
systemd/лимиты/совместимость ОС:
- Обработка
TT_CONFIG_ETCD_SSL_CA_PATHв systemd роли. - Файл юнита systemd для корректного развёртывания на CentOS 7.
- Добавлены настраиваемые лимиты ресурсов в systemd как альтернатива PAM.
etcd/конфигурация:
- Добавлена проверка наличия
tarantool_etcd_hostпри отправке конфигурации в etcd. - Резервное копирование префиксов etcd для TCF.
Генерация инвентарей:
- Определение
cluster_nameиcartridge_app_nameв генераторе инвентаря. - Удаление последнего сервера из зоны.
- Добавлен параметр
resolve_jinjaвtcm_helpersдля корректного разрешения ссылок на константы вinitial_clusters. - TLS-настройки etcd для
initial_clustersтеперь выводятся из схемы; добавлена переменнаяtcm_etcd_schema. - В генератор инвентаря добавлены параметры
tcm_cluster_display_nameиtcm_cluster_id. - Генератор корректно выставляет порты.
tt/установка:
- Флаги
username/passwordвtt. - Параметр
restart_instanceдляinstall_3_0на работающем кластере.
Прочее:
cdc_java_extra_argumentsтеперь корректно размещается перед-jar.
В этом обновлении улучшены процессы восстановления и повышена корректность очистки данных.
- Дополнительные параметры etcd в плейбуке восстановления (restore).
- Очистка ключей etcd во время выполнения
uninstall.ymlс использованием хранилища конфигурации на основе Tarantool.
В версии 1.20.0 расширены возможности динамического инвентаря и компонентов TCF/TCM/CDC, улучшена генерация конфигураций и резервное копирование, а также выполнены обновления и исправления, повышающие стабильность и безопасность.
- Генерация конфигурации хранилища на основе Tarantool для каждого хоста индивидуально.
- Отсутствующие опции хранилища TCF.
- Поддержка
add_replicasдля динамического инвентаря. - Генерация инвентаря для TCM.
- Возможность настраивать значение
WantedByв systemd unit-файлах. - Тип изменения
add_serversдля динамического инвентаря. - Тип изменения
remove_serversдля динамического инвентаря. - Реализовано закрепление серверов (pinning) для реплик.
- Динамический инвентарь для CDC.
- Дополнительные префиксы etcd для backup/restore.
- Релиз TQE 3.5.0.
- Создание пользователей и ролей TCM через конфигурацию
initial-settings.
- Параметры
add_serversиadd_replicasотмечены как неподдерживаемые на уровне TCF. - Обновлены Docker-образ и Python-зависимости для снижения рисков уязвимостей.
- Обновление динамического инвентаря для TCF.
- Исправлена воспроизводимая генерация инвентарей.
- Предотвращена ошибка
TypeErrorв инвентаре TCF при наличии координаторов. - Учитывается заданный пользователем
tarantool_config_etcd_endpointsиз инвентаря. - Исправлены дополнительные уязвимости Python-зависимостей (
wheel,jaraco.context,urllib3).