proxysql_replication_hostgroups – Manages replication hostgroups using the proxysql admin interface.¶
New in version 2.3.
Synopsis¶
- Each row in mysql_replication_hostgroups represent a pair of writer_hostgroup and reader_hostgroup. ProxySQL will monitor the value of read_only for all the servers in specified hostgroups, and based on the value of read_only will assign the server to the writer or reader hostgroups.
Requirements¶
The below requirements are needed on the host that executes this module.
- PyMySQL (Python 2.7 and Python 3.X), or
- MySQLdb (Python 2.x)
Parameters¶
Parameter | Choices/Defaults | Comments |
---|---|---|
comment
-
|
Text field that can be used for any purposed defined by the user.
|
|
config_file
-
|
Default: ""
|
Specify a config file from which login_user and login_password are to be read.
|
load_to_runtime
boolean
|
|
Dynamically load config to runtime memory.
|
login_host
-
|
Default: "127.0.0.1"
|
The host used to connect to ProxySQL admin interface.
|
login_password
-
|
The password used to authenticate to ProxySQL admin interface.
|
|
login_port
-
|
Default: 6032
|
The port used to connect to ProxySQL admin interface.
|
login_user
-
|
The username used to authenticate to ProxySQL admin interface.
|
|
reader_hostgroup
-
/ required
|
Id of the reader hostgroup.
|
|
save_to_disk
boolean
|
|
Save config to sqlite db on disk to persist the configuration.
|
state
-
|
|
When
present - adds the replication hostgroup, when absent - removes the replication hostgroup. |
writer_hostgroup
-
/ required
|
Id of the writer hostgroup.
|
Examples¶
---
# This example adds a replication hostgroup, it saves the mysql server config
# to disk, but avoids loading the mysql server config to runtime (this might be
# because several replication hostgroup are being added and the user wants to
# push the config to runtime in a single batch using the
# M(proxysql_manage_config) module). It uses supplied credentials to connect
# to the proxysql admin interface.
- proxysql_replication_hostgroups:
login_user: 'admin'
login_password: 'admin'
writer_hostgroup: 1
reader_hostgroup: 2
state: present
load_to_runtime: False
# This example removes a replication hostgroup, saves the mysql server config
# to disk, and dynamically loads the mysql server config to runtime. It uses
# credentials in a supplied config file to connect to the proxysql admin
# interface.
- proxysql_replication_hostgroups:
config_file: '~/proxysql.cnf'
writer_hostgroup: 3
reader_hostgroup: 4
state: absent
Return Values¶
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
stdout
dictionary
|
On create/update will return the newly modified group, on delete it will return the deleted record. |
The replication hostgroup modified or removed from proxysql
Sample:
{'changed': True, 'msg': 'Added server to mysql_hosts', 'repl_group': {'comment': '', 'reader_hostgroup': '1', 'writer_hostgroup': '2'}, 'state': 'present'}
|
Status¶
- This module is guaranteed to have no backward incompatible interface changes going forward. [stableinterface]
- This module is maintained by the Ansible Community. [community]
Authors¶
- Ben Mildren (@bmildren)
Hint
If you notice any issues in this documentation you can edit this document to improve it.