puppetlabs/puppet — pull request #163 by jhelwig (2011-10-10 22:26:20+00:00)
Title: Ticket/master/3669 make puppet honor dns srv records

This adds two new configuration variables:

* use_srv_records: Will attempt to lookup SRV records for hostname
found in srv_record (default: true)

* srv_domain: The domain that will be queried for SRV records,
(default: $domain)

If use_srv_records is set to true, then Puppet will attempt to find
the list of servers to use from SRV records on the domain specified
via srv_domain. The CA, report, and file servers can all be specified
via independent SRV records from the SRV records to use for looking up
the catalog server.

The SRV records must be for hosts in the form:

_x-puppet._tcp.$srv_domain
_x-puppet-ca._tcp.$srv_domain
_x-puppet-report._tcp.$srv_domain
_x-puppet-fileserver._tcp.$srv_domain

If no records are found for the _x-puppet-ca, _x-puppet-report, or
_x-puppet-fileserver services, then the SRV records for the _x-puppet
service will be used. However, if records exist for any of the more
specific services, Puppet will not attempt to use the _x-puppet
service to find an applicable server, even if none of the servers for
the more specific service can be contacted.

If Puppet is unable to connect to any of the servers specified in the
SRV records, then it will attempt to connect to the "normal" servers
settable via puppet.conf.

Signed-off-by: Jacob Helwig
Signed-off-by: Daniel Pittman
Signed-off-by: Andrew Forgue