community.mongodb.mongodb_shard – Add or remove shards from a MongoDB Cluster

From Get docs
Ansible/docs/2.11/collections/community/mongodb/mongodb shard module


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

  • SCRAM-SHA-256
  • SCRAM-SHA-1
  • MONGODB-X509
  • GSSAPI
  • PLAIN

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

  • no

  • yes

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

  • CERT_NONE
  • CERT_OPTIONAL
  • CERT_REQUIRED

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

  • absent
  • present

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