Browse Source

Add support for DB servers

Emmanuel Bouthenot 11 years ago
parent
commit
71dbd4cf25

+ 4 - 0
dbserver.yml

@@ -0,0 +1,4 @@
+- hosts: dbserver
+  roles:
+    - dbserver
+

+ 8 - 0
group_vars/dbserver

@@ -0,0 +1,8 @@
+#
+# Default variables for webservers
+#
+
+with_mysql: False
+mysql_root_password: ro1234ot
+
+# vim: ft=yaml

+ 1 - 0
roles/dbserver/handlers/main.yml

@@ -0,0 +1 @@
+- include: mysql.yml

+ 5 - 0
roles/dbserver/handlers/mysql.yml

@@ -0,0 +1,5 @@
+- name: Reload mysql
+  action: service name=mysql state=reloaded
+
+- name: Restart nginx
+  action: service name=mysql state=restarted

+ 1 - 0
roles/dbserver/tasks/main.yml

@@ -0,0 +1 @@
+- include: mysql.yml

+ 15 - 0
roles/dbserver/tasks/mysql.yml

@@ -0,0 +1,15 @@
+- name: Install mysql-server related packages
+  action: ${ansible_pkg_mgr} pkg=${item} state=installed update_cache=yes
+  with_items:
+    - mysql-server
+    - python-mysqldb
+    - automysqlbackup
+  when_boolean: ${with_mysql}
+
+- name: Change mysql root default password
+  action: raw if "SELECT VERSION();" | mysql -u root >/dev/null 2>&1 ; then echo "UPDATE mysql.user SET Password=PASSWORD('${mysql_root_password}') WHERE User IN ('', 'root'); FLUSH PRIVILEGES;" | mysql --defaults-file=/etc/mysql/debian.cnf ; fi
+  when_boolean: ${with_mysql}
+
+- name: Ensure mysql-server is running
+  action: service name=mysql state=started
+  when_boolean: ${with_mysql}

+ 1 - 0
site.yml

@@ -1,3 +1,4 @@
 - include: common.yml
 - include: webserver.yml
+- include: dbserver.yml
 - include: monitoring.yml