Validates the status of the replicaset.
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).
- replica_set (optional, str, rs0)
- Replicaset name.
- poll (optional, int, 1)
- The maximum number of times to query for the replicaset status before the set converges or we fail.
- interval (optional, int, 30)
- The number of seconds to wait between polling executions.
- validate (optional, str, default)
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.
- login_user (False, str, None)
The MongoDB user to login with.
Required when login_password is specified.
- login_password (False, str, None)
The password used to authenticate with.
Required when login_user is specified.
- login_database (False, str, admin)
- The database where login credentials are stored.
- login_host (False, str, localhost)
- The host running MongoDB instance to login to.
- login_port (False, int, 27017)
- The MongoDB server port to login to.
- strict_compatibility (optional, bool, True)
- Enforce strict requirements for pymongo and MongoDB software versions
- ssl (False, bool, False)
- Whether to use an SSL connection when connecting to the database.
- ssl_cert_reqs (False, str, CERT_REQUIRED)
- Specifies whether a certificate is required from the other side of the connection, and whether it will be validated if provided.
- ssl_ca_certs (False, str, None)
- The ssl_ca_certs option takes a path to a CA file.
- ssl_crlfile (False, str, None)
- The ssl_crlfile option takes a path to a CRL file.
- ssl_certfile (False, str, None)
- Present a client certificate using the ssl_certfile option.
- ssl_keyfile (False, str, None)
- Private key for the client certificate.
- ssl_pem_passphrase (False, str, None)
- Passphrase to decrypt encrypted private keys.
- auth_mechanism (False, str, None)
- Authentication type.
- connection_options (False, list, None)
Additional connection options.
Supply as a list of dicts or strings containing key value pairs seperated with '='.
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"