On this page
community.mongodb.mongodb_balancer – Manages the MongoDB Sharded Cluster Balancer.
Note
This plugin is part of the community.mongodb collection (version 1.3.1).
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.
To use it in a playbook, specify: community.mongodb.mongodb_balancer.
New in version 1.0.0: of community.mongodb
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 | Choices/Defaults | Comments | 
|---|---|---|
| auth_mechanism
        
        string
         | 
      
       
  | 
      
        
        Authentication type.
         | 
     
| autosplit
        
        boolean
         | 
      
       
  | 
      
        
        Disable or enable the autosplit flag in the config.settings collection.
         | 
     
| chunksize
        
        integer
         | 
      
        
        Control the size of chunks in the sharded cluster.
        
       
        Value should be given in MB.
         | 
     |
| 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.
        
       
        Most users can ignore this setting.
         | 
     
| 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
         | 
      
       
  | 
      
        
        Manage the Balancer for the Cluster
         | 
     
| window
        
        raw
         | 
      
        
        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 2.4.2+. This can be installed using pip or the OS package manager. @see http://api.mongodb.org/python/current/installation.html
 
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 | Returned | Description | 
|---|---|---|
| changed
        
        boolean
         | 
      success | 
        
        Whether the balancer state or autosplit changed.
          | 
     
| failed
        
        boolean
         | 
      failed | 
        
        If something went wrong
          | 
     
| msg
        
        string
         | 
      failure | 
        
        A short description of what happened.
          | 
     
| new_autosplit
        
        string
         | 
      When autosplit is changed. | 
        
        The new state of autosplit.
          | 
     
| new_balancer_state
        
        string
         | 
      When balancer state is changed | 
        
        The new state of the balancer.
          | 
     
| new_chunksize
        
        integer
         | 
      When chunksize is changed. | 
        
        The new value for chunksize.
          | 
     
| old_autosplit
        
        string
         | 
      When autosplit is changed. | 
        
        The previous state of autosplit.
          | 
     
| old_balancer_state
        
        string
         | 
      When balancer state is changed | 
        
        The previous state of the balancer
          | 
     
| old_chunksize
        
        integer
         | 
      When chunksize is changed. | 
        
        The previous value for chunksize.
          | 
     
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/latest/collections/community/mongodb/mongodb_balancer_module.html