For the past several years, a locally written Puppet module has been used to setup NTP. The local NTP module was created to support Ubuntu 10.04. The RHEL/CENTOS 5/6 machines were configured to setup NTP during kickstart. Recently some RHEL 6 and Ubuntu 12.04 machines were brought under puppet server without having NTP setup.
Fortunately I bumped into Garret Honeycutt at SELF, and decided to use the NTP module he has on GitHub since it support both RHEL and Ubuntu. Hiera support is also included. The module is available at the link below.
https://github.com/ghoneycutt/puppet-module-ntp
The module is now in production using Hiera and the puppet common module.
Using Hiera, we can now set a common set of NTP servers, then override via FQDN if necessary.
For example, in the common.yaml file the following servers are set:
ntp::servers:
- notarealtimeserverA.someu.edu
- notarealtimeserverb.someu.edu
In the file for notaserver.someu.edu.yaml in the FQDN directory we can then do the following:
ntp::servers:
- notarealtimeserver1.someu.edu
- notarealtimeserver2.someu.edu
This overrides the standard server settings in the common.yaml for notaserver.someu.edu.yaml