From 4f94d9d5c8e7b5497660a1a7c194656b922ea9a4 Mon Sep 17 00:00:00 2001
From: Robin Sonnabend <robin@fsmpi.rwth-aachen.de>
Date: Wed, 20 Jan 2016 17:19:04 +0100
Subject: [PATCH] Set mysql-root password after installing mysql and save it in
 the password store

---
 mysql/tasks/main.yml | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/mysql/tasks/main.yml b/mysql/tasks/main.yml
index 6e14ab6..4ddde70 100644
--- a/mysql/tasks/main.yml
+++ b/mysql/tasks/main.yml
@@ -15,3 +15,31 @@
   tags:
     - service
     - mysql
+
+- name: get or create the mysql root password
+  local_action: pass name="db/{{ ansible_hostname }}-mysql" state=present generate=20 store=FSMPI_PASSWORD_STORE_DIR limit=yes
+  register: mysql_root_password
+  tags:
+    - password
+    - mysql
+
+- name: ensure the mysql root user exists and has the correct password
+  mysql_user:
+    name: root
+    password: "{{ mysql_root_password.password }}"
+    login_user: root
+    login_password: "{{ mysql_root_password.password }}"
+  register: mysql_root_creation_result
+  ignore_errors: yes
+  tags:
+    - mysql
+    - config
+
+- name: initialize the mysql root user
+  mysql_user:
+    name: root
+    password: "{{ mysql_root_password.password }}"
+  when: mysql_root_creation_result|failed
+  tags:
+    - mysql
+    - config
-- 
GitLab