I've been using Puppet to ensure consistency across my Linux machines for quite a while and just love it.
That said it gave me my share of headaches and I'll describe two of the pitfalls I've learnt the hard way.. just to be sure I don't have to ever have to re-learn it :|
Signing certificates
It's primordial to not forget to execute puppetd -tv as root for the initial certificate request. If you do not the process will go on normally, you will sign the certificate on the server, but when you will run puppetd on the client it will complain that you are not root and therefor cannot install the specified packages.
So you'll run the command has root, but it will fail to find the corresponding certificate.
To fix this run this command on the server:
sudo puppetca --clean client-FQDN
Then start over the certificate signing process, with sudo this time :)
Cannot get certificate with Ubuntu 10.04
If there the client never show up when doing a pupetca --list on the server, this is probably due to a version mismatch.
I ran this problem when installing puppetd on Ubuntu 10.04. You can verify that both the client and the server has the same version with these commands:
sudo dpkg -s puppetd
sudo dpkg -s puppetmaster
If one version is 0.24. and the other is 0.25., you just found your ghost problem..
To fix it create a file named /etc/apt/sources.list.d/legacy.list on the client.
Then edit it and add the following lines (change them if needed):
deb http://ubuntu.mirror.rafal.ca/ubuntu/ karmic-security main restricted
deb-src http://ubuntu.mirror.rafal.ca/ubuntu/ karmic-security main restricted
deb http://ubuntu.mirror.rafal.ca/ubuntu/ karmic-security universe
deb-src http://ubuntu.mirror.rafal.ca/ubuntu/ karmic-security universe
deb http://ubuntu.mirror.rafal.ca/ubuntu/ karmic-security multiverse
deb-src http://ubuntu.mirror.rafal.ca/ubuntu/ karmic-security multiverse
Update your package definitions with sudo apt-get update and install the right package version using this command:
sudo aptitude -t legacy install puppet
You should consider http://theforeman.org/wiki/foreman/Installation_instructions for easier puppet management.