From 23c691bd30ce02225d5553efe1d7dd5251c05312 Mon Sep 17 00:00:00 2001
From: Jeroen Hoekx <jeroen.hoekx@hamok.be>
Date: Wed, 2 May 2012 11:54:27 +0200
Subject: [PATCH] Group order in user module should not matter.

Groups are not necessarily returned in the defined order, especially when the user already existed before ansible started managing the system.
---
 user | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/user b/user
index cd631494ddd..30fdda21123 100755
--- a/user
+++ b/user
@@ -135,11 +135,12 @@ def user_mod(user, **kwargs):
                 cmd.append('-g')
                 cmd.append(kwargs[key])
         elif key == 'groups' and kwargs[key] is not None:
-            for g in kwargs[key].split(','):
+            defined_groups = kwargs[key].split(',')
+            for g in defined_groups:
                 if not group_exists(g):
                     fail_json(msg="Group %s does not exist" % (g))
-            groups = ",".join(user_group_membership(user))
-            if groups != kwargs[key]:
+            existing_groups = user_group_membership(user)
+            if sorted(defined_groups) != sorted(existing_groups):
                 cmd.append('-G')
                 cmd.append(kwargs[key])
         elif key == 'comment':