Модуль community.mongodb.mongodb_status – Проверяет состояние реплики.
Примечание
Этот модуль является частью коллекции community.mongodb (версия 1.7.7).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.mongodb. Для использования этого модуля потребуются дополнительные требования, см. Требования для получения подробностей.
Для использования в playbook укажите: community.mongodb.mongodb_status.
Новый в community.mongodb 1.0.0
Описание
- Проверяет состояние реплики.
- Модуль ожидает, что все узлы реплики будут PRIMARY, SECONDARY или ARBITER.
- Будет ожидать сброса состояния реплики до тех пор, пока не истечет таймаут, если необходимо.
- Также может использоваться для поиска текущего узла PRIMARY (см. примеры).
Требования
Ниже приведены требования, необходимые на хосте, на котором выполняется этот модуль.
- pymongo
Параметры
Параметр | Комментарии |
|---|---|
atlas_auth boolean | Путь аутентификации, предназначенный для экземпляров MongoDB Atlas Варианты:
|
auth_mechanism string | Тип аутентификации. Варианты:
|
connection_options list / elements=any | Дополнительные параметры подключения. Укажите в виде списка словарей или строк, содержащих пары «ключ-значение», разделенные знаком «=». |
interval integer | Количество секунд ожидания между выполнениями опроса. По умолчанию: |
login_database string | База данных, в которой хранятся учетные данные для входа. По умолчанию: |
login_host string | Хост, на котором запущен экземпляр MongoDB для входа. По умолчанию: |
login_password string | Пароль, используемый для аутентификации. Требуется, если указан login_user. |
login_port integer | Порт сервера MongoDB для входа. По умолчанию: |
login_user string | Пользователь MongoDB для входа. Требуется, если указан login_password. |
poll integer | Максимальное количество запросов состояния репликата перед сходимостью набора или ошибкой. По умолчанию: |
replica_set string | Имя репликата. По умолчанию: |
ssl aliases: tls boolean | Использовать ли SSL-соединение при подключении к базе данных. Варианты:
|
ssl_ca_certs aliases: tlsCAFile string | Параметр ssl_ca_certs принимает путь к файлу CA. |
ssl_cert_reqs aliases: tlsAllowInvalidCertificates string | Указывает, требуется ли сертификат от другой стороны соединения и будет ли он проверен, если предоставлен. Варианты:
|
ssl_certfile aliases: tlsCertificateKeyFile string | Представить клиентский сертификат, используя параметр ssl_certfile. |
ssl_crlfile string | Параметр ssl_crlfile принимает путь к файлу CRL. |
ssl_keyfile string | Закрытый ключ для клиентского сертификата. |
ssl_pem_passphrase aliases: tlsCertificateKeyFilePassword string | Пароль для расшифровки зашифрованных закрытых ключей. |
strict_compatibility boolean | Применять строгие требования к версиям программного обеспечения pymongo и MongoDB Варианты:
|
validate string | Тип проверки репликации. default, Подходит для большинства случаев. Проверяет, что количество серверов нечётное, один — PRIMARY, остальные — SECONDARY или ARBITER. votes, Проверяет, что количество голосов нечётное, один — PRIMARY, остальные — SECONDARY или ARBITER. Здесь требуется аутентификация для получения конфигурации репликации. minimal, Просто проверяет, что один сервер находится в состоянии PRIMARY, а остальные — SECONDARY или ARBITER. Варианты:
|
Примечания
Примечание
- Требуется пакет pymongo Python на удалённом хосте, версия 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 boolean | Указывает, произошла ли ошибка в модуле. Возвращаемое значение: всегда |
iterations integer | Количество раз, когда модуль запросил состояние репликации. Возвращаемое значение: всегда |
msg string | Сообщение о состоянии. Возвращаемое значение: всегда |
replicaset dictionary | Последнее запрошенное состояние всех членов репликации, если доступно. Возвращаемое значение: всегда |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/mongodb/mongodb_status_module.html