1
0
mirror of https://github.com/krislamo/vagrant-easyredmine synced 2024-11-10 06:50:35 +00:00
vagrant-easyredmine/roles/easyredmine/tasks/database.yml

79 lines
2.3 KiB
YAML

- 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 }}'
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