Внутренние плейбуки
Внутренние плейбуки — составные части других сценариев. Обычно не требуется запускать их напрямую — они приведены здесь для справки.
Большинство плейбуков этой категории используется сценарием последовательного обновления continuous_update.yml: доставка пакета, обновление реплик, переключение лидера, обновление мастеров, обновление stateless-экземпляров, обновление экземпляров модуля API TQE, обновление планировщиков TCS. Каждый шаг выполняется с проверкой состояния кластера.
Плейбук для доставки пакета Tarantool 3 на один хост. Доставляет пакет, создаёт директории и обновляет установленный пакет.
В составе сценария обновления вызывается первым, до переключения лидера и обновления экземпляров.
Переменная | Описание |
|---|---|
| Путь к пакету Tarantool на стороне инсталлятора. |
Запуск через коллекцию:
ansible-playbook -i ${PATH_TO_INVENTORY} \--user ${SUPER_USER_NAME} \-e ansible_ssh_private_key_file=${PATH_TO_PRIVATE_KEY} \-e tarantool_package_path=${PATH_TO_PACKAGE} \playbooks/upgrade_tarantool_3_package.yml --limit ${LIMIT}
Плейбук для обновления экземпляров Tarantool 3. Обновляет метаданные и символическую ссылку на пакет, затем перезапускает экземпляр через systemd.
Обновление выполняется пакетами (serial) размером update_batch_size.
В составе сценария обновления вызывается дважды: сначала для реплик наборов реплик, затем — после переключения лидера — для мастеров.
Переменная | Описание |
|---|---|
| Количество хостов в пакете обновления. Значение по умолчанию: |
Запуск через коллекцию:
ansible-playbook -i ${PATH_TO_INVENTORY} \--user ${SUPER_USER_NAME} \-e ansible_ssh_private_key_file=${PATH_TO_PRIVATE_KEY} \playbooks/update_tarantool_3_inst.yml --limit ${LIMIT}
Плейбук для обновления stateless-экземпляров Tarantool 3 — экземпляров без состояния (роутеров и подобных). Обновляет символическую ссылку экземпляра на новый дистрибутив, затем перезапускает экземпляр через systemd. Доставку и установку пакета выполняет плейбук upgrade_tarantool_3_package.yml, вызываемый в сценарии обновления ранее.
Обновление выполняется пакетами (serial) размером update_batch_size, порядок хостов — случайный (shuffle).
В составе сценария обновления вызывается после обновления мастеров, перед обновлением планировщиков TCS.
Переменная | Описание |
|---|---|
| Количество хостов в пакете обновления. Значение по умолчанию: |
Запуск через коллекцию:
ansible-playbook -i ${PATH_TO_INVENTORY} \--user ${SUPER_USER_NAME} \-e ansible_ssh_private_key_file=${PATH_TO_PRIVATE_KEY} \playbooks/update_internal.yml --limit ${LIMIT}
Плейбук для обновления планировщиков TCS. Вызывает задачи обновления роли tcs.
Обновление выполняется пакетами (serial) размером update_batch_size.
В составе сценария обновления вызывается после обновления всех экземпляров Tarantool, но перед обновлением схемы данных и финальной проверкой состояния кластера.
Переменная | Описание |
|---|---|
| Количество хостов в пакете обновления. Значение по умолчанию: |
Запуск через коллекцию:
ansible-playbook -i ${PATH_TO_INVENTORY} \--user ${SUPER_USER_NAME} \-e ansible_ssh_private_key_file=${PATH_TO_PRIVATE_KEY} \playbooks/upgrade_scheduler.yml --limit ${LIMIT}
Плейбук ожидания синхронизации репликации на целевых экземплярах перед плановой операцией: переключением лидера в continuous_update.yml или удалением старых экземпляров в relocate_instances.yml. В сценарии continuous_update.yml проверка выполняется только при включённой переменной tarantool_replication_sync_check_enabled (значение по умолчанию: false).
На каждом целевом экземпляре плейбук с повторными попытками проверяет состояние репликации: каждое существующее upstream-соединение должно иметь статус follow с известным лагом, модуль которого меньше tarantool_replication_sync_max_lag. Экземпляр в режиме чтения без upstream-соединений не проходит проверку. Если условие не выполняется за отведённое число попыток, плейбук завершается с ошибкой и плановая операция не выполняется.
Переменная | Описание |
|---|---|
| Количество попыток проверки. Значение по умолчанию: |
| Задержка между попытками в секундах. Значение по умолчанию: |
| Максимально допустимый модуль лага upstream-соединения в секундах. Значение по умолчанию: |
Запуск через коллекцию:
ansible-playbook -i ${PATH_TO_INVENTORY} \--user ${SUPER_USER_NAME} \-e ansible_ssh_private_key_file=${PATH_TO_PRIVATE_KEY} \playbooks/wait_replication_sync.yml --limit ${LIMIT}