From 52d364b74cdade23841a285561c1cbd90560bb76 Mon Sep 17 00:00:00 2001 From: Sam Yaple Date: Wed, 19 Aug 2015 04:22:31 +0000 Subject: [PATCH] Refix bug 1226 after revert This patch properly fixes bug 1226 without introducing a breaking change to idempotency which was introduced in PR #1358 We can properly assign permissions to databases with a '.' in the name of the database as well as assign priviliges to all databases as specified with '*' --- lib/ansible/modules/database/mysql/mysql_user.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/ansible/modules/database/mysql/mysql_user.py b/lib/ansible/modules/database/mysql/mysql_user.py index 293464ca814..041e0903f71 100644 --- a/lib/ansible/modules/database/mysql/mysql_user.py +++ b/lib/ansible/modules/database/mysql/mysql_user.py @@ -317,6 +317,11 @@ def privileges_unpack(priv): privs = [] for item in priv.strip().split('/'): pieces = item.strip().split(':') + dbpriv = pieces[0].rsplit(".", 1) + # Do not escape if privilege is for database '*' (all databases) + if dbpriv[0].strip('`') != '*': + pieces[0] = "`%s`.%s" % (dbpriv[0].strip('`'), dbpriv[1]) + if '.' in pieces[0]: pieces[0] = pieces[0].split('.') for idx, piece in enumerate(pieces):