Note
This plugin is part of the community.mongodb collection (version 1.3.1).
You might already have this collection installed if you are using the ansible
package. It is not included in ansible-core
. To check whether it is installed, run ansible-galaxy collection list
.
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
The below requirements are needed on the host that executes this module.
Parameter | Choices/Defaults | Comments |
---|---|---|
auth_mechanism string |
| 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 |
| 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 |
| 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. | |
validate string |
| The type of validate to perform on the replicaset. default, Suitable for most purposes. Validate that there are an odd number of servers and one is PRIMARY and the remainder are in a SECONDARY or ARBITER state. votes, Check the number of votes is odd and one is a PRIMARY and the remainder are in a SECONDARY or ARBITER state. Authentication is required here to get the replicaset configuration. minimal, Just checks that one server is in a PRIMARY state with the remainder being SECONDARY or ARBITER. |
Note
- 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"
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
failed boolean | always | If the module has 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. |
© 2012–2018 Michael DeHaan
© 2018–2021 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