diff options
author | Tim Smith <tsmith@chef.io> | 2019-02-08 09:21:16 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-08 09:21:16 -0800 |
commit | 0e76fba594f0d65e5a31a03a7ea0d52d2a4c9b5f (patch) | |
tree | f0f2461c3a9c765b81d659a88a4206f0c58f0142 /lib | |
parent | 1dd56e94f267e8a156aa617f243516a22113b41e (diff) | |
parent | aaa66a70989777b1b86a50b4ed6e2c98e9b93292 (diff) | |
download | chef-0e76fba594f0d65e5a31a03a7ea0d52d2a4c9b5f.tar.gz |
Merge pull request #8226 from chef/jjustice6-tweak_solaris_usermod
Alter how we set set group members in solaris / unify group testing
Diffstat (limited to 'lib')
-rw-r--r-- | lib/chef/provider/group/solaris.rb | 20 |
1 files changed, 4 insertions, 16 deletions
diff --git a/lib/chef/provider/group/solaris.rb b/lib/chef/provider/group/solaris.rb index f5df203b78..4d913fba30 100644 --- a/lib/chef/provider/group/solaris.rb +++ b/lib/chef/provider/group/solaris.rb @@ -35,28 +35,16 @@ class Chef super requirements.assert(:all_actions) do |a| - a.assertion { ::File.exist?("/usr/sbin/usermod") } - a.failure_message Chef::Exceptions::Group, "Could not find binary /usr/sbin/usermod for #{new_resource}" + a.assertion { ::File.exist?("/usr/sbin/usermod") && ::File.exist?("/usr/sbin/groupmod") } + a.failure_message Chef::Exceptions::Group, "Could not find binary /usr/sbin/usermod or /usr/sbin/groupmod for #{new_resource}" # No whyrun alternative: this component should be available in the base install of any given system that uses it end - - requirements.assert(:modify, :manage) do |a| - a.assertion { (new_resource.members.empty? && new_resource.excluded_members.empty?) || new_resource.append } - a.failure_message Chef::Exceptions::Group, "setting group members directly is not supported by #{self}, must set append true in group" - # No whyrun alternative - this action is simply not supported. - end end def set_members(members) + # Set the group to have exactly the list of members passed to it. unless members.empty? - members.each do |member| - add_member(member) - end - end - unless excluded_members.empty? - excluded_members.each do |excluded_member| - remove_member(excluded_member) - end + shell_out!("groupmod", "-U", members.join(","), new_resource.group_name) end end |