summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Tanner <tanner.jc@gmail.com>2013-11-25 14:56:46 -0500
committerJames Tanner <tanner.jc@gmail.com>2013-11-25 14:56:46 -0500
commitd187066339aeab92ea4693bdb847e1e4589da427 (patch)
treead81638cd2d23677e3cd27043a37e91e5c5ea5ca
parentd308aa584a9503e8f4ea187db5454e71968131b2 (diff)
downloadansible-d187066339aeab92ea4693bdb847e1e4589da427.tar.gz
Fixes #5010 Add user to all defined supplementary groups
-rw-r--r--library/system/user6
1 files changed, 3 insertions, 3 deletions
diff --git a/library/system/user b/library/system/user
index cb6da01d8d..4d1699e4ee 100644
--- a/library/system/user
+++ b/library/system/user
@@ -361,7 +361,7 @@ class User(object):
if current_groups and not self.append:
groups_need_mod = True
else:
- groups = self.get_groups_set()
+ groups = self.get_groups_set(remove_existing=False)
group_diff = set(current_groups).symmetric_difference(groups)
if group_diff:
@@ -429,7 +429,7 @@ class User(object):
else:
return list(grp.getgrnam(group))
- def get_groups_set(self):
+ def get_groups_set(self, remove_existing=True):
if self.groups is None:
return None
info = self.user_info()
@@ -437,7 +437,7 @@ class User(object):
for g in set(groups):
if not self.group_exists(g):
self.module.fail_json(msg="Group %s does not exist" % (g))
- if info and self.group_info(g)[2] == info[3]:
+ if info and remove_existing and self.group_info(g)[2] == info[3]:
groups.remove(g)
return groups