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.

Reply via email to