Issue #2689 has been updated by James Turnbull. Status changed from Unreviewed to Needs design decision Assigned to set to Markus Roberts
---------------------------------------- Bug #2689: Running puppet as non-root => getting rid of all those ownership warnings http://projects.reductivelabs.com/issues/2689 Author: Brian Ferris Status: Needs design decision Priority: Normal Assigned to: Markus Roberts Category: file Target version: Affected version: 0.25.1rc1 Keywords: Branch: I'm using puppet to manage configs on machines where I don't have root access. Whenever I use a File resource where the source is a puppet:// resource, I get tons of warnings when I run puppet that look like: @Cannot manage ownership unless running as root@ True enough, I'm not running as root. However, these warnings seem to appear whether I omit the owner parameter or if I include the owner parameter (set to my current user account). I'm using something like: file { "${my_target_directory}": ensure => directory, recurse => true, source => "puppet://$puppet_server/path/to/source/dir" } Adding "owner => myUserId" doesn't help. Also, I've confirmed that file owner on the puppetmaster server already matches my user account. These warnings tend to pile up and make it difficult to see more informative messages from puppet about what has actually changed when updating. As a solution, I propose modifying the logic in @lib/puppet/type/file/owner.rb@, specifically the @insync@ message. I propose moving the check for root access AFTER the check for ownership has concluded that something needs to be changed. This has the effect of only warning you about root access if an ownership change actually needs to be made. See the following code for an example, and also the supplied patch. <pre> def insync?(current) if @should == nil return true end # @should.each do |value| if value =~ /^\d+$/ uid = Integer(value) elsif value.is_a?(String) fail "Could not find user %s" % value unless uid = uid(value) else uid = value end return true if uid == current end unless Puppet::Util::SUIDManager.uid == 0 warning "Cannot manage ownership unless running as root" return true end return false end </pre> Note that I had to add a nil check as well, since I found some cases where the @owner@ property was applied even when I didn't specifically mention @owner@ in my recipe. -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://reductivelabs.com/redmine/my/account --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/puppet-bugs?hl=en -~----------~----~----~----~------~----~------~--~---
