Spec-Zone.ru › Ansible

Модуль 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

Варианты:

  • false ← (по умолчанию)
  • true

auth_mechanism

строка

Тип аутентификации.

Варианты:

  • "SCRAM-SHA-256"
  • "SCRAM-SHA-1"
  • "MONGODB-X509"
  • "GSSAPI"
  • "PLAIN"

connection_options

список / элементы=любые

Дополнительные параметры подключения.

Передавайте их в виде списка словарей или строк, содержащих пары ключ-значение, разделённые символом «=».

interval

целое число

Количество секунд ожидания между опросами.

По умолчанию: 30

login_database

строка

База данных, в которой хранятся учётные данные для входа.

По умолчанию: "admin"

login_host

строка

Узел, на котором запущен экземпляр MongoDB, к которому выполняется подключение.

По умолчанию: "localhost"

login_password

строка

Пароль для аутентификации.

Обязателен, если указан login_user.

login_port

целое число

Порт сервера MongoDB, к которому выполняется подключение.

По умолчанию: 27017

login_user

строка

Пользователь MongoDB для подключения.

Обязателен, если указан login_password.

poll

целое число

Максимальное количество запросов состояния набора реплик до его сходимости или завершения с ошибкой.

По умолчанию: 1

replica_set

строка

Имя набора реплик.

По умолчанию: "rs0"

ssl

псевдонимы: tls

логическое значение

Использовать ли SSL-соединение при подключении к базе данных.

Варианты:

  • false ← (по умолчанию)
  • true

ssl_ca_certs

псевдонимы: tlsCAFile

строка

Параметр ssl_ca_certs принимает путь к файлу центра сертификации (CA).

ssl_cert_reqs

псевдонимы: tlsAllowInvalidCertificates

строка

Указывает, требуется ли сертификат от другой стороны соединения и нужно ли проверять его, если он предоставлен.

Варианты:

  • "CERT_NONE"
  • "CERT_OPTIONAL"
  • "CERT_REQUIRED" ← (по умолчанию)

ssl_certfile

псевдонимы: tlsCertificateKeyFile

строка

Предоставляет сертификат клиента с помощью параметра ssl_certfile.

ssl_crlfile

строка

Параметр ssl_crlfile принимает путь к файлу списка отозванных сертификатов (CRL).

ssl_keyfile

строка

Закрытый ключ сертификата клиента.

ssl_pem_passphrase

псевдонимы: tlsCertificateKeyFilePassword

строка

Парольная фраза для расшифровки зашифрованных закрытых ключей.

strict_compatibility

логическое значение

Строго соблюдать требования к версиям pymongo и MongoDB

Варианты:

  • false
  • true ← (по умолчанию)

validate

строка

Тип проверки набора реплик.

default — подходит для большинства случаев. Проверяет, что количество серверов нечётное, один из них находится в состоянии PRIMARY, а остальные — в состоянии SECONDARY или ARBITER.

votes — проверяет, что количество голосов нечётное, один сервер находится в состоянии PRIMARY, а остальные — в состоянии SECONDARY или ARBITER. Для получения конфигурации набора реплик требуется аутентификация.

minimal — проверяет только, что один сервер находится в состоянии PRIMARY, а остальные — в состоянии SECONDARY или ARBITER.

Варианты:

  • "default" ← (по умолчанию)
  • "votes"
  • "minimal"

Примечания

Примечание

  • На удалённом узле требуется пакет 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

словарь

Последнее полученное состояние всех участников набора реплик, если его удалось получить.

Возвращается: всегда

Авторы

  • Rhys Campbell (@rhysmeister)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API