community.mongodb.mongodb_balancer module – Manages the MongoDB Sharded Cluster Balancer.
Note
This module is part of the community.mongodb collection (version 1.7.8).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.mongodb
.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: community.mongodb.mongodb_balancer
.
New in community.mongodb 1.0.0
Synopsis
Manages the MongoDB Sharded Cluster Balancer.
Start or stop the balancer.
Adjust the cluster chunksize.
Enable or disable autosplit.
Add or remove a balancer window.
Requirements
The below requirements are needed on the host that executes this module.
pymongo
Parameters
Parameter |
Comments |
---|---|
Authentication path intended for MongoDB Atlas Instances Choices:
|
|
Authentication type. Choices:
|
|
Disable or enable the autosplit flag in the config.settings collection. From MongoDB 6.1 automatic chunk splitting is not performed so this parameter is not valid in this and later versions. See more see [enableAutoSplit](https://www.mongodb.com/docs/manual/reference/method/sh.enableAutoSplit/). This parameter is deprecated and will be removed in a future release. Choices:
|
|
Control the size of chunks in the sharded cluster. Value should be given in MB. |
|
Additional connection options. Supply as a list of dicts or strings containing key value pairs seperated with ‘=’. |
|
The database where login credentials are stored. Default: |
|
The host running MongoDB instance to login to. Default: |
|
The password used to authenticate with. Required when login_user is specified. |
|
The MongoDB server port to login to. Default: |
|
The MongoDB user to login with. Required when login_password is specified. |
|
Provide a custom name for the mongos process. Most users can ignore this setting. Default: |
|
Whether to use an SSL connection when connecting to the database. Choices:
|
|
The ssl_ca_certs option takes a path to a CA file. |
|
Specifies whether a certificate is required from the other side of the connection, and whether it will be validated if provided. Choices:
|
|
Present a client certificate using the ssl_certfile option. |
|
The ssl_crlfile option takes a path to a CRL file. |
|
Private key for the client certificate. |
|
Passphrase to decrypt encrypted private keys. |
|
Manage the Balancer for the Cluster Choices:
|
|
Enforce strict requirements for pymongo and MongoDB software versions Choices:
|
|
Schedule the balancer window. Provide the following dictionary keys start, stop, state The state key should be “present” or “absent”. The start and stop keys are ignored when state is “absent”. start and stop should be strings in “HH:MM” format indicating the time bounds of the window. |
Notes
Note
Requires the pymongo Python package on the remote host, version 4+. This can be installed using pip or the OS package manager. @see https://www.mongodb.com/docs/languages/python/pymongo-driver/current/get-started/download-and-install/
Examples
- name: Start the balancer
community.mongodb.mongodb_balancer:
state: started
- name: Stop the balancer and disable autosplit
community.mongodb.mongodb_balancer:
state: stopped
autosplit: false
- name: Enable autosplit
community.mongodb.mongodb_balancer:
autosplit: true
- name: Change the default chunksize to 128MB
community.mongodb.mongodb_balancer:
chunksize: 128
- name: Add or update a balancing window
community.mongodb.mongodb_balancer:
window:
start: "23:00"
stop: "06:00"
state: "present"
- name: Remove a balancing window
community.mongodb.mongodb_balancer:
window:
state: "absent"
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
Whether the balancer state or autosplit changed. Returned: success |
|
If something went wrong Returned: failed |
|
A short description of what happened. Returned: failure |
|
The new state of autosplit. Returned: When autosplit is changed. |
|
The new state of the balancer. Returned: When balancer state is changed |
|
The new value for chunksize. Returned: When chunksize is changed. |
|
The previous state of autosplit. Returned: When autosplit is changed. |
|
The previous state of the balancer Returned: When balancer state is changed |
|
The previous value for chunksize. Returned: When chunksize is changed. |