Модуль community.mongodb.mongodb_status — проверяет состояние набора реплик.
Примечание
Этот модуль входит в коллекцию community.mongodb (версия 1.7.12).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.mongodb. Для использования этого модуля требуются дополнительные зависимости. Подробнее см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: community.mongodb.mongodb_status.
Добавлен в community.mongodb 1.0.0
Краткое описание
- Проверяет состояние набора реплик.
- Модуль ожидает, что все узлы набора реплик находятся в состоянии PRIMARY, SECONDARY или ARBITER.
- При необходимости будет ожидать сходимости состояния набора реплик до истечения тайм-аута.
- Также можно использовать для поиска текущего узла PRIMARY (см. примеры).
Требования
На узле, на котором выполняется модуль, необходимы следующие зависимости.
- pymongo
Параметры
Параметр | Комментарии |
|---|---|
atlas_auth логическое значение | Способ аутентификации, предназначенный для экземпляров MongoDB Atlas Варианты:
|
auth_mechanism строка | Тип аутентификации. Варианты:
|
connection_options список / элементы=любые | Дополнительные параметры подключения. Передавайте их в виде списка словарей или строк, содержащих пары ключ-значение, разделённые символом «=». |
interval целое число | Количество секунд ожидания между опросами. По умолчанию: |
login_database строка | База данных, в которой хранятся учётные данные для входа. По умолчанию: |
login_host строка | Узел, на котором запущен экземпляр MongoDB, к которому выполняется подключение. По умолчанию: |
login_password строка | Пароль для аутентификации. Обязателен, если указан login_user. |
login_port целое число | Порт сервера MongoDB, к которому выполняется подключение. По умолчанию: |
login_user строка | Пользователь MongoDB для подключения. Обязателен, если указан login_password. |
poll целое число | Максимальное количество запросов состояния набора реплик до его сходимости или завершения с ошибкой. По умолчанию: |
replica_set строка | Имя набора реплик. По умолчанию: |
ssl псевдонимы: tls логическое значение | Использовать ли SSL-соединение при подключении к базе данных. Варианты:
|
ssl_ca_certs псевдонимы: tlsCAFile строка | Параметр ssl_ca_certs принимает путь к файлу центра сертификации (CA). |
ssl_cert_reqs псевдонимы: tlsAllowInvalidCertificates строка | Указывает, требуется ли сертификат от другой стороны соединения и нужно ли проверять его, если он предоставлен. Варианты:
|
ssl_certfile псевдонимы: tlsCertificateKeyFile строка | Предоставляет сертификат клиента с помощью параметра ssl_certfile. |
ssl_crlfile строка | Параметр ssl_crlfile принимает путь к файлу списка отозванных сертификатов (CRL). |
ssl_keyfile строка | Закрытый ключ сертификата клиента. |
ssl_pem_passphrase псевдонимы: tlsCertificateKeyFilePassword строка | Парольная фраза для расшифровки зашифрованных закрытых ключей. |
strict_compatibility логическое значение | Строго соблюдать требования к версиям pymongo и MongoDB Варианты:
|
validate строка | Тип проверки набора реплик. default — подходит для большинства случаев. Проверяет, что количество серверов нечётное, один из них находится в состоянии PRIMARY, а остальные — в состоянии SECONDARY или ARBITER. votes — проверяет, что количество голосов нечётное, один сервер находится в состоянии PRIMARY, а остальные — в состоянии SECONDARY или ARBITER. Для получения конфигурации набора реплик требуется аутентификация. minimal — проверяет только, что один сервер находится в состоянии PRIMARY, а остальные — в состоянии SECONDARY или ARBITER. Варианты:
|
Примечания
Примечание
- На удалённом узле требуется пакет Python pymongo версии 4 или выше. Его можно установить с помощью pip или менеджера пакетов ОС. См. http://api.mongodb.org/python/current/installation.html
Примеры
- name: Check replicaset is healthy, fail if not after first attempt
community.mongodb.mongodb_status:
replica_set: rs0
when: ansible_hostname == "mongodb1"
- name: Wait for the replicaset rs0 to converge, check 5 times, 10 second interval between checks
community.mongodb.mongodb_status:
replica_set: rs0
poll: 5
interval: 10
when: ansible_hostname == "mongodb1"
# Get the replicaset status and then lookup the primary's hostname and save to a variable
- name: Ensure replicaset is stable before beginning
community.mongodb.mongodb_status:
login_user: "{{ admin_user }}"
login_password: "{{ admin_user_password }}"
poll: 3
interval: 10
register: rs
- name: Lookup PRIMARY replicaset member
set_fact:
primary: "{{ item.key.split('.')[0] }}"
loop: "{{ lookup('dict', rs.replicaset) }}"
when: "'PRIMARY' in item.value"
Возвращаемые значения
Общие возвращаемые значения описаны здесь. Ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
failed логическое значение | Указывает, завершилось ли выполнение модуля с ошибкой. Возвращается: всегда |
iterations целое число | Количество запросов состояния набора реплик, выполненных модулем. Возвращается: всегда |
msg строка | Сообщение о состоянии. Возвращается: всегда |
replicaset словарь | Последнее полученное состояние всех участников набора реплик, если его удалось получить. Возвращается: всегда |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/mongodb/mongodb_status_module.html