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.
