From a434363727b6a8054050024ede09f7bc682730b6 Mon Sep 17 00:00:00 2001 From: Zachary Seguin Date: Wed, 30 Nov 2016 16:25:33 -0500 Subject: [PATCH] Configure MySQL on webnodes; forwarding /var/run/mysqld/mysqld.sock to caffeine:3306 --- roles/webnode/files/mysql-forwarding.conf | 1 + roles/webnode/files/mysql-forwarding.service | 9 +++++ roles/webnode/tasks/main.yml | 35 ++++++++++++++++++++ 3 files changed, 45 insertions(+) create mode 100644 roles/webnode/files/mysql-forwarding.conf create mode 100644 roles/webnode/files/mysql-forwarding.service diff --git a/roles/webnode/files/mysql-forwarding.conf b/roles/webnode/files/mysql-forwarding.conf new file mode 100644 index 0000000..8d9a506 --- /dev/null +++ b/roles/webnode/files/mysql-forwarding.conf @@ -0,0 +1 @@ +d /var/run/mysqld 0755 root root - diff --git a/roles/webnode/files/mysql-forwarding.service b/roles/webnode/files/mysql-forwarding.service new file mode 100644 index 0000000..97e5c39 --- /dev/null +++ b/roles/webnode/files/mysql-forwarding.service @@ -0,0 +1,9 @@ +[Unit] +Description=MySQL forwarding to caffeine +After=networking.target + +[Service] +ExecStart=/usr/bin/socat UNIX-LISTEN:/var/run/mysqld/mysqld.sock,fork,reuseaddr,unlink-early,user=nobody,group=nogroup,mode=777 TCP:caffeine:3306 + +[Install] +WantedBy=multi-user.target diff --git a/roles/webnode/tasks/main.yml b/roles/webnode/tasks/main.yml index d1cc41f..f2e30a8 100644 --- a/roles/webnode/tasks/main.yml +++ b/roles/webnode/tasks/main.yml @@ -3,7 +3,12 @@ - name: Install packages package: name={{ item }} state=latest with_items: + # PHP5 - php5-fpm + - php5-mysql + + # MySQL + - socat # # Apache setup @@ -21,6 +26,7 @@ service: name: apache2 state: restarted + enabled: yes when: apache_configuration.changed # @@ -37,4 +43,33 @@ service: name: php5-fpm state: restarted + enabled: yes when: fpm_configuration.changed + +# +# MySQL setup +# +- name: Configure MySQL forwarding service + copy: + src: mysql-forwarding.service + dest: /etc/systemd/system/mysql-forwarding.service + backup: no + register: mysql_forwarding + +- name: Configure MySQL tmp file + copy: + src: mysql-forwarding.conf + dest: /etc/tmpfiles.d/mysql-forwarding.conf + backup: no + register: mysql_forwarding_tmpfile + +- name: Create tmpfiles for MySQL forwarding + command: systemd-tmpfiles --create + when: mysql_forwarding_tmpfile.changed + +- name: Enable MySQL forwarding service + service: + name: mysql-forwarding + state: restarted + enabled: yes + when: mysql_forwarding.changed or mysql_forwarding_tmpfile.changed