community.mongodb.mongodb_shard – Add or remove shards from a MongoDB Cluster
community.mongodb.mongodb_shard – Add or remove shards from a MongoDB Cluster
Note
This plugin is part of the community.mongodb collection (version 1.2.0).
To install it use: ansible-galaxy collection install community.mongodb
.
To use it in a playbook, specify: community.mongodb.mongodb_shard
.
New in version 1.0.0: of community.mongodb
Synopsis
- Add or remove shards from a MongoDB Cluster.
Requirements
The below requirements are needed on the host that executes this module.
- pymongo
Parameters
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 '='. | |
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. | |
mongos_process string |
Default: "mongos" |
Provide a custom name for the mongos process you are connecting to. Most users can ignore this setting. |
shard string / required |
The shard connection string. Should be supplied in the form /host:port as detailed in https://docs.mongodb.com/manual/tutorial/add-shards-to-shard-cluster/. For example rs0/example1.mongodb.com:27017. | |
sharded_databases raw |
Enable sharding on the listed database. Can be supplied as a string or a list of strings. Sharding cannot be disabled on a database. | |
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. | |
state string |
|
Whether the shard should be present or absent from the Cluster. |
Notes
Note
- Requires the pymongo Python package on the remote host, version 2.4.2+.
Examples
- name: Add a replicaset shard named rs1 with a member running on port 27018 on mongodb0.example.net
community.mongodb.mongodb_shard:
login_user: admin
login_password: admin
shard: "rs1/mongodb0.example.net:27018"
state: present
- name: Add a standalone mongod shard running on port 27018 of mongodb0.example.net
community.mongodb.mongodb_shard:
login_user: admin
login_password: admin
shard: "mongodb0.example.net:27018"
state: present
- name: To remove a shard called 'rs1'
community.mongodb.mongodb_shard:
login_user: admin
login_password: admin
shard: rs1
state: absent
# Single node shard running on localhost
- name: Ensure shard rs0 exists
community.mongodb.mongodb_shard:
login_user: admin
login_password: secret
shard: "rs0/localhost:3001"
state: present
# Single node shard running on localhost
- name: Ensure shard rs1 exists
community.mongodb.mongodb_shard:
login_user: admin
login_password: secret
shard: "rs1/localhost:3002"
state: present
# Enable sharding on a few databases when creating the shard
- name: To remove a shard called 'rs1'
community.mongodb.mongodb_shard:
login_user: admin
login_password: admin
shard: rs1
sharded_databases:
- db1
- db2
state: present
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
mongodb_shard string |
success |
The name of the shard to create.
|
sharded_enabled list / elements=string |
success when sharding is enabled |
Databases that have had sharding enabled during module execution.
|
Authors
- Rhys Campbell (@rhysmeister)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/mongodb/mongodb_shard_module.html