Debian – Why does this puppet node definition not run on the hostname it matches

debianpuppet

I'm running puppet 2.7.9 on a Debian Squeeze system. The box I'm targeting is named 'puppet'

# hostname
puppet

# facter | grep hostname
hostname => puppet

# cat /etc/hosts | head -n2
127.0.0.1   localhost
127.0.1.1   puppet.example.com  puppet

My node definition looks like so:

node puppet {
    include base, puppet
}

Despite the node documentation asserting that

Node names can be the short host name, or the fully qualified domain name (FQDN).

the above node definition only fires if I substitute the short host name for the FQDN or use a regular expression match, like: "/^puppet..*/". Using the short host name definition:

# puppet agent -vt
info: Caching catalog for puppet.example.com
info: Applying configuration version '1327898040'
notice: Finished catalog run in 0.64 seconds

This run should have had more output. What's going on here; what am I missing?

Best Answer

I understood that the dns hostname "puppet" in the puppet world was reserved for the puppetmaster machine, if you want to target the master machine via it's own puppet server, give it a different hostname and use a dns cname as an alias. That should work, at least, it's what i do.