From 80bc871de7a6d7bbd9775ba611b39d26157032ed Mon Sep 17 00:00:00 2001 From: Markus Winter Date: Sat, 12 Mar 2016 15:41:52 +0100 Subject: fix for https://github.com/chef/chef/issues/4689 rework the set_members method so duplicates are avoided --- lib/chef/provider/group/suse.rb | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'lib') diff --git a/lib/chef/provider/group/suse.rb b/lib/chef/provider/group/suse.rb index f6f4fa1e11..710d9020c9 100644 --- a/lib/chef/provider/group/suse.rb +++ b/lib/chef/provider/group/suse.rb @@ -39,12 +39,14 @@ class Chef end def set_members(members) - unless @current_resource.members.empty? - shell_out!("groupmod -R #{@current_resource.members.join(',')} #{@new_resource.group_name}") + to_delete = @current_resource.members - members + to_delete.each do |member| + remove_member(member) end - unless members.empty? - shell_out!("groupmod -A #{members.join(',')} #{@new_resource.group_name}") + to_add = members - @current_resource.members + to_add.each do |member| + add_member(member) end end -- cgit v1.2.1