community.mongodb.mongodb_shard – Add or remove shards from a MongoDB 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_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 <replicaset>/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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/mongodb/mongodb_shard_module.html