Use UUID's for puppet certnames

Users who wish to deploy their hosts using a random unique id, should enable that setting, and use the certname directive in their puppet.conf template, e.g.:

certname = <%= @host.certname %>

when the certname was not generated (e.g. for hosts created before enabling this feature) @host.certname would return the host name instead.

for provisioning where DNS is not reliable, it is highly recommended to use certnames.

WARNING

This does not work well when you are sharing puppet storeconfigs database with Foreman, as Puppet would create a new entry in the db with the UUID as the system name.
the recommended workaround is to dump the db, and not to share puppet and foreman databases.