community.mongodb.mongodb_status – Проверяет состояние кластера.
Примечание
Этот плагин входит в коллекцию community.mongodb (версия 1.2.0).
Для его установки используйте: ansible-galaxy collection install community.mongodb.
Для использования в плейбуке укажите: community.mongodb.mongodb_status.
Введено в версии 1.0.0: модуля community.mongodb
Обзор
- Проверяет состояние кластера.
- Модуль ожидает, что все узлы репликации будут PRIMARY, SECONDARY или ARBITER.
- Будет ожидать, пока состояние репликации не стабилизируется, если это необходимо, до истечения таймаута.
- Также может использоваться для поиска текущего PRIMARY члена (см. примеры).
Требования
Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.
- pymongo
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| auth_mechanism строка |
| Тип аутентификации. |
| connection_options список / элементы=сырые | Дополнительные параметры подключения. Указываются как список словарей или строк, содержащих пары ключ-значение, разделённые символом '='. | |
| interval целое число | По умолчанию: 30 | Количество секунд, ожидаемых между выполнением опроса. |
| login_database строка | По умолчанию: "admin" | База данных, где хранятся данные входа. |
| login_host строка | По умолчанию: "localhost" | Хост, на котором запущен экземпляр MongoDB для входа. |
| login_password строка | Пароль, используемый для аутентификации. Необходим, когда указан параметр login_user. | |
| login_port целое число | По умолчанию: 27017 | Порт сервера MongoDB для входа. |
| login_user строка | Пользователь MongoDB для входа. Необходим, когда указан параметр login_password. | |
| poll целое число | По умолчанию: 1 | Максимальное количество попыток запроса состояния репликации до того, как набор стабилизируется или произойдёт ошибка. |
| replica_set строка | По умолчанию: "rs0" | Имя репликации. |
| ssl булево |
| Использовать ли SSL-соединение при подключении к базе данных. |
| ssl_ca_certs строка | Параметр ssl_ca_certs принимает путь к файлу CA. | |
| ssl_cert_reqs строка |
| Указывает, требуется ли сертификат с другой стороны соединения и будет ли он проверен, если предоставлен. |
| ssl_certfile строка | Предоставить сертификат клиента с помощью параметра ssl_certfile. | |
| ssl_crlfile строка | Параметр ssl_crlfile принимает путь к файлу CRL. | |
| ssl_keyfile строка | Приватный ключ для сертификата клиента. | |
| ssl_pem_passphrase строка | Пароль для расшифровки зашифрованных приватных ключей. |
Примечания
Примечание
- Требуется пакет pymongo Python на удалённом хосте, версия 2.4.2+. Его можно установить с помощью 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 словарь | всегда | Последнее запрошенное состояние всех членов репликации, если оно доступно. |
Авторы
- Rhys Campbell (@rhysmeister)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/mongodb/mongodb_status_module.html