In our newer hosts, we are using the standard Puppet node classifier system but we override the node_name/node_name_fact settings on the client so that we can decouple hostnames with hosttypes:
puppet.conf [main] location on clients:
# Use the fact 'puppet_node' as our node classifier rather than the hostname.
node_name = facter
node_name_fact = puppet_node
[root@prod-exhibitor1-xyz:~]# facter -p puppet_node
exhibitor_prod
The problem we have with this model right now is that when Puppet runs do fail, we get tagmail reports that aren't very useful:
Subject: Puppet Report for exhibitor_prod
Is there a setting we're missing somewhere that will fix this and get us the actual hostname of the failed client, or do we need to open a bug to get this fixed?