I like to do this on occasion:
$ puppet master --masterport 8141 --no-daemonize --debug --verbose --color false --pidfile=/var/run/puppet/master.debug.pid
That way, you get a second puppetmaster on another port, and can query
it from your clients using
$ puppetd --test --noop --masterport 8141
Hauling out the big guns boils down to (for me):
strace -e trace=file -f puppet master --no-daemonize ... 2>&1 | grep ntp
That should eventually spit a few stat or open attempts that fail, when
the master tries to import the ntp module.
cd /etc/puppet/modules
puppet parser validate mod_name/manifests/init.pp
Show configuration:
puppet config print all
factor fqdn
How to see client changes in the master log
My default puppet configuration shows all the interesting changes in the client's /var/log/daemon.log. I'd rather be able to see those client-side changes in the master's log. Making this happen involves turning on puppet's client reporting mechanism.
client-side reporting
This is controlled by a setting in puppet.conf or a command line parameter to puppetd. I added the switch to /etc/default/puppet:
# Defaults for puppet - sourced by /etc/init.d/puppet
# Start puppet on boot?
START=yes
# Startup options
DAEMON_OPTS="--report"
server handling of reports
On the server side, puppet has several options for processing reports. The default is to create a yaml file in /var/lib/puppet/report/<nodename> To tell puppet to send the client report of changes to syslog (which in this case is sent to daemon.log), make this change to /etc/puppet/puppet.conf
[master]
reports = log
Now, if you fiddle with a puppet controlled resource on the client (like adding a blank line to /etc/hosts), and restart the puppet client, you'll see puppet's corrective actions reported in the master's /var/log/daemon.log.
puppetd -t --graph --noop
info: Caching catalog for ferret.finninday.net
info: Applying configuration version '1303359415'
notice: Finished catalog run in 0.10 seconds
-t switch means test
--noop means "no operation"
--graph switch creates a graphviz dot file in /var/lib/puppet/state/graphs which can be turned into an image like this:
dot -T png resources.dot > resources.png