diff --git a/meta/main.yml b/meta/main.yml index 58c1b96..582e5ab 100644 --- a/meta/main.yml +++ b/meta/main.yml @@ -1,6 +1,8 @@ --- galaxy_info: + namespace: hanxhx + role_name: mysql author: Emilien Mantel description: Install and configure MariaDB (and Galera Cluster) on Debian company: diff --git a/tasks/galera/main.yml b/tasks/galera/main.yml index 73cc740..37b5f64 100644 --- a/tasks/galera/main.yml +++ b/tasks/galera/main.yml @@ -4,6 +4,9 @@ template: src: etc/mysql/mariadb.conf.d/20-galera.cnf.j2 dest: /etc/mysql/mariadb.conf.d/20-galera.cnf + mode: 0644 + owner: root + group: root register: galeraconfig - name: INCLUDE | Bootstrap first node diff --git a/tasks/install/mariadb/upstream.yml b/tasks/install/mariadb/upstream.yml index e9cb719..979a471 100644 --- a/tasks/install/mariadb/upstream.yml +++ b/tasks/install/mariadb/upstream.yml @@ -14,6 +14,9 @@ template: src: etc/apt/preferences.d/95-mariadb.j2 dest: /etc/apt/preferences.d/95-mariadb + mode: 0644 + owner: root + group: root - name: APT_REPOSITORY | Add MariaDB repository apt_repository: diff --git a/tasks/main.yml b/tasks/main.yml index 9d28ccc..5d6e134 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -16,6 +16,10 @@ template: src: "{{ item }}" dest: "/{{ item | replace('.j2', '') }}" + mode: 0644 + owner: root + group: root + register: config loop: - etc/mysql/my.cnf - etc/mysql/conf.d/mysqldump.cnf.j2 @@ -23,7 +27,6 @@ - etc/mysql/mariadb.conf.d/50-client.cnf.j2 - etc/mysql/mariadb.conf.d/50-mysqld_safe.cnf.j2 - etc/mysql/mariadb.conf.d/50-server.cnf.j2 - register: config - name: SERVICE | Restart Mariadb now one at a time (prevent bugs) throttle: 1 diff --git a/tasks/replication/master.yml b/tasks/replication/master.yml index 5bd3e70..797273f 100644 --- a/tasks/replication/master.yml +++ b/tasks/replication/master.yml @@ -4,4 +4,7 @@ template: src: etc/mysql/mariadb.conf.d/40-master.cnf.j2 dest: /etc/mysql/mariadb.conf.d/40-master.cnf + mode: 0644 + owner: root + group: root notify: restart mariadb diff --git a/tasks/replication/slave.yml b/tasks/replication/slave.yml index 6d28503..71ff947 100644 --- a/tasks/replication/slave.yml +++ b/tasks/replication/slave.yml @@ -10,6 +10,9 @@ template: src: etc/mysql/mariadb.conf.d/40-slave.cnf.j2 dest: /etc/mysql/mariadb.conf.d/40-slave.cnf + mode: 0644 + owner: root + group: root notify: restart mariadb - name: MYSQL_REPLICATION | Get slave status diff --git a/tasks/replication/slave/import_data.yml b/tasks/replication/slave/import_data.yml index 983eec8..a447de6 100644 --- a/tasks/replication/slave/import_data.yml +++ b/tasks/replication/slave/import_data.yml @@ -23,6 +23,9 @@ file: path: "{{ mariadb_backup_dir }}" state: directory + mode: 0755 + owner: root + group: root - name: COMMAND | Prepare backup another server command: "mariabackup --backup -u root --target-dir={{ mariadb_backup_dir }}" @@ -30,8 +33,8 @@ creates: "{{ mariadb_backup_dir }}/xtrabackup_info" register: backup - - name: SHELL | Dump - shell: "mariabackup --prepare --target-dir={{ mariadb_backup_dir }}" + - name: COMMAND | Dump + command: "mariabackup --prepare --target-dir={{ mariadb_backup_dir }}" when: backup.changed register: prep changed_when: "'This target seems to be not prepared yet' in prep.stderr" @@ -52,15 +55,17 @@ name: mariadb state: stopped -# TODO: add an "ignore warning" - name: COMMAND | Sync backup to slave - TODO remove vagrant as static user (see why mariadb_backup_user is not working) - shell: "sudo -E rsync --rsync-path='sudo rsync' -a -e 'ssh -o StrictHostKeyChecking=no' {{ mariadb_backup_user }}@{{ mariadb_slave_import_from }}:{{ mariadb_backup_dir }}/ {{ mariadb_datadir }}/" + command: "sudo -E rsync --rsync-path='sudo rsync' -a -e 'ssh -o StrictHostKeyChecking=no' {{ mariadb_backup_user }}@{{ mariadb_slave_import_from }}:{{ mariadb_backup_dir }}/ {{ mariadb_datadir }}/" become: false + tags: + - skip_ansible_lint - name: FILE | Re-apply owner file: path: "{{ mariadb_datadir }}" state: directory + mode: 0755 owner: mysql group: mysql recurse: true diff --git a/tests/test.yml b/tests/test.yml index 1d8f2f4..3b2ce28 100644 --- a/tests/test.yml +++ b/tests/test.yml @@ -30,6 +30,9 @@ copy: src: import1.sql dest: /tmp/import1.sql + mode: 0644 + owner: root + group: root register: c - name: MYSQL_DB | Import first dump @@ -40,12 +43,16 @@ login_unix_socket: "{{ mariadb_socket }}" loop: ['testrepl', 'norepl'] when: c.changed + tags: + - skip_ansible_lint - hosts: slave pre_tasks: - name: SHELL | Get master IP - shell: getent hosts {{ ansible_hostname | replace ('slave', 'master') }} | cut -d ' ' -f 1 + shell: set -o pipefail && getent hosts {{ ansible_hostname | replace ('slave', 'master') }} | cut -d ' ' -f 1 + args: + executable: /bin/bash register: ip changed_when: false @@ -66,6 +73,9 @@ copy: src: import2.sql dest: /tmp/import2.sql + mode: 0644 + owner: root + group: root delegate_to: "{{ mariadb_slave_import_from }}" register: c