aerospike_migrations – Проверка или ожидание миграций между узлами
Новое в версии 2.8.
Обзор
- Это можно использовать для проверки миграций в кластере. Это упрощает выполнение плавного обновления/обновления узлов Aerospike.
- Если ожидание миграций не требуется, просто осуществляйте опрос порта 3000, если он доступен, или пока команда asinfo -v status не вернёт ok.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| connect_timeout целое число | По умолчанию: 1000 | Сколько времени пытаться подключиться перед отказом (миллисекунды) |
| consecutive_good_checks целое число | По умолчанию: 3 | Сколько раз кластер должен последовательно сообщать «нет миграций» перед возвратом значения OK в Ansible? |
| fail_on_cluster_change логическое значение |
| Прервать выполнение, если изменился ключ кластера, если что-то ещё изменяет кластер, возможно, мы захотим прервать выполнение. |
| host строка | По умолчанию: "localhost" | Какой хост использовать в качестве источника для подключения к информации. |
| local_only логическое значение / обязательно |
| Нужно ли проверять миграции только на локальном узле перед возвратом или необходимо дождаться завершения миграций на всех узлах кластера? |
| migrate_rx_key строка | По умолчанию: "migrate_rx_partitions_remaining" | Ключ метрики, используемый для определения оставшихся миграций rx. Изменяется из-за обратной совместимости. |
| migrate_tx_key строка | По умолчанию: "migrate_tx_partitions_remaining" | Ключ метрики, используемый для определения оставшихся миграций tx. Изменяется из-за обратной совместимости. |
| min_cluster_size целое число | По умолчанию: 1 | Проверка вернёт ошибку, пока размер кластера не будет достигнут или пока не исчерпаны попытки. |
| port целое число | По умолчанию: 3000 | Порт для подключения к Aerospike (сервисный порт) |
| sleep_between_checks целое число | По умолчанию: 60 | Время ожидания между каждой проверкой (секунды). |
| target_cluster_size целое число | Когда все узлы Aerospike в кластере будут иметь версию > 4.3, будет использована команда cluster-stable info. В этой команде можно необязательно указать целевой размер кластера, но это не обязательно. Вы по-прежнему можете полагаться на min_cluster_size, если не хотите использовать этот параметр.Если этот параметр указан в кластере с хотя бы одним узлом <4.3, он будет проигнорирован, пока минимальная версия не достигнет 4.3. | |
| tries_limit целое число | По умолчанию: 300 | Сколько раз мы будем опрашивать перед отказом и ошибкой? |
Примеры
# check for migrations on local node
- name: wait for migrations on local node before proceeding
aerospike_migrations:
host: "localhost"
connect_timeout: 2000
consecutive_good_checks: 5
sleep_between_checks: 15
tries_limit: 600
local_only: False
# example playbook:
---
- name: upgrade aerospike
hosts: all
become: true
serial: 1
tasks:
- name: Install dependencies
apt:
name:
- python
- python-pip
- python-setuptools
state: latest
- name: setup aerospike
pip:
name: aerospike
# check for migrations every (sleep_between_checks)
# If at least (consecutive_good_checks) checks come back OK in a row, then return OK.
# Will exit if any exception, which can be caused by bad nodes,
# nodes not returning data, or other reasons.
# Maximum runtime before giving up in this case will be:
# Tries Limit * Sleep Between Checks * delay * retries
- name: wait for aerospike migrations
aerospike_migrations:
local_only: True
sleep_between_checks: 1
tries_limit: 5
consecutive_good_checks: 3
fail_on_cluster_change: true
min_cluster_size: 3
target_cluster_size: 4
register: migrations_check
until: migrations_check is succeeded
changed_when: false
delay: 60
retries: 120
- name: another thing
shell: |
echo foo
- name: reboot
reboot:
Статус
- Интерфейс этого модуля не гарантирует обратную совместимость. [превью]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- Albert Autin (@Alb0t)
Подсказка
Если вы обнаружите какие-либо проблемы в этой документации, вы можете изменить этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/aerospike_migrations_module.html