Issue #10914 has been updated by Josh Cooper.
Status changed from Unreviewed to Investigating
Hi Peter,
Thanks for filing this detailed report. I'm not able to reproduce the error,
but I did confirm that `obj.group` is always nil when saving the CA public key
(ca_pub.pem). The reason is because the `Puppet::SSL::Key::File` terminus uses
the owner and group values from the :publickeydir setting when writing the
public key.
<pre>
Puppet.settings.writesub(:publickeydir, public_key_path(request.key)) { |f|
f.print request.instance.content.public_key.to_pem }
</pre>
And `:publickeydir` only defines an owner:
<pre>
:publickeydir => {
:default => "$ssldir/public_keys",
:owner => "service",
:desc => "The public key directory."
},
</pre>
But I think the bug here is that the terminus should be using the `:capub`
setting as the `defaults` parameter in the call to `Puppet.settings.writesub`
<pre>
Puppet.settings.writesub(:capub, public_key_path(...))
</pre>
Where `:capub` has both owner and group and not to mention is the setting that
matches the file we're trying to write:
<pre>
:capub => { :default => "$cadir/ca_pub.pem",
:owner => "service",
:group => "service",
:desc => "The CA public key."
},
</pre>
Can you please see if that resolves your issue, and if so, submit a pull
request?
As for why the lack of group causes the error, I'm not sure. It might be
related to your selinux policy or the file mode defaulting to 0640 (since we're
using the mode from the `:publickeydir` setting)
----------------------------------------
Bug #10914: Fail to generate a fresh CA with 2.6.12 (if ssldir not in std.
location)
https://projects.puppetlabs.com/issues/10914
Author: Peter Meier
Status: Investigating
Priority: Normal
Assignee:
Category: SSL
Target version:
Affected Puppet version: 2.6.12
Keywords:
Branch:
Had some problems while installing a fresh puppetmaster with 2.6.12. It failed
to properly generate its CA.
The master got the following config:
<pre>
[main]
# The Puppet log directory.
# The default value is '$vardir/log'.
logdir = /var/log/puppet
autoflush=true
# Where Puppet PID files are kept.
# The default value is '$vardir/run'.
rundir = /var/run/puppet
# Whether plugins should be synced with the central server.
pluginsync = true
[master]
# Puppet Master /var
vardir = /some_path/data/puppet/var
confdir = /some_path/data/puppet/etc
# Puppet Master
certname = dpuppet.example.com
# fix alt dns names bug. Requires puppetmaster >= 2.6.12
dns_alt_names = dpuppet
# Where SSL certificates are for the puppet master kept.
ssldir = /some_path/data/puppet/ssl
# The Puppet log directory.
# The default value is '$vardir/log'.
logdir = /some_path/log/puppet
ssl_client_header = SSL_CLIENT_S_DN
ssl_client_verify_header = SSL_CLIENT_VERIFY
# Puppet Master code directory
manifests = /some_path/data/puppet/environments/$environment/manifests
modulepath = /some_path/data/puppet/environments/$environment/modules
# Report location
reports = http, store
reporturl = http://puppet-report/reports/upload
# use external nodes
node_terminus = exec
external_nodes = /usr/share/puppet-dashboard/bin/external_node
</pre>
A first run resulted in the following problem:
<pre>
# puppet master --no-daemonize --verbose --config
/some_path/data/puppet/etc/puppet.conf --debug --trace
debug: Failed to load library 'ldap' for feature 'ldap'
debug: Puppet::Type::User::ProviderLdap: feature ldap is missing
debug: Puppet::Type::User::ProviderUser_role_add: file roleadd does not exist
debug: Puppet::Type::User::ProviderDirectoryservice: file /usr/bin/dscl does
not exist
debug: Puppet::Type::User::ProviderPw: file pw does not exist
debug: Puppet::Type::File::ProviderMicrosoft_windows: feature microsoft_windows
is missing
debug: /File[/some_path/data/puppet/ssl]/seluser: Found seluser default
'system_u' for /some_path/data/puppet/ssl
debug: /File[/some_path/data/puppet/ssl]/selrole: Found selrole default
'object_r' for /some_path/data/puppet/ssl
debug: /File[/some_path/data/puppet/ssl]/seltype: Found seltype default
'default_t' for /some_path/data/puppet/ssl
debug: /File[/some_path/data/puppet/ssl]/selrange: Found selrange default 's0'
for /some_path/data/puppet/ssl
debug: /File[/some_path/data/puppet/var/reports]/seluser: Found seluser default
'system_u' for /some_path/data/puppet/var/reports
debug: /File[/some_path/data/puppet/var/reports]/selrole: Found selrole default
'object_r' for /some_path/data/puppet/var/reports
debug: /File[/some_path/data/puppet/var/reports]/seltype: Found seltype default
'default_t' for /some_path/data/puppet/var/reports
debug: /File[/some_path/data/puppet/var/reports]/selrange: Found selrange
default 's0' for /some_path/data/puppet/var/reports
debug: /File[/some_path/data/puppet/var/rrd]/seluser: Found seluser default
'system_u' for /some_path/data/puppet/var/rrd
debug: /File[/some_path/data/puppet/var/rrd]/selrole: Found selrole default
'object_r' for /some_path/data/puppet/var/rrd
debug: /File[/some_path/data/puppet/var/rrd]/seltype: Found seltype default
'default_t' for /some_path/data/puppet/var/rrd
debug: /File[/some_path/data/puppet/var/rrd]/selrange: Found selrange default
's0' for /some_path/data/puppet/var/rrd
debug: /File[/some_path/log/puppet/puppetmaster.log]/seluser: Found seluser
default 'system_u' for /some_path/log/puppet/puppetmaster.log
debug: /File[/some_path/log/puppet/puppetmaster.log]/selrole: Found selrole
default 'object_r' for /some_path/log/puppet/puppetmaster.log
debug: /File[/some_path/log/puppet/puppetmaster.log]/seltype: Found seltype
default 'default_t' for /some_path/log/puppet/puppetmaster.log
debug: /File[/some_path/log/puppet/puppetmaster.log]/selrange: Found selrange
default 's0' for /some_path/log/puppet/puppetmaster.log
debug: /File[/some_path/log/puppet]/seluser: Found seluser default 'system_u'
for /some_path/log/puppet
debug: /File[/some_path/log/puppet]/selrole: Found selrole default 'object_r'
for /some_path/log/puppet
debug: /File[/some_path/log/puppet]/seltype: Found seltype default 'default_t'
for /some_path/log/puppet
debug: /File[/some_path/log/puppet]/selrange: Found selrange default 's0' for
/some_path/log/puppet
debug: /File[/some_path/data/puppet/var/lib]/seluser: Found seluser default
'system_u' for /some_path/data/puppet/var/lib
debug: /File[/some_path/data/puppet/var/lib]/selrole: Found selrole default
'object_r' for /some_path/data/puppet/var/lib
debug: /File[/some_path/data/puppet/var/lib]/seltype: Found seltype default
'default_t' for /some_path/data/puppet/var/lib
debug: /File[/some_path/data/puppet/var/lib]/selrange: Found selrange default
's0' for /some_path/data/puppet/var/lib
debug: /File[/some_path/data/puppet/ssl/certificate_requests]/seluser: Found
seluser default 'system_u' for /some_path/data/puppet/ssl/certificate_requests
debug: /File[/some_path/data/puppet/ssl/certificate_requests]/selrole: Found
selrole default 'object_r' for /some_path/data/puppet/ssl/certificate_requests
debug: /File[/some_path/data/puppet/ssl/certificate_requests]/seltype: Found
seltype default 'default_t' for /some_path/data/puppet/ssl/certificate_requests
debug: /File[/some_path/data/puppet/ssl/certificate_requests]/selrange: Found
selrange default 's0' for /some_path/data/puppet/ssl/certificate_requests
debug: /File[/var/run/puppet]/seluser: Found seluser default 'system_u' for
/var/run/puppet
debug: /File[/var/run/puppet]/selrole: Found selrole default 'object_r' for
/var/run/puppet
debug: /File[/var/run/puppet]/seltype: Found seltype default 'var_run_t' for
/var/run/puppet
debug: /File[/var/run/puppet]/selrange: Found selrange default 's0' for
/var/run/puppet
debug: /File[/some_path/log/puppet/masterhttp.log]/seluser: Found seluser
default 'system_u' for /some_path/log/puppet/masterhttp.log
debug: /File[/some_path/log/puppet/masterhttp.log]/selrole: Found selrole
default 'object_r' for /some_path/log/puppet/masterhttp.log
debug: /File[/some_path/log/puppet/masterhttp.log]/seltype: Found seltype
default 'default_t' for /some_path/log/puppet/masterhttp.log
debug: /File[/some_path/log/puppet/masterhttp.log]/selrange: Found selrange
default 's0' for /some_path/log/puppet/masterhttp.log
debug: /File[/some_path/data/puppet/ssl/public_keys]/seluser: Found seluser
default 'system_u' for /some_path/data/puppet/ssl/public_keys
debug: /File[/some_path/data/puppet/ssl/public_keys]/selrole: Found selrole
default 'object_r' for /some_path/data/puppet/ssl/public_keys
debug: /File[/some_path/data/puppet/ssl/public_keys]/seltype: Found seltype
default 'default_t' for /some_path/data/puppet/ssl/public_keys
debug: /File[/some_path/data/puppet/ssl/public_keys]/selrange: Found selrange
default 's0' for /some_path/data/puppet/ssl/public_keys
debug: /File[/some_path/data/puppet/etc]/seluser: Found seluser default
'system_u' for /some_path/data/puppet/etc
debug: /File[/some_path/data/puppet/etc]/selrole: Found selrole default
'object_r' for /some_path/data/puppet/etc
debug: /File[/some_path/data/puppet/etc]/seltype: Found seltype default
'default_t' for /some_path/data/puppet/etc
debug: /File[/some_path/data/puppet/etc]/selrange: Found selrange default 's0'
for /some_path/data/puppet/etc
debug: /File[/some_path/data/puppet/ssl/private]/seluser: Found seluser default
'system_u' for /some_path/data/puppet/ssl/private
debug: /File[/some_path/data/puppet/ssl/private]/selrole: Found selrole default
'object_r' for /some_path/data/puppet/ssl/private
debug: /File[/some_path/data/puppet/ssl/private]/seltype: Found seltype default
'default_t' for /some_path/data/puppet/ssl/private
debug: /File[/some_path/data/puppet/ssl/private]/selrange: Found selrange
default 's0' for /some_path/data/puppet/ssl/private
debug: /File[/some_path/data/puppet/etc/auth.conf]/seluser: Found seluser
default 'system_u' for /some_path/data/puppet/etc/auth.conf
debug: /File[/some_path/data/puppet/etc/auth.conf]/selrole: Found selrole
default 'object_r' for /some_path/data/puppet/etc/auth.conf
debug: /File[/some_path/data/puppet/etc/auth.conf]/seltype: Found seltype
default 'default_t' for /some_path/data/puppet/etc/auth.conf
debug: /File[/some_path/data/puppet/etc/auth.conf]/selrange: Found selrange
default 's0' for /some_path/data/puppet/etc/auth.conf
debug: /File[/some_path/data/puppet/var/facts]/seluser: Found seluser default
'system_u' for /some_path/data/puppet/var/facts
debug: /File[/some_path/data/puppet/var/facts]/selrole: Found selrole default
'object_r' for /some_path/data/puppet/var/facts
debug: /File[/some_path/data/puppet/var/facts]/seltype: Found seltype default
'default_t' for /some_path/data/puppet/var/facts
debug: /File[/some_path/data/puppet/var/facts]/selrange: Found selrange default
's0' for /some_path/data/puppet/var/facts
debug: /File[/some_path/data/puppet/etc/puppet.conf]/seluser: Found seluser
default 'system_u' for /some_path/data/puppet/etc/puppet.conf
debug: /File[/some_path/data/puppet/etc/puppet.conf]/selrole: Found selrole
default 'object_r' for /some_path/data/puppet/etc/puppet.conf
debug: /File[/some_path/data/puppet/etc/puppet.conf]/seltype: Found seltype
default 'default_t' for /some_path/data/puppet/etc/puppet.conf
debug: /File[/some_path/data/puppet/etc/puppet.conf]/selrange: Found selrange
default 's0' for /some_path/data/puppet/etc/puppet.conf
debug: /File[/some_path/data/puppet/var/server_data]/seluser: Found seluser
default 'system_u' for /some_path/data/puppet/var/server_data
debug: /File[/some_path/data/puppet/var/server_data]/selrole: Found selrole
default 'object_r' for /some_path/data/puppet/var/server_data
debug: /File[/some_path/data/puppet/var/server_data]/seltype: Found seltype
default 'default_t' for /some_path/data/puppet/var/server_data
debug: /File[/some_path/data/puppet/var/server_data]/selrange: Found selrange
default 's0' for /some_path/data/puppet/var/server_data
debug: /File[/some_path/data/puppet/ssl/private_keys]/seluser: Found seluser
default 'system_u' for /some_path/data/puppet/ssl/private_keys
debug: /File[/some_path/data/puppet/ssl/private_keys]/selrole: Found selrole
default 'object_r' for /some_path/data/puppet/ssl/private_keys
debug: /File[/some_path/data/puppet/ssl/private_keys]/seltype: Found seltype
default 'default_t' for /some_path/data/puppet/ssl/private_keys
debug: /File[/some_path/data/puppet/ssl/private_keys]/selrange: Found selrange
default 's0' for /some_path/data/puppet/ssl/private_keys
debug: /File[/some_path/data/puppet/ssl/certs]/seluser: Found seluser default
'system_u' for /some_path/data/puppet/ssl/certs
debug: /File[/some_path/data/puppet/ssl/certs]/selrole: Found selrole default
'object_r' for /some_path/data/puppet/ssl/certs
debug: /File[/some_path/data/puppet/ssl/certs]/seltype: Found seltype default
'default_t' for /some_path/data/puppet/ssl/certs
debug: /File[/some_path/data/puppet/ssl/certs]/selrange: Found selrange default
's0' for /some_path/data/puppet/ssl/certs
debug: /File[/some_path/data/puppet/var]/seluser: Found seluser default
'system_u' for /some_path/data/puppet/var
debug: /File[/some_path/data/puppet/var]/selrole: Found selrole default
'object_r' for /some_path/data/puppet/var
debug: /File[/some_path/data/puppet/var]/seltype: Found seltype default
'default_t' for /some_path/data/puppet/var
debug: /File[/some_path/data/puppet/var]/selrange: Found selrange default 's0'
for /some_path/data/puppet/var
debug: /File[/some_path/data/puppet/etc/manifests]/seluser: Found seluser
default 'system_u' for /some_path/data/puppet/etc/manifests
debug: /File[/some_path/data/puppet/etc/manifests]/selrole: Found selrole
default 'object_r' for /some_path/data/puppet/etc/manifests
debug: /File[/some_path/data/puppet/etc/manifests]/seltype: Found seltype
default 'default_t' for /some_path/data/puppet/etc/manifests
debug: /File[/some_path/data/puppet/etc/manifests]/selrange: Found selrange
default 's0' for /some_path/data/puppet/etc/manifests
debug: /File[/some_path/data/puppet/var/yaml]/seluser: Found seluser default
'system_u' for /some_path/data/puppet/var/yaml
debug: /File[/some_path/data/puppet/var/yaml]/selrole: Found selrole default
'object_r' for /some_path/data/puppet/var/yaml
debug: /File[/some_path/data/puppet/var/yaml]/seltype: Found seltype default
'default_t' for /some_path/data/puppet/var/yaml
debug: /File[/some_path/data/puppet/var/yaml]/selrange: Found selrange default
's0' for /some_path/data/puppet/var/yaml
debug: /File[/some_path/data/puppet/var/state]/seluser: Found seluser default
'system_u' for /some_path/data/puppet/var/state
debug: /File[/some_path/data/puppet/var/state]/selrole: Found selrole default
'object_r' for /some_path/data/puppet/var/state
debug: /File[/some_path/data/puppet/var/state]/seltype: Found seltype default
'default_t' for /some_path/data/puppet/var/state
debug: /File[/some_path/data/puppet/var/state]/selrange: Found selrange default
's0' for /some_path/data/puppet/var/state
debug: /File[/some_path/data/puppet/var/bucket]/seluser: Found seluser default
'system_u' for /some_path/data/puppet/var/bucket
debug: /File[/some_path/data/puppet/var/bucket]/selrole: Found selrole default
'object_r' for /some_path/data/puppet/var/bucket
debug: /File[/some_path/data/puppet/var/bucket]/seltype: Found seltype default
'default_t' for /some_path/data/puppet/var/bucket
debug: /File[/some_path/data/puppet/var/bucket]/selrange: Found selrange
default 's0' for /some_path/data/puppet/var/bucket
debug: /File[/some_path/data/puppet/etc/puppet.conf]: Autorequiring
File[/some_path/data/puppet/etc]
debug: /File[/some_path/log/puppet/masterhttp.log]: Autorequiring
File[/some_path/log/puppet]
debug: /File[/some_path/data/puppet/etc/auth.conf]: Autorequiring
File[/some_path/data/puppet/etc]
debug: /File[/some_path/data/puppet/var/facts]: Autorequiring
File[/some_path/data/puppet/var]
debug: /File[/some_path/data/puppet/var/reports]: Autorequiring
File[/some_path/data/puppet/var]
debug: /File[/some_path/log/puppet/puppetmaster.log]: Autorequiring
File[/some_path/log/puppet]
debug: /File[/some_path/data/puppet/ssl/certificate_requests]: Autorequiring
File[/some_path/data/puppet/ssl]
debug: /File[/some_path/data/puppet/ssl/public_keys]: Autorequiring
File[/some_path/data/puppet/ssl]
debug: /File[/some_path/data/puppet/var/rrd]: Autorequiring
File[/some_path/data/puppet/var]
debug: /File[/some_path/data/puppet/ssl/certs]: Autorequiring
File[/some_path/data/puppet/ssl]
debug: /File[/some_path/data/puppet/var/state]: Autorequiring
File[/some_path/data/puppet/var]
debug: /File[/some_path/data/puppet/var/yaml]: Autorequiring
File[/some_path/data/puppet/var]
debug: /File[/some_path/data/puppet/var/bucket]: Autorequiring
File[/some_path/data/puppet/var]
debug: /File[/some_path/data/puppet/var/lib]: Autorequiring
File[/some_path/data/puppet/var]
debug: /File[/some_path/data/puppet/ssl/private]: Autorequiring
File[/some_path/data/puppet/ssl]
debug: /File[/some_path/data/puppet/var/server_data]: Autorequiring
File[/some_path/data/puppet/var]
debug: /File[/some_path/data/puppet/etc/manifests]: Autorequiring
File[/some_path/data/puppet/etc]
debug: /File[/some_path/data/puppet/ssl/private_keys]: Autorequiring
File[/some_path/data/puppet/ssl]
debug: /File[/some_path/data/puppet/ssl]/ensure: created
debug: /File[/some_path/data/puppet/ssl/private_keys]/ensure: created
debug: /File[/some_path/data/puppet/ssl/private]/ensure: created
debug: /File[/some_path/data/puppet/ssl/certs]/ensure: created
debug: /File[/some_path/data/puppet/ssl/certificate_requests]/ensure: created
debug: /File[/some_path/data/puppet/ssl/public_keys]/ensure: created
debug: Finishing transaction 23935720502620
debug: /File[/some_path/data/puppet/ssl/ca/requests]/seluser: Found seluser
default 'system_u' for /some_path/data/puppet/ssl/ca/requests
debug: /File[/some_path/data/puppet/ssl/ca/requests]/selrole: Found selrole
default 'object_r' for /some_path/data/puppet/ssl/ca/requests
debug: /File[/some_path/data/puppet/ssl/ca/requests]/seltype: Found seltype
default 'default_t' for /some_path/data/puppet/ssl/ca/requests
debug: /File[/some_path/data/puppet/ssl/ca/requests]/selrange: Found selrange
default 's0' for /some_path/data/puppet/ssl/ca/requests
debug: /File[/some_path/data/puppet/ssl/ca/private]/seluser: Found seluser
default 'system_u' for /some_path/data/puppet/ssl/ca/private
debug: /File[/some_path/data/puppet/ssl/ca/private]/selrole: Found selrole
default 'object_r' for /some_path/data/puppet/ssl/ca/private
debug: /File[/some_path/data/puppet/ssl/ca/private]/seltype: Found seltype
default 'default_t' for /some_path/data/puppet/ssl/ca/private
debug: /File[/some_path/data/puppet/ssl/ca/private]/selrange: Found selrange
default 's0' for /some_path/data/puppet/ssl/ca/private
debug: /File[/some_path/data/puppet/ssl/ca]/seluser: Found seluser default
'system_u' for /some_path/data/puppet/ssl/ca
debug: /File[/some_path/data/puppet/ssl/ca]/selrole: Found selrole default
'object_r' for /some_path/data/puppet/ssl/ca
debug: /File[/some_path/data/puppet/ssl/ca]/seltype: Found seltype default
'default_t' for /some_path/data/puppet/ssl/ca
debug: /File[/some_path/data/puppet/ssl/ca]/selrange: Found selrange default
's0' for /some_path/data/puppet/ssl/ca
debug: /File[/some_path/data/puppet/etc/autosign.conf]/seluser: Found seluser
default 'system_u' for /some_path/data/puppet/etc/autosign.conf
debug: /File[/some_path/data/puppet/etc/autosign.conf]/selrole: Found selrole
default 'object_r' for /some_path/data/puppet/etc/autosign.conf
debug: /File[/some_path/data/puppet/etc/autosign.conf]/seltype: Found seltype
default 'default_t' for /some_path/data/puppet/etc/autosign.conf
debug: /File[/some_path/data/puppet/etc/autosign.conf]/selrange: Found selrange
default 's0' for /some_path/data/puppet/etc/autosign.conf
debug: /File[/some_path/data/puppet/ssl/ca/signed]/seluser: Found seluser
default 'system_u' for /some_path/data/puppet/ssl/ca/signed
debug: /File[/some_path/data/puppet/ssl/ca/signed]/selrole: Found selrole
default 'object_r' for /some_path/data/puppet/ssl/ca/signed
debug: /File[/some_path/data/puppet/ssl/ca/signed]/seltype: Found seltype
default 'default_t' for /some_path/data/puppet/ssl/ca/signed
debug: /File[/some_path/data/puppet/ssl/ca/signed]/selrange: Found selrange
default 's0' for /some_path/data/puppet/ssl/ca/signed
debug: /File[/some_path/data/puppet/ssl/ca/requests]: Autorequiring
File[/some_path/data/puppet/ssl/ca]
debug: /File[/some_path/data/puppet/ssl/ca/signed]: Autorequiring
File[/some_path/data/puppet/ssl/ca]
debug: /File[/some_path/data/puppet/ssl/ca/private]: Autorequiring
File[/some_path/data/puppet/ssl/ca]
debug: /File[/some_path/data/puppet/ssl/ca]/ensure: created
debug: /File[/some_path/data/puppet/ssl/ca/private]/ensure: created
debug: /File[/some_path/data/puppet/ssl/ca/signed]/ensure: created
debug: /File[/some_path/data/puppet/ssl/ca/requests]/ensure: created
debug: Finishing transaction 23935721564120
info: Creating a new SSL key for ca
/usr/lib/ruby/site_ruby/1.8/puppet/indirector/key/file.rb:39:in `save'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector/indirection.rb:264:in `save'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector.rb:68:in `save'
/usr/lib/ruby/site_ruby/1.8/puppet/ssl/host.rb:129:in `generate_key'
/usr/lib/ruby/site_ruby/1.8/puppet/ssl/host.rb:171:in `certificate'
/usr/lib/ruby/site_ruby/1.8/puppet/ssl/certificate_authority.rb:242:in `setup'
/usr/lib/ruby/site_ruby/1.8/puppet/ssl/certificate_authority.rb:166:in
`initialize'
/usr/lib/ruby/site_ruby/1.8/puppet/ssl/certificate_authority.rb:48:in `new'
/usr/lib/ruby/site_ruby/1.8/puppet/ssl/certificate_authority.rb:48:in
`init_singleton_instance'
/usr/lib/ruby/site_ruby/1.8/puppet/util/cacher.rb:106:in `send'
/usr/lib/ruby/site_ruby/1.8/puppet/util/cacher.rb:106:in `cached_value'
/usr/lib/ruby/1.8/monitor.rb:238:in `synchronize'
/usr/lib/ruby/site_ruby/1.8/puppet/util/cacher.rb:98:in `cached_value'
/usr/lib/ruby/site_ruby/1.8/puppet/util/cacher.rb:48:in `singleton_instance'
/usr/lib/ruby/site_ruby/1.8/puppet/ssl/certificate_authority.rb:62:in `instance'
/usr/lib/ruby/site_ruby/1.8/puppet/application/master.rb:148:in `setup'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:304:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:420:in `hook'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:304:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:411:in `exit_on_fail'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:304:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/util/command_line.rb:62:in `execute'
/usr/bin/puppet:4
Could not prepare for execution: Could not write ca: Permission denied -
/some_path/data/puppet/ssl/ca/ca_pub.pem
</pre>
Also subsequent runs did not succeed in generating the CA.
Note: Parts of the CA were generated and the puppet user really has access
rights in th ca directory, as puppet itself generated the directory. So the
error is/was quite misleading.
I tracked it down that the group with which puppet tried to generate the file,
was `nil` and the following patch helped:
<pre>
# diff -Naur util/settings.rb.old util/settings.rb
--- util/settings.rb.old 2011-11-17 16:13:15.000000000 +0100
+++ util/settings.rb 2011-11-17 16:08:56.000000000 +0100
@@ -720,7 +720,7 @@
obj = get_config_file_default(default)
chown = nil
if Puppet.features.root?
- chown = [obj.owner, obj.group]
+ chown = [obj.owner, obj.group||'puppet']
else
chown = [nil, nil]
end
</pre>
I'm not exactly sure whether this is the proper fix, nor if I have done anything
The only issue I can see is that the CA is not at the std. location. However,
as I didn't try to do it with the normal location, I can't tell you if this is
really the problem. Maybe we have a general problem in generating a fresh CA
with 2.6.12.
I remember being able to bootstrap a fresh CA on a CentOS 5.7 with 2.6.11 and
ruby 1.8.7. But this is a RHEL 5.7 with ruby 1.8.5.
If you need any further information, please let me know.
--
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.