Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Using Puppet 3.2.1 attempting server / client setup, running both on same host.

I'm also using puppet-dashboard and puppetdb.

My manifest/init.pp:

node 'my.fqdn' {
  file { '/tmp/test':
    ensure => present

Running puppet agent --test --server my.fqdn --report where my.fqdn and dashboard is defined in /etc/hosts


Info: Retrieving plugin
Info: Loading facts in /etc/puppet/modules/concat/lib/facter/concat_basedir.rb
Info: Loading facts in /etc/puppet/modules/puppi/lib/facter/puppi_projects.rb
Info: Loading facts in /etc/puppet/modules/puppi/lib/facter/last_run.rb
Info: Loading facts in /var/lib/puppet/lib/facter/puppi_projects.rb
Info: Loading facts in /var/lib/puppet/lib/facter/concat_basedir.rb
Info: Loading facts in /var/lib/puppet/lib/facter/last_run.rb
Info: Caching catalog for my.fqdn
Info: Applying configuration version '1369841032'
Notice: Finished catalog run in 0.08 seconds
          Skipped: 6
            Total: 7
   Config retrieval: 0.42
            Total: 0.42
         Last run: 1369841033
       Filebucket: 0.00
           Config: 1369841032
           Puppet: 3.2.1

File /tmp/test is never created!


Puppet dashboard sais that it has no knowlengde of any nodes (E.G reports never reaching it)

puppet.conf for reports:

reports = store, http
reporturl =

What could be going on here, and how to fix it?

Running puppet apply /etc/puppet/manifests/init.pp DOES work, but not when attempting to get the config from puppet master. It's like it's getting a blank catalog.



  vardir      = /var/lib/puppet
  logdir      = /var/log/puppet
  rundir      = /var/run/puppet
  templatedir = /var/lib/puppet/templates
  ssldir      = $vardir/ssl
  usecacheonfailure = true
  user = puppet
  group = puppet

  certname = my.fqdn
  server = my.fqdn
  pluginsync = true
  report = true
  reportserver = my.fqdn
  summarize = true
  graph = true
  listen = false
  runinterval = 1800
  classfile = $vardir/classes.txt
  localconfig = $vardir/localconfig

  masterport = 8140
  bindaddress =
  autosign = false
  storeconfigs = true
  environment = production
  manifest    = $confdir/manifests/site.pp
  modulepath  = /etc/puppet/modules:/usr/share/puppet/modules
  storeconfigs_backend = puppetdb
  reports = store, http
  reporturl = http://my.fqdn/reports/upload
  facts_terminus = active_record

And certs:

root@my:~# puppet cert list --all
+ "my.fqdn" (SHA256) E1:F0:29:1...:31:93:F9
share|improve this question
It would be helpful to me if you posted the puppet.conf and the output of sudo puppet cert list --all. I will update my answer with more suggestions with this info. – Andy Shinn May 29 '13 at 16:57
up vote 3 down vote accepted

you should probably rename manifests/init.pp to manifests/site.pp, as that is what you configured in puppet.conf

share|improve this answer
Good catch. I was going to update my answer with this too after the configs were posted. I would have thought the master would post a warning or error though if it couldn't load the main site manifest... – Andy Shinn May 29 '13 at 22:14
Spot on :-) Confusing without any error message though, should probably file a Puppet bug about that – Jon Skarpeteig May 30 '13 at 11:08

Is my.fqdn actually the signed certificate name that the master knows the agent as? Sounds like the certificate name may not match your node definition and thus it ignores the node sections.

You can try forcing the name reported by the agent to see if that does the trick:

puppet agent --test --server my.fqdn --report --certname my.fqdn

share|improve this answer
Yes it is, otherwise you'd get an error stating that the SSL negotiation failed. – Jon Skarpeteig May 29 '13 at 18:51
Cert negotiation has nothing to do with whether or not you happen to have a node defined with a particular name, though. – jgoldschrafe May 31 '13 at 3:20

I don't know if this is the case on your site, but I need pluginsync = true so that some of the puppet configuration will work. Without it inside /etc/puppet/puppet.conf on the node, the puppet run will not fail, but won't do all what I expected (for example, using file_line).

I see you put it on the master puppet.conf, but check if it's on the node too.

share|improve this answer

I'm wondering if your puppet server understands that your client is supposed to be my.fqdn. Change node 'my.fqdn' to node default and see if you get the file.

share|improve this answer
cat /etc/hostname --> my.fqdn + facter fqdn == my.fqdn + /etc/hosts contain my.fqdn – Jon Skarpeteig May 29 '13 at 18:51

Did you put in your node puppet.conf in [agent] section this directive (and restarted)? report = true

share|improve this answer
report = true is in puppet.conf - and puppetmaster has read the config, while this directive is in place, yes – Jon Skarpeteig May 29 '13 at 18:52

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.