Skip to content
Puppet module to manage the NTP service
Ruby Puppet Pascal
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode pdksync_heads/master-0-g7827fc2 Jun 10, 2019
data Set the path of FreeBSD's leapfile Mar 25, 2019
locales (maint) modulesync 892c4cf Sep 18, 2017
spec (maint) Update for PDK templates Nov 1, 2019
templates (MODULES-8098) - Add logconfig option to config file Nov 29, 2018
types (FM-5361) Update the allowed parameter types for the ntp class Oct 14, 2016
.fixtures.yml (FM-8634) ensure encrypted communication for fixtures Nov 1, 2019
.gitattributes pdksync_heads/master-0-gbf720df Dec 17, 2018
.rspec (FM-4049) Update to current msync configs [2c99161] Jan 27, 2016
.rubocop.yml (maint) Update for PDK templates Nov 1, 2019
.sync.yml MODULES-10236 disable deploy_to_forge for the module Dec 6, 2019
.travis.yml MODULES-10236 disable deploy_to_forge for the module Dec 6, 2019
.yardopts pdksync_heads/master-0-g34e3266 May 18, 2018 Release version 8.2.0 Dec 9, 2019
CODEOWNERS (maint) Add a codeowners file Sep 17, 2019 (maint) modulesync 892c4cf Sep 18, 2017
LICENSE (FM-4046) Update to current msync configs [006831f] Feb 16, 2016
NOTICE (maint) modulesync 65530a4 Update Travis Jan 3, 2018 (FM-8188) convert ntp to use litmus Jun 10, 2019 Release preparation for version 8.1.0 Sep 23, 2019
Rakefile (maint) Update for PDK templates Nov 1, 2019
distelli-manifest.yml (FM-8188) convert ntp to use litmus Jun 10, 2019


Table of Contents

  1. Module Description - What the module does and why it is useful
  2. Setup - The basics of getting started with ntp
  3. Usage - Configuration options and additional functionality
  4. Reference - An under-the-hood peek at what the module is doing and how
  5. Limitations - OS compatibility, etc.
  6. Development - Guide for contributing to the module

Module description

The ntp module installs, configures, and manages the NTP service across a range of operating systems and distributions.


Beginning with ntp

include ntp is enough to get you up and running. To pass in parameters specifying which servers to use:

class { 'ntp':
  servers => [ '', '' ],


All parameters for the ntp module are contained within the main ntp class, so for any function of the module, set the options you want. See the common usages below for examples.

Install and enable NTP

include ntp

Change NTP servers

class { 'ntp':
  servers => [ '', '' ],

Restrict who can connect

class { 'ntp':
  servers  => [ '', '' ],
  restrict => [''],

Install a client that can't be queried

class { 'ntp':
  servers   => ['', ''],
  restrict  => [
    'default ignore',
    '-6 default ignore',
    '-6 ::1',
    ' nomodify notrap nopeer noquery',
    ' nomodify notrap nopeer noquery'

Listen on specific interfaces

Restricting NTP to a specific interface is especially useful on Openstack node, which may have numerous virtual interfaces.

class { 'ntp':
  servers  => [ '', '' ],
  interfaces => ['', '']

Opt out of Puppet controlling the service

class { 'ntp':
  servers        => [ '', '' ],
  restrict       => [''],
  service_manage => false,

Configure and run ntp without installing

class { 'ntp':
  package_manage => false,

Pass in a custom template

class { 'ntp':
  servers         => [ '', '' ],
  restrict        => [''],
  service_manage  => false,
  config_epp      => 'different/module/custom.template.epp',

Connect to an NTP server with the burst option enabled

class { 'ntp':
  servers => [ '', '' ],
  burst  => true,




This module has been tested on all PE-supported platforms. Additionally, it is tested (but not supported) on Solaris 10 and Fedora 20-22.

For an extensive list of supported operating systems, see metadata.json


We are experimenting with a new tool for running acceptance tests. It's name is puppet_litmus this replaces beaker as the test runner. To run the acceptance tests follow the instructions here.

Puppet modules on the Puppet Forge are open projects, and community contributions are essential for keeping them great. Please follow our guidelines when contributing changes.

For more information, see our module contribution guide.


To see who's already involved, see the list of contributors.

You can’t perform that action at this time.