community.mongodb.mongodb_status – Validates the status of the cluster.

From Get docs
Ansible/docs/2.10/collections/community/mongodb/mongodb status module


community.mongodb.mongodb_status – Validates the status of the cluster.

Note

This plugin is part of the community.mongodb collection (version 1.1.1).

To install it use: ansible-galaxy collection install community.mongodb.

To use it in a playbook, specify: community.mongodb.mongodb_status.


New in version 1.0.0: of community.mongodb


Synopsis

  • Validates the status of the cluster.
  • The module expects all replicaset nodes to be PRIMARY, SECONDARY or ARBITER.
  • Will wait until a timeout for the replicaset state to converge if required.
  • Can also be used to lookup the current PRIMARY member (see examples).

Requirements

The below requirements are needed on the host that executes this module.

  • pymongo

Parameters

Parameter Choices/Defaults Comments

auth_mechanism

string

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

Authentication type.

connection_options

list / elements=raw

Additional connection options.

Supply as a list of dicts or strings containing key value pairs seperated with '='.

interval

integer

Default:

30

The number of seconds to wait between polling executions.

login_database

string

Default:

"admin"

The database where login credentials are stored.

login_host

string

Default:

"localhost"

The host running MongoDB instance to login to.

login_password

string

The password used to authenticate with.

Required when login_user is specified.

login_port

integer

Default:

27017

The MongoDB server port to login to.

login_user

string

The MongoDB user to login with.

Required when login_password is specified.

poll

integer

Default:

1

The maximum number of times to query for the replicaset status before the set converges or we fail.

replica_set

string

Default:

"rs0"

Replicaset name.

ssl

boolean

  • no

  • yes

Whether to use an SSL connection when connecting to the database.

ssl_ca_certs

string

The ssl_ca_certs option takes a path to a CA file.

ssl_cert_reqs

string

  • CERT_NONE
  • CERT_OPTIONAL
  • CERT_REQUIRED

Specifies whether a certificate is required from the other side of the connection, and whether it will be validated if provided.

ssl_certfile

string

Present a client certificate using the ssl_certfile option.

ssl_crlfile

string

The ssl_crlfile option takes a path to a CRL file.

ssl_keyfile

string

Private key for the client certificate.

ssl_pem_passphrase

string

Passphrase to decrypt encrypted private keys.



Notes

Note


Examples

- 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"

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description

failed

boolean

always

If the mnodule had failed or not.


iterations

integer

always

Number of times the module has queried the replicaset status.


msg

string

always

Status message.


replicaset

dictionary

always

The last queried status of all the members of the replicaset if obtainable.





Authors

  • Rhys Campbell (@rhysmeister)

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/mongodb/mongodb_status_module.html