• Michel Blanc's avatar
    Adds new variables, molecule testing and hot reloading configs · 5aa494cd
    Michel Blanc authored
    Added new variables
    - proxysql_mysql_server_version (fixes #3)
    - basic cluster support (proxysql_cluster_name & proxysql_cluster_password)
    
    Added hot reloading for configuration changes (proxysql does not pick them up unless we use --initial). Fixes #2
    
    Added molecule testing support
    5aa494cd
main.yml 1.92 KiB
---
- name: Restart proxysql normal
  service:
    name: proxysql
    state: restarted
  when: not proxysql_initial
- name: Restart proxysql initial
  command: service proxysql initial
  when: proxysql_initial
  tags:
    - skip_ansible_lint
- name: Restart proxysql
  debug:
    msg: "Fan-out handler"
  changed_when: true
  notify:
    - Restart proxysql normal
    - Restart proxysql initial
- name: Load config from file to memory
  proxysql_manage_config:
    action: LOAD
    config_layer: CONFIG
    config_settings: "{{ item }}"
    direction: FROM
    login_user: "{{ proxysql_admin_user }}"
    login_password: "{{ proxysql_admin_password }}"
    login_host: "{{ proxysql_admin_interface }}"
    login_port: "{{ proxysql_admin_port }}"
  with_items:
    - "MYSQL USERS"
    - "MYSQL SERVERS"
    - "MYSQL QUERY RULES"
    - "MYSQL VARIABLES"
    - "ADMIN VARIABLES"
    - "SCHEDULER"
  notify:
    - Copy config from memory to runtime
- name: Copy config from memory to runtime
  proxysql_manage_config:
    action: LOAD
    config_layer: RUNTIME
    config_settings: "{{ item }}"
    direction: TO
    login_user: "{{ proxysql_admin_user }}"
    login_password: "{{ proxysql_admin_password }}"
    login_host: "{{ proxysql_admin_interface }}"
    login_port: "{{ proxysql_admin_port }}"
  with_items:
    - "MYSQL USERS"
    - "MYSQL SERVERS"
    - "MYSQL QUERY RULES"
    - "MYSQL VARIABLES"
    - "ADMIN VARIABLES"
    - "SCHEDULER"
  notify: Save configs to disk
- name: Save configs to disk
  proxysql_manage_config:
    action: SAVE
    config_layer: DISK
    config_settings: "{{ item }}"
    direction: TO
    login_user: "{{ proxysql_admin_user }}"
    login_password: "{{ proxysql_admin_password }}"
    login_host: "{{ proxysql_admin_interface }}"
    login_port: "{{ proxysql_admin_port }}"
with_items: - "MYSQL USERS" - "MYSQL SERVERS" - "MYSQL QUERY RULES" - "MYSQL VARIABLES" - "ADMIN VARIABLES" - "SCHEDULER"