- name: Download MariaDB installation script get_url: url: https://downloads.mariadb.com/MariaDB/mariadb_repo_setup dest: '{{ remote_scratch_path }}/mariadb_repo_setup' mode: '0700' - name: Install MariaDB repo via script shell: '{{ remote_scratch_path }}/mariadb_repo_setup' args: creates: /etc/yum.repos.d/mariadb.repo become: yes - name: Install MariaDB yum: name: ['mysql-devel', 'MariaDB-server', 'MySQL-python', 'MariaDB-shared'] state: present update_cache: yes become: yes - name: manage MySql/MariaDB database service service: name: '{{ redmine_db_service_provider }}' state: started enabled: yes become: yes - name: create mysql/mariadb database mysql_db: name: '{{ redmine_db_name }}' state: present encoding: utf8 login_user: '{{ mysql_admin_login }}' login_password: '{{ mysql_admin_password }}' become: yes register: redmine_db_created # source database may not have same name as VM db. # So remove CREATE or USE statements from dump. # while unpacking. - name: unpack mysql dump file shell: "/usr/bin/gunzip -c {{ redmine_db_dump_file }} | /usr/bin/sed '/^CREATE DATABASE \\|^USE /d' > {{ _redmine_db_import_file }}" args: creates: '{{ _redmine_db_import_file }}' when: do_redmine_db_import == True - name: check for successful database import file stat: path: '{{ _redmine_db_import_success }}' register: redmine_db_import_done when: do_redmine_db_import == True - name: import database mysql_db: name: '{{ redmine_db_name }}' state: import target: '{{ _redmine_db_import_file }}' login_user: '{{ mysql_admin_login }}' login_password: '{{ mysql_admin_password }}' login_unix_socket: '/var/lib/mysql/mysql.sock' become: yes register: redmine_db_import when: do_redmine_db_import == True and (redmine_db_import_done.stat.exists == False or redmine_db_created is changed) - name: create successful database import file file: path: '{{ _redmine_db_import_success }}' state: touch when: do_redmine_db_import == True and redmine_db_import_done.stat.exists == False and redmine_db_import is success - name: create redmine db user mysql_user: name: '{{ redmine_db_user }}' password: '{{ redmine_db_password }}' append_privs: yes priv: '{{ redmine_db_name }}.*:ALL' state: present become: yes no_log: yes