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