Issue #4204 has been updated by Markus Roberts.

Subject changed from Directory creation in $vardir not quite right to Ownership 
issues when master & client share $vardir
Status changed from Unreviewed to Accepted

To reproduce the problem, the following appear to be necessary: 

1. You need to be running a real OS *nix, not OS X or MS Win
2. You need to be running a client and master on the same box
3. They need to share their vardir/confdir
4. The master needs to be started first, as root
5. The client needs to connect to the master

It's possible that some of these could be relaxed (e.g., an external connection 
may suffice to trigger the problem) but at present these are the factors I need 
to replicate.

It appears to be a confusion between the master and client as to which parts of 
the structure should be owned by root vs. the service users at various points 
in time, possibly tied either to the recursive directory creation fix or the 
create-as-the-owning-user fix.

----------------------------------------
Bug #4204: Ownership issues when master & client share $vardir
http://projects.puppetlabs.com/issues/4204

Author: James Turnbull
Status: Accepted
Priority: Normal
Assigned to: 
Category: 
Target version: 
Affected version: 0.25.5
Keywords: 
Branch: 


If I delete /var/lib/puppet (my $vardir) and then rerun the master and trigger 
an agent run I get:'

<pre>

info: //pelin.lovedthanlost.net/Puppet: Caching catalog for 
pelin.lovedthanlost.net
debug: //pelin.lovedthanlost.net/Puppet: Creating default schedules
info: //pelin.lovedthanlost.net/Puppet: Applying configuration version 
'1278735992'
/usr/lib/ruby/site_ruby/1.8/puppet/provider/file/posix.rb:94:in `sync'
/usr/lib/ruby/site_ruby/1.8/puppet/type/file/owner.rb:48:in `sync'
/usr/lib/ruby/site_ruby/1.8/puppet/type/file.rb:781:in `property_fix'
/usr/lib/ruby/site_ruby/1.8/puppet/type/file.rb:775:in `each'
/usr/lib/ruby/site_ruby/1.8/puppet/type/file.rb:775:in `property_fix'
/usr/lib/ruby/site_ruby/1.8/puppet/type/file/ensure.rb:74:in `send'
/usr/lib/ruby/site_ruby/1.8/puppet/type/file/ensure.rb:74:in `set_directory'
/usr/lib/ruby/site_ruby/1.8/puppet/property.rb:81:in `send'
/usr/lib/ruby/site_ruby/1.8/puppet/property.rb:81:in `call_valuemethod'
/usr/lib/ruby/site_ruby/1.8/puppet/property.rb:241:in `set'
/usr/lib/ruby/site_ruby/1.8/puppet/property.rb:295:in `sync'
/usr/lib/ruby/site_ruby/1.8/puppet/type/file/ensure.rb:164:in `sync'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction/change.rb:34:in `apply'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction/resource_harness.rb:21:in 
`apply_changes'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction/resource_harness.rb:20:in `each'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction/resource_harness.rb:20:in 
`apply_changes'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction/resource_harness.rb:90:in 
`evaluate'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:49:in `apply'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:114:in 
`eval_children_and_apply_resource'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:92:in `eval_resource'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:143:in `evaluate'
/usr/lib/ruby/site_ruby/1.8/puppet/util.rb:414:in `thinmark'
/usr/lib/ruby/1.8/benchmark.rb:308:in `realtime'
/usr/lib/ruby/site_ruby/1.8/puppet/util.rb:413:in `thinmark'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:142:in `evaluate'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:135:in `each'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:135:in `evaluate'
/usr/lib/ruby/site_ruby/1.8/puppet/resource/catalog.rb:144:in `apply'
/usr/lib/ruby/site_ruby/1.8/puppet/util/settings.rb:640:in `use'
/usr/lib/ruby/site_ruby/1.8/puppet/util/settings.rb:162:in `without_noop'
/usr/lib/ruby/site_ruby/1.8/puppet/util/settings.rb:638:in `use'
/usr/lib/ruby/1.8/sync.rb:230:in `synchronize'
/usr/lib/ruby/site_ruby/1.8/puppet/util/settings.rb:622:in `use'
/usr/lib/ruby/site_ruby/1.8/puppet/reports/store.rb:26:in `mkclientdir'
/usr/lib/ruby/site_ruby/1.8/puppet/reports/store.rb:36:in `process'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector/report/processor.rb:32:in 
`process'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector/report/processor.rb:25:in `each'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector/report/processor.rb:25:in 
`process'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector/report/processor.rb:14:in `save'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector/indirection.rb:253:in `save'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector.rb:64:in `save'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:168:in `save_object'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:143:in `do_save'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:68:in `send'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:68:in `process'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick/rest.rb:23:in `service'
/usr/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
/usr/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:45:in `listen'
/usr/lib/ruby/1.8/webrick/server.rb:173:in `call'
/usr/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
/usr/lib/ruby/1.8/webrick/server.rb:162:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
/usr/lib/ruby/1.8/webrick/server.rb:95:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:92:in `each'
/usr/lib/ruby/1.8/webrick/server.rb:92:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:23:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:82:in `start'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:42:in `listen'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:41:in `initialize'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:41:in `new'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:41:in `listen'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:38:in `synchronize'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:38:in `listen'
/usr/lib/ruby/site_ruby/1.8/puppet/network/server.rb:127:in `listen'
/usr/lib/ruby/site_ruby/1.8/puppet/network/server.rb:142:in `start'
/usr/lib/ruby/site_ruby/1.8/puppet/daemon.rb:125:in `start'
/usr/lib/ruby/site_ruby/1.8/puppet/application/master.rb:114:in `main'
/usr/lib/ruby/site_ruby/1.8/puppet/application/master.rb:46:in `run_command'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:301:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:398:in `exit_on_fail'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:301:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/util/command_line.rb:55:in `execute'
/usr/bin/puppet:4
err: /File[/var/lib/puppet/reports/pelin.lovedthanlost.net]/ensure: change from 
absent to directory failed: Failed to set owner to '0': Operation not permitted 
- /var/lib/puppet/reports/pelin.lovedthanlost.net
debug: Finishing transaction -615900348
/usr/lib/ruby/site_ruby/1.8/puppet/util/settings.rb:644:in `use'
/usr/lib/ruby/site_ruby/1.8/puppet/resource/catalog.rb:157:in `apply'
/usr/lib/ruby/site_ruby/1.8/puppet/util/settings.rb:640:in `use'
/usr/lib/ruby/site_ruby/1.8/puppet/util/settings.rb:162:in `without_noop'
/usr/lib/ruby/site_ruby/1.8/puppet/util/settings.rb:638:in `use'
/usr/lib/ruby/1.8/sync.rb:230:in `synchronize'
/usr/lib/ruby/site_ruby/1.8/puppet/util/settings.rb:622:in `use'
/usr/lib/ruby/site_ruby/1.8/puppet/reports/store.rb:26:in `mkclientdir'
/usr/lib/ruby/site_ruby/1.8/puppet/reports/store.rb:36:in `process'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector/report/processor.rb:32:in 
`process'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector/report/processor.rb:25:in `each'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector/report/processor.rb:25:in 
`process'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector/report/processor.rb:14:in `save'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector/indirection.rb:253:in `save'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector.rb:64:in `save'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:168:in `save_object'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:143:in `do_save'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:68:in `send'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:68:in `process'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick/rest.rb:23:in `service'
/usr/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
/usr/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:45:in `listen'
/usr/lib/ruby/1.8/webrick/server.rb:173:in `call'
/usr/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
/usr/lib/ruby/1.8/webrick/server.rb:162:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
/usr/lib/ruby/1.8/webrick/server.rb:95:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:92:in `each'
/usr/lib/ruby/1.8/webrick/server.rb:92:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:23:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:82:in `start'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:42:in `listen'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:41:in `initialize'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:41:in `new'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:41:in `listen'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:38:in `synchronize'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:38:in `listen'
/usr/lib/ruby/site_ruby/1.8/puppet/network/server.rb:127:in `listen'
/usr/lib/ruby/site_ruby/1.8/puppet/network/server.rb:142:in `start'
/usr/lib/ruby/site_ruby/1.8/puppet/daemon.rb:125:in `start'
/usr/lib/ruby/site_ruby/1.8/puppet/application/master.rb:114:in `main'
/usr/lib/ruby/site_ruby/1.8/puppet/application/master.rb:46:in `run_command'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:301:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:398:in `exit_on_fail'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:301:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/util/command_line.rb:55:in `execute'
/usr/bin/puppet:4
err: Report store failed: Got 1 failure(s) while initializing: change from 
absent to directory failed: Failed to set owner to '0': Operation not permitted 
- /var/lib/puppet/reports/pelin.lovedthanlost.net
</pre>


-- 
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://projects.puppetlabs.com/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.

Reply via email to