Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


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.