]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/accounts/recipes/default.rb
Inherit manage_home attribute for accounts properly
[chef.git] / cookbooks / accounts / recipes / default.rb
index bdb01eb9e0e1b259515cb1fdbd226728cd314f56..c6424b3edf750269201e9439cdc6584310ed5d53 100644 (file)
@@ -31,7 +31,7 @@ search(:accounts, "*:*").each do |account|
   if details[:status]
     group_members = details[:members] || account["members"] || []
     user_home = details[:home] || account["home"] || "#{node[:accounts][:home]}/#{name}"
-    manage_home = details[:manage_home] || account["manage_home"] || node[:accounts][:manage_home]
+    manage_user_home = details.fetch(:manage_home, account.fetch("manage_home", node[:accounts][:manage_home]))
 
     group_members = group_members.collect(&:to_s).sort
 
@@ -55,7 +55,7 @@ search(:accounts, "*:*").each do |account|
       comment account["comment"] if account["comment"]
       home user_home
       shell user_shell
-      supports :manage_home => manage_home
+      manage_home manage_user_home
     end
 
     remote_directory "/home/#{name}" do
@@ -63,10 +63,10 @@ search(:accounts, "*:*").each do |account|
       source name.to_s
       owner name.to_s
       group name.to_s
-      mode 0755
+      mode 0o755
       files_owner name.to_s
       files_group name.to_s
-      files_mode 0644
+      files_mode 0o644
       only_if do
         begin
           cookbook = run_context.cookbook_collection[cookbook_name]
@@ -78,9 +78,7 @@ search(:accounts, "*:*").each do |account|
       end
     end
 
-    if details[:status] == "administrator"
-      administrators.push(name.to_s)
-    end
+    administrators.push(name.to_s) if details[:status] == "administrator"
   else
     user name.to_s do
       action :remove