Note
This plugin is part of the community.mongodb collection.
To install it use: ansible-galaxy collection install community.mongodb
.
To use it in a playbook, specify: community.mongodb.mongodb_replicaset
.
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 |
---|---|---|
arbiter_at_index integer | Identifies the position of the member in the array that is an arbiter. | |
auth_mechanism string |
| Authentication type. |
chaining_allowed boolean |
| When settings.chaining_allowed=true, the replicaset allows secondary members to replicate from other secondary members. When settings.chaining_allowed=false, secondaries can replicate only from the primary. |
connection_options list / elements=raw | Additional connection options. Supply as a list of dicts or strings containing key value pairs seperated with '='. | |
election_timeout_millis integer | Default: 10000 | The time limit in milliseconds for detecting when a replicaset's primary is unreachable. |
heartbeat_timeout_secs integer | Default: 10 | Number of seconds that the replicaset members wait for a successful heartbeat from each other. If a member does not respond in time, other members mark the delinquent member as inaccessible. The setting only applies when using protocol_version=0. When using protocol_version=1 the relevant setting is settings.election_timeout_millis. |
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. | |
members list / elements=raw | Yaml list consisting of the replicaset members. Csv string will also be accepted i.e. mongodb1:27017,mongodb2:27017,mongodb3:27017. A dictionary can also be used to specify advanced replicaset member options. If a port number is not provided then 27017 is assumed. | |
protocol_version integer |
1 | Version of the replicaset election protocol. |
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 boolean |
| Performs some basic validation on the provided replicaset config. |
Note
# Create a replicaset called 'rs0' with the 3 provided members - name: Ensure replicaset rs0 exists community.mongodb.mongodb_replicaset: login_host: localhost login_user: admin login_password: admin replica_set: rs0 members: - mongodb1:27017 - mongodb2:27017 - mongodb3:27017 when: groups.mongod.index(inventory_hostname) == 0 # Create two single-node replicasets on the localhost for testing - name: Ensure replicaset rs0 exists community.mongodb.mongodb_replicaset: login_host: localhost login_port: 3001 login_user: admin login_password: secret login_database: admin replica_set: rs0 members: localhost:3001 validate: no - name: Ensure replicaset rs1 exists community.mongodb.mongodb_replicaset: login_host: localhost login_port: 3002 login_user: admin login_password: secret login_database: admin replica_set: rs1 members: localhost:3002 validate: no - name: Create a replicaset and use a custom priority for each member community.mongodb.mongodb_replicaset: login_host: localhost login_user: admin login_password: admin replica_set: rs0 members: - host: "localhost:3001" priority: 1 - host: "localhost:3002" priority: 0.5 - host: "localhost:3003" priority: 0.5 when: groups.mongod.index(inventory_hostname) == 0 - name: Create replicaset rs1 with options and member tags community.mongodb.mongodb_replicaset: login_host: localhost login_port: 3001 login_database: admin replica_set: rs1 members: - host: "localhost:3001" priority: 1 tags: dc: "east" usage: "production" - host: "localhost:3002" priority: 1 tags: dc: "east" usage: "production" - host: "localhost:3003" priority: 0 hidden: true slaveDelay: 3600 tags: dc: "west" usage: "reporting"
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
mongodb_replicaset string | success | The name of the replicaset that has been created. |
© 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_replicaset_module.html