This may be similar to the bug that caused puppetmasterd to get deleted on shutdown via CentOS/Redhat init script.
I decided to create a new LV to store my puppet stuff. This is a whole new project for me so I wanted to think ahead. Once I got the basics working, I shutdown puppetmaster, created the new LV, mounted it on /puppet and then moved the files from /var/lib/puppet to /puppet. I rm'd /var/lib/puppet and create a symlink to /puppet. I started puppetmaster back up and was greeted with a nasty error about CA certificate headers being too long. I wasn't able to find anything that seemed to match the problem exactly.
In the process of verifying permissions and troubleshooting, I realized that /var/lib/puppet was no longer a symlink but instead a new directory with all new files. My original files were still intact in /puppet so I went through the process again. Sure enough, symlink removed and directory recreated. In the end I simply changed the puppet.conf to point to /puppet.
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://reductivelabs.com/redmine/my/account
Puppetmaster startup:
[root@peer1-chef lib]# /etc/init.d/puppetmaster start
Starting puppetmaster: /usr/lib/ruby/site_ruby/1.8/puppet/ssl/base.rb:42:in `initialize'
/usr/lib/ruby/site_ruby/1.8/puppet/ssl/base.rb:42:in `new'
/usr/lib/ruby/site_ruby/1.8/puppet/ssl/base.rb:42:in `read'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector/ssl_file.rb:86:in `find'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector/indirection.rb:213:in `find_in_cache'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector/indirection.rb:189:in `find'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector.rb:51:in `find'
/usr/lib/ruby/site_ruby/1.8/puppet/ssl/host.rb:175:in `certificate'
/usr/lib/ruby/site_ruby/1.8/puppet/ssl/certificate_authority.rb:241:in `setup'
/usr/lib/ruby/site_ruby/1.8/puppet/ssl/certificate_authority.rb:154:in `initialize'
/usr/lib/ruby/site_ruby/1.8/puppet/ssl/certificate_authority.rb:31:in `new'
/usr/lib/ruby/site_ruby/1.8/puppet/ssl/certificate_authority.rb:31: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/site_ruby/1.8/puppet/util/cacher.rb:46:in `singleton_instance'
/usr/lib/ruby/site_ruby/1.8/puppet/ssl/certificate_authority.rb:45:in `instance'
/usr/lib/ruby/site_ruby/1.8/puppet/application/puppetmasterd.rb:163:in `run_setup'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:216:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:306:in `exit_on_fail'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:216:in `run'
/usr/sbin/puppetmasterd:66
/usr/lib/ruby/site_ruby/1.8/puppet/ssl/base.rb:42:in `initialize'
/usr/lib/ruby/site_ruby/1.8/puppet/ssl/base.rb:42:in `new'
/usr/lib/ruby/site_ruby/1.8/puppet/ssl/base.rb:42:in `read'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector/ssl_file.rb:86:in `find'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector/indirection.rb:213:in `find_in_cache'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector/indirection.rb:189:in `find'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector.rb:51:in `find'
/usr/lib/ruby/site_ruby/1.8/puppet/ssl/certificate_authority.rb:104:in `crl'
/usr/lib/ruby/site_ruby/1.8/puppet/ssl/certificate_authority.rb:144:in `generate_ca_certificate'
/usr/lib/ruby/site_ruby/1.8/puppet/ssl/certificate_authority.rb:241:in `setup'
/usr/lib/ruby/site_ruby/1.8/puppet/ssl/certificate_authority.rb:154:in `initialize'
/usr/lib/ruby/site_ruby/1.8/puppet/ssl/certificate_authority.rb:31:in `new'
/usr/lib/ruby/site_ruby/1.8/puppet/ssl/certificate_authority.rb:31: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/site_ruby/1.8/puppet/util/cacher.rb:46:in `singleton_instance'
/usr/lib/ruby/site_ruby/1.8/puppet/ssl/certificate_authority.rb:45:in `instance'
/usr/lib/ruby/site_ruby/1.8/puppet/application/puppetmasterd.rb:163:in `run_setup'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:216:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:306:in `exit_on_fail'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:216:in `run'
/usr/sbin/puppetmasterd:66
/usr/lib/ruby/site_ruby/1.8/puppet/ssl/key.rb:46:in `initialize': Neither PUB key nor PRIV key:: header too long (OpenSSL::PKey::RSAError)
from /usr/lib/ruby/site_ruby/1.8/puppet/ssl/key.rb:46:in `new'
from /usr/lib/ruby/site_ruby/1.8/puppet/ssl/key.rb:46:in `read'
from /usr/lib/ruby/site_ruby/1.8/puppet/indirector/ssl_file.rb:86:in `find'
from /usr/lib/ruby/site_ruby/1.8/puppet/indirector/indirection.rb:198:in `find'
from /usr/lib/ruby/site_ruby/1.8/puppet/indirector.rb:51:in `find'
from /usr/lib/ruby/site_ruby/1.8/puppet/ssl/host.rb:130:in `key'
from /usr/lib/ruby/site_ruby/1.8/puppet/ssl/host.rb:170:in `certificate'
from /usr/lib/ruby/site_ruby/1.8/puppet/ssl/host.rb:27:in `init_localhost'
... 6 levels...
from /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:217:in `run'
from /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:306:in `exit_on_fail'
from /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:217:in `run'
from /usr/sbin/puppetmasterd:66
[FAILED]
puppetmaster log. I can see where it is intentionally removing the symlink.
I think this is duplicated to the bug that puppet manages its own files, hence overwrites the symlink, which I currently can't find. If somebody agrees and/or find the bug, please close this report.
Yeah I attempted to search for an existing bug but my search-fu wasn't strong enough to suss out a specific match for the issue.
That would be feature #2827, which is implemented in 0.25.2.