Issue #5858 has been updated by James Turnbull. Assignee set to Nigel Kersten
---------------------------------------- Bug #5858: Setup does not "mkdir -p" the rundir https://projects.puppetlabs.com/issues/5858 Author: Brian Gallew Status: Needs design decision Priority: Normal Assignee: Nigel Kersten Category: file Target version: Affected Puppet version: 2.6.3 Keywords: Branch: Title was: require not always observed for directories My manifests include this fragment: <pre> file {["/var/puppet", "/var/lib/puppet", "/var/lib/puppet/facts", ]: ensure => directory, owner => puppet, group => puppet, mode => 0755, require => User["puppet"] } file {"/var/puppet/run": require => File["/var/puppet"], ensure => directory, owner => puppet, group => puppet, mode => 1777, } </pre> None of the other manifests reference /var/puppet/run. However, when a new machine (without a /var/puppet directory) comes online and runs this manifest, I get this: <pre> debug: Failed to load library 'selinux' for feature 'selinux' debug: Failed to load library 'shadow' for feature 'libshadow' debug: Puppet::Type::User::ProviderPw: file pw does not exist debug: Puppet::Type::User::ProviderLdap: true value when expecting false debug: Puppet::Type::User::ProviderUseradd: file chage does not exist debug: Puppet::Type::User::ProviderDirectoryservice: file /usr/bin/dscl does not exist debug: Puppet::Type::File::ProviderMicrosoft_windows: feature microsoft_windows is missing debug: Failed to load library 'ldap' for feature 'ldap' debug: /File[/etc/puppet/puppet.conf]: Autorequiring File[/etc/puppet] debug: /File[/var/lib/puppet/facts]: Autorequiring File[/var/lib/puppet] debug: /File[/var/lib/puppet/state/graphs]: Autorequiring File[/var/lib/puppet/state] debug: /File[/var/lib/puppet/ssl]: Autorequiring File[/var/lib/puppet] debug: /File[/var/lib/puppet/client_yaml]: Autorequiring File[/var/lib/puppet] debug: /File[/var/lib/puppet/client_data]: Autorequiring File[/var/lib/puppet] debug: /File[/var/lib/puppet/ssl/public_keys]: Autorequiring File[/var/lib/puppet/ssl] debug: /File[/var/lib/puppet/state]: Autorequiring File[/var/lib/puppet] debug: /File[/var/lib/puppet/ssl/private_keys]: Autorequiring File[/var/lib/puppet/ssl] debug: /File[/var/lib/puppet/lib]: Autorequiring File[/var/lib/puppet] debug: /File[/var/lib/puppet/ssl/certificate_requests]: Autorequiring File[/var/lib/puppet/ssl] debug: /File[/var/lib/puppet/ssl/certs]: Autorequiring File[/var/lib/puppet/ssl] debug: /File[/var/lib/puppet/ssl/private]: Autorequiring File[/var/lib/puppet/ssl] debug: /File[/var/lib/puppet/clientbucket]: Autorequiring File[/var/lib/puppet] /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/type/file/ensure.rb:64:in `set_directory' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/property.rb:81:in `send' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/property.rb:81:in `call_valuemethod' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/property.rb:241:in `set' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/property.rb:295:in `sync' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/type/file/ensure.rb:164:in `sync' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/transaction/change.rb:34:in `apply' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/transaction/resource_harness.rb:21:in `apply_changes' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/transaction/resource_harness.rb:20:in `each' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/transaction/resource_harness.rb:20:in `apply_changes' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/transaction/resource_harness.rb:90:in `evaluate' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/transaction.rb:49:in `apply' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/transaction.rb:114:in `eval_children_and_apply_resource' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/transaction.rb:92:in `eval_resource' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/transaction.rb:143:in `evaluate' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/util.rb:424:in `thinmark' /opt/webstack/ruby/1.8/lib/ruby/1.8/benchmark.rb:308:in `realtime' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/util.rb:423:in `thinmark' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/transaction.rb:142:in `evaluate' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/transaction.rb:135:in `each' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/transaction.rb:135:in `evaluate' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/resource/catalog.rb:144:in `apply' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/util/settings.rb:632:in `use' /opt/webstack/ruby/1.8/lib/ruby/1.8/sync.rb:229:in `synchronize' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/util/settings.rb:615:in `use' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/application/agent.rb:220:in `setup' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/application.rb:286:in `run' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/application.rb:393:in `exit_on_fail' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/application.rb:286:in `run' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/util/command_line.rb:55:in `execute' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/bin/puppet:4 /var/opt/webstack/ruby/1.8/gem_home/bin/puppet:19:in `load' /var/opt/webstack/ruby/1.8/gem_home/bin/puppet:19 err: /File[/var/puppet/run]/ensure: change from absent to directory failed: Cannot create /var/puppet/run; parent directory /var/puppet does not exist debug: Finishing transaction 74519110 /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/util/settings.rb:636:in `use' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/resource/catalog.rb:157:in `apply' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/util/settings.rb:632:in `use' /opt/webstack/ruby/1.8/lib/ruby/1.8/sync.rb:229:in `synchronize' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/util/settings.rb:615:in `use' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/application/agent.rb:220:in `setup' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/application.rb:286:in `run' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/application.rb:393:in `exit_on_fail' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/application.rb:286:in `run' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/lib/puppet/util/command_line.rb:55:in `execute' /var/opt/webstack/ruby/1.8/gem_home/gems/puppet-2.6.3/bin/puppet:4 /var/opt/webstack/ruby/1.8/gem_home/bin/puppet:19:in `load' /var/opt/webstack/ruby/1.8/gem_home/bin/puppet:19 Could not prepare for execution: Got 1 failure(s) while initializing: change from absent to directory failed: Cannot create /var/puppet/run; parent directory /var/puppet does not exist </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.
