Back (Current repo: ansible-playbooks)

A repository for remembering ansible how-to as a quick reference. I do not grind yaml daily.
To clone this repository:
git clone https://git.viktor1993.net/ansible-playbooks.git
Log | Download | Files | Refs

mariadb-plugins.yml (1738B)


- name: Install MariaDB plugins
  hosts: all
  become: yes
  become_user: root
  become_method: sudo

  tasks:
    - name: Gather package facts
      package_facts:
        manager: auto

    - name: Gather service facts
      service_facts:

    - name: exit if mariadb package is missing
      fail:
        msg: "Playbook halted: mariadb-server package is missing"
      when: "'mariadb-server' not in ansible_facts.packages"

    - name: exit if mariadb service is not running
      fail:
        msg: "Playbook halted: mariadb service is not running"
      when: "ansible_facts.services['mariadb.service'].state != 'running'"

    - name: install ansible dependencies
      apt:
        name: python3-pymysql
        state: present
        update_cache: yes

    - name: Install metadata_lock_info plugin
      mysql_query:
        login_unix_socket: /var/run/mysqld/mysqld.sock
        query: "INSTALL SONAME 'metadata_lock_info'"
      register: plugin_install
      failed_when:
        - plugin_install.failed
        - "'already installed' not in plugin_install.msg | default('')"

    - name: check whether metadata_lock_info plugin is loaded
      mysql_query:
        login_unix_socket: /var/run/mysqld/mysqld.sock
        query: "SELECT * FROM information_schema.PLUGINS WHERE PLUGIN_NAME='METADATA_LOCK_INFO'"
      register: plugin_check

    - name: Show plugin status
      debug:
        msg: "metadata_lock_info plugin is {{ 'installed' if plugin_check.query_result[0] | length > 0 else 'NOT installed' }}"

    - name: create zz-local.cnf with specific params
      copy:
        src: ../../files/zz-plugins.cnf
        dest: /etc/my.cnf.d/zz-plugins.cnf
        owner: root
        group: root
        mode: '0644'