From 5056f93283e26bfd91b74e284679e4c219aeba8e Mon Sep 17 00:00:00 2001 From: Jeremy Lecour Date: Wed, 14 Nov 2018 16:13:02 +0100 Subject: [PATCH] mysql: logdir can be customized --- CHANGELOG.md | 1 + mysql/defaults/main.yml | 1 + mysql/tasks/logdir.yml | 45 +++++++++++++++++++++++++++++++++++++++++ mysql/tasks/main.yml | 2 ++ 4 files changed, 49 insertions(+) create mode 100644 mysql/tasks/logdir.yml diff --git a/CHANGELOG.md b/CHANGELOG.md index 072bfcd6..3019d2ec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ The **patch** part changes incrementally at each release. * postfix: enable SSL/TLS client * ssl: add an SSL role for certificates deployment * haproxy: add vars for tls configuration +* mysql: logdir can be customized ### Changed * evocheck: update script from upstream diff --git a/mysql/defaults/main.yml b/mysql/defaults/main.yml index 52bf8b07..c2cfa4b0 100644 --- a/mysql/defaults/main.yml +++ b/mysql/defaults/main.yml @@ -13,6 +13,7 @@ mysql_replace_root_with_mysqladmin: True mysql_custom_datadir: '' mysql_custom_tmpdir: '' +mysql_custom_logdir: '' mysql_thread_cache_size: '{{ ansible_processor_cores }}' mysql_innodb_buffer_pool_size: '{{ (ansible_memtotal_mb * 0.3) | int }}M' diff --git a/mysql/tasks/logdir.yml b/mysql/tasks/logdir.yml new file mode 100644 index 00000000..a1b3a8d8 --- /dev/null +++ b/mysql/tasks/logdir.yml @@ -0,0 +1,45 @@ +--- + +- block: + - name: "Is {{ mysql_custom_logdir }} present ?" + stat: + path: "{{ mysql_custom_logdir }}" + check_mode: no + register: mysql_custom_logdir_test + + - name: "read the real logdir" + command: readlink -f /var/log/mysql + changed_when: False + check_mode: no + register: mysql_current_real_logdir_test + tags: + - mysql + when: mysql_custom_logdir != '' + +- block: + - name: MySQL is stopped + service: + name: mysql + state: stopped + + - name: Move MySQL logdir to {{ mysql_custom_logdir }} + command: mv {{ mysql_current_real_logdir_test.stdout }} {{ mysql_custom_logdir }} + args: + creates: "{{ mysql_custom_logdir }}" + + - name: Symlink {{ mysql_custom_logdir }} to /var/log/mysql + file: + src: "{{ mysql_custom_logdir }}" + dest: '/var/log/mysql' + state: link + + - name: MySQL is started + service: + name: mysql + state: started + tags: + - mysql + when: + - mysql_custom_logdir != '' + - mysql_custom_logdir != mysql_current_real_logdir_test.stdout + - not mysql_custom_logdir_test.stat.exists diff --git a/mysql/tasks/main.yml b/mysql/tasks/main.yml index 9f9c07f4..8e14c8de 100644 --- a/mysql/tasks/main.yml +++ b/mysql/tasks/main.yml @@ -23,6 +23,8 @@ - include: datadir.yml +- include: logdir.yml + - include: tmpdir.yml - include: nrpe.yml