Version information
This version is compatible with:
- Puppet Enterprise 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x
- Puppet >= 6.0.0 < 8.0.0
- , , , , , , , ,
Start using this module
Add this module to your Puppetfile:
mod 'puppetlabs-ntp', '9.1.0'
Learn more about managing modules with a PuppetfileDocumentation
ntp
Table of Contents
- Module Description - What the module does and why it is useful
- Setup - The basics of getting started with ntp
- Usage - Configuration options and additional functionality
- Reference - An under-the-hood peek at what the module is doing and how
- Limitations - OS compatibility, etc.
- 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.
Setup
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 => [ 'ntp1.corp.com', 'ntp2.corp.com' ],
}
Usage
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 => [ 'ntp1.corp.com', 'ntp2.corp.com' ],
}
Restrict who can connect
class { 'ntp':
servers => [ 'ntp1.corp.com', 'ntp2.corp.com' ],
restrict => ['127.0.0.1'],
}
Install a client that can't be queried
class { 'ntp':
servers => ['ntp1.corp.com', 'ntp2.corp.com'],
restrict => [
'default ignore',
'-6 default ignore',
'127.0.0.1',
'-6 ::1',
'ntp1.corp.com nomodify notrap nopeer noquery',
'ntp2.corp.com 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 => [ 'ntp1.corp.com', 'ntp2.corp.com' ],
interfaces => ['127.0.0.1', '1.2.3.4']
}
Opt out of Puppet controlling the service
class { 'ntp':
servers => [ 'ntp1.corp.com', 'ntp2.corp.com' ],
restrict => ['127.0.0.1'],
service_manage => false,
}
Configure and run ntp without installing
class { 'ntp':
package_manage => false,
}
Pass in a custom template
class { 'ntp':
servers => [ 'ntp1.corp.com', 'ntp2.corp.com' ],
restrict => ['127.0.0.1'],
service_manage => false,
config_epp => 'different/module/custom.template.epp',
}
Connect to an NTP server with the burst option enabled
class { 'ntp':
servers => [ 'ntp1.corp.com', 'ntp2.corp.com' ],
burst => true,
}
Reference
See REFERENCE.md
Limitations
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
Development
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.
Contributors
To see who's already involved, see the list of contributors.
Reference
Table of Contents
Classes
Public Classes
ntp
: ntp Main class, includes all other classes.
Private Classes
ntp::config
: This class handles the configuration file.ntp::install
: This class handles ntp packages.ntp::service
: This class handles the ntp service.
Data types
Ntp::Key_id
: See http://doc.ntp.org/4.2.6/authopt.html#controlkey for documentation Alternatively: type Ntp::Key_id = Variant[Integer, Pattern['']]Ntp::Poll_interval
: See http://doc.ntp.org/4.2.6/clockopt.html#server for documentation Alternatively: type Ntp::Poll_interval = Variant[Integer, Pattern['']]
Classes
ntp
ntp
Main class, includes all other classes.
Parameters
The following parameters are available in the ntp
class:
authprov
broadcastclient
burst
config
config_dir
config_epp
config_file_mode
config_template
daemon_extra_opts
disable_auth
disable_dhclient
disable_kernel
disable_monitor
driftfile
enable_mode7
fudge
iburst_enable
interfaces
interfaces_ignore
keys
keys_controlkey
keys_enable
keys_file
keys_requestkey
keys_trusted
leapfile
logfile
logfile_group
logfile_mode
logfile_user
logconfig
minpoll
maxpoll
ntpsigndsocket
package_ensure
package_manage
package_name
panic
peers
tos_orphan
pool
preferred_servers
noselect_servers
restrict
servers
service_enable
service_ensure
service_manage
service_name
service_provider
service_hasstatus
service_hasrestart
slewalways
statistics
statsdir
step_tickers_file
step_tickers_epp
step_tickers_template
stepout
tos
tos_minclock
tos_maxclock
tos_minsane
tos_floor
tos_ceiling
tos_cohort
tinker
udlc
udlc_stratum
user
authprov
Data type: Optional[String]
Enables compatibility with W32Time in some versions of NTPd (such as Novell DSfW). Default value: undef.
broadcastclient
Data type: Boolean
Enables reception of broadcast server messages to any local interface. Default value: false.
burst
Data type: Boolean
When the server is reachable, send a burst of eight packets instead of the usual one. Default value: false.
config
Data type: Stdlib::Absolutepath
Specifies a file for NTP's configuration info. Default value: '/etc/ntp.conf' (or '/etc/inet/ntp.conf' on Solaris).
config_dir
Data type: Optional[Stdlib::Absolutepath]
Specifies a directory for the NTP configuration files. Default value: undef.
config_epp
Data type: Optional[String]
Specifies an absolute or relative file path to an EPP template for the config file.
Example value: 'ntp/ntp.conf.epp'. A validation error is thrown if both this and the config_template
parameter are specified.
config_file_mode
Data type: String
Specifies a file mode for the ntp configuration file. Default value: '0664'.
config_template
Data type: Optional[String]
Specifies an absolute or relative file path to an ERB template for the config file.
Example value: 'ntp/ntp.conf.erb'. A validation error is thrown if both this and the config_epp
parameter are specified.
daemon_extra_opts
Data type: Optional[String]
Specifies any arguments to pass to ntp daemon. Default value: '-g'. Example value: '-g -i /var/lib/ntp' to enable jaildir options. Note that user is a specific parameter handled separately.
disable_auth
Data type: Boolean
Disables cryptographic authentication for broadcast client, multicast client, and symmetric passive associations.
disable_dhclient
Data type: Boolean
Disables ntp-servers
in dhclient.conf
to prevent Dhclient from managing the NTP configuration.
disable_kernel
Data type: Boolean
Disables kernel time discipline.
disable_monitor
Data type: Boolean
Disables the monitoring facility in NTP. Default value: true.
driftfile
Data type: Stdlib::Absolutepath
Specifies an NTP driftfile. Default value: '/var/lib/ntp/drift' (except on AIX and Solaris).
enable_mode7
Data type: Boolean
Enables processing of NTP mode 7 implementation-specific requests which are used by the deprecated ntpdc program. Default value: false.
fudge
Data type: Optional[Array[String]]
Provides additional information for individual clock drivers. Default value: [ ]
iburst_enable
Data type: Boolean
Specifies whether to enable the iburst option for every NTP peer. Default value: false (true on AIX and Debian).
interfaces
Data type: Array[String]
Specifies one or more network interfaces for NTP to listen on. Default value: [ ].
interfaces_ignore
Data type: Array[String]
Specifies one or more ignore pattern for the NTP listener configuration (for example: all, wildcard, ipv6). Default value: [ ].
keys
Data type: Array[String]
Distributes keys to keys file. Default value: [ ].
keys_controlkey
Data type: Optional[Ntp::Key_id]
Specifies the key identifier to use with the ntpq utility. Value in the range of 1 to 65,534 inclusive. Default value: ' '.
keys_enable
Data type: Boolean
Whether to enable key-based authentication. Default value: false.
keys_file
Data type: Stdlib::Absolutepath
Specifies the complete path and location of the MD5 key file containing the keys and key identifiers used by ntpd, ntpq and ntpdc
when operating with symmetric key cryptography. Default value: /etc/ntp.keys
(on RedHat and Amazon, /etc/ntp/keys
).
keys_requestkey
Data type: Optional[Ntp::Key_id]
Specifies the key identifier to use with the ntpdc utility program. Value in the range of 1 to 65,534. Default value: ' '.
keys_trusted
Data type: Optional[Array[Ntp::Key_id]]
Provides one or more keys to be trusted by NTP. Default value: [ ].
leapfile
Data type: Optional[Stdlib::Absolutepath]
Specifies a leap second file for NTP to use. Default value: ' '.
logfile
Data type: Optional[Stdlib::Absolutepath]
Specifies a log file for NTP to use instead of syslog. Default value: ' '.
logfile_group
Data type: Optional[Variant[String, Integer]]
Specifies the group for the NTP log file. Default is 'ntp'.
logfile_mode
Data type: String
Specifies the permission for the NTP log file. Default is 0664.
logfile_user
Data type: Optional[Variant[String, Integer]]
Specifies the user for the NTP log file. Default is 'ntp'.
logconfig
Data type: Optional[String]
Specifies the logconfig for NTP to use. Default value: ' '.
minpoll
Data type: Optional[Ntp::Poll_interval]
Sets Puppet to non-standard minimal poll interval of upstream servers. Values: 3 to 16. Default: undef.
maxpoll
Data type: Optional[Ntp::Poll_interval]
Sets use non-standard maximal poll interval of upstream servers. Values: 3 to 16. Default option: undef, except on FreeBSD (on FreeBSD, defaults to 9).
ntpsigndsocket
Data type: Optional[Stdlib::Absolutepath]
Sets NTP to sign packets using the socket in the ntpsigndsocket path. Requires NTP to be configured to sign sockets.
Value: Path to the socket directory; for example, for Samba: usr/local/samba/var/lib/ntp_signd/
. Default value: undef.
package_ensure
Data type: String
Whether to install the NTP package, and what version to install. Values: 'present', 'latest', or a specific version number. Default value: 'present'.
package_manage
Data type: Boolean
Whether to manage the NTP package. Default value: true.
package_name
Data type: Array[String]
Specifies the NTP package to manage. Default value: ['ntp'] (except on AIX and Solaris).
panic
Data type: Optional[Integer[0]]
Whether NTP should "panic" in the event of a very large clock skew. Applies only if tinker
option set to true or if your environment
is in a virtual machine. Default value: 0 if environment is virtual, undef in all other cases.
peers
Data type: Array[String]
List of NTP servers with which to synchronise the local clock.
tos_orphan
Data type: Optional[Integer[1]]
Enables Orphan mode for peer group Value: Should be set to 2 more than the worst-case externally-reachable source's stratum.
pool
Data type: Optional[Array[String]]
List of NTP server pools with which to synchronise the local clock.
preferred_servers
Data type: Array[String]
Specifies one or more preferred peers. Puppet appends 'prefer' to each matching item in the servers
array.
Default value: [ ].
noselect_servers
Data type: Array[String]
Specifies one or more peers to not sync with. Puppet appends 'noselect' to each matching item in the servers
array.
Default value: [ ].
restrict
Data type: Array[String]
Specifies one or more restrict
options for the NTP configuration.
Puppet prefixes each item with 'restrict', so you need to list only the content of the restriction.
Default value for most operating systems:
'[default kod nomodify notrap nopeer noquery', '-6 default kod nomodify notrap nopeer noquery', '127.0.0.1', '-6 ::1']'.
Default value for AIX systems:
'['default nomodify notrap nopeer noquery', '127.0.0.1',]'.
servers
Data type: Array[String]
Specifies one or more servers to be used as NTP peers. Default value: varies by operating system.
service_enable
Data type: Boolean
Whether to enable the NTP service at boot. Default value: true.
service_ensure
Data type: Enum['running', 'stopped']
Whether the NTP service should be running. Default value: 'running'.
service_manage
Data type: Boolean
Whether to manage the NTP service. Default value: true.
service_name
Data type: String
The NTP service to manage. Default value: varies by operating system.
service_provider
Data type: Optional[String]
Which service provider to use for NTP. Default value: 'undef'.
service_hasstatus
Data type: Boolean
Whether service has a functional status command. Default value: true.
service_hasrestart
Data type: Boolean
Whether service has a restart command. Default value: true.
slewalways
Data type: Optional[Enum['yes','no']]
xntpd setting to disable stepping behavior and always slew the clock to handle adjustments. Only relevant for AIX. Default value: 'undef'. Allowed values: 'yes', 'no'
statistics
Data type: Optional[Array]
List of statistics to have NTP generate and keep. Default value: [ ].
statsdir
Data type: Optional[Stdlib::Absolutepath]
Location of the NTP statistics directory on the managed system. Default value: '/var/log/ntpstats'.
step_tickers_file
Data type: Optional[Stdlib::Absolutepath]
Location of the step tickers file on the managed system. Default value: varies by operating system.
step_tickers_epp
Data type: Optional[String]
Location of the step tickers EPP template file. Default value: varies by operating system.
Validation error is thrown if both this and the step_tickers_template
parameters are specified.
step_tickers_template
Data type: Optional[String]
Location of the step tickers ERB template file. Default value: varies by operating system.
Validation error is thrown if both this and the step_tickers_epp
parameter are specified.
stepout
Data type: Optional[Integer[0, 65535]]
Value for stepout if tinker
value is true. Valid options: unsigned shortint digit. Default value: undef.
tos
Data type: Boolean
Whether to enable tos options. Default value: false.
tos_minclock
Data type: Optional[Integer[1]]
Specifies the minclock tos option. Default value: 3.
tos_maxclock
Data type: Optional[Integer[1]]
Specifies the maxclock tos option. Default value: 6.
tos_minsane
Data type: Optional[Integer[1]]
Specifies the minsane tos option. Default value: 1.
tos_floor
Data type: Optional[Integer[1]]
Specifies the floor tos option. Default value: 1.
tos_ceiling
Data type: Optional[Integer[1]]
Specifies the ceiling tos option. Default value: 15.
tos_cohort
Data type: Variant[Boolean, Integer[0,1]]
Specifies the cohort tos option. Valid options: 0 or 1. Default value: 0.
tinker
Data type: Optional[Boolean]
Whether to enable tinker options. Default value: false.
udlc
Data type: Boolean
Specifies whether to configure NTP to use the undisciplined local clock as a time source. Default value: false.
udlc_stratum
Data type: Optional[Integer[1,15]]
Specifies the stratum the server should operate at when using the undisciplined local clock as the time source. This value should be set to no less than 10 if ntpd might be accessible outside your immediate, controlled network. Default value: 10.am udlc
user
Data type: Optional[String]
Specifies user to run ntpd daemon. Default value: ntp. Usually set by default on Centos7 (/etc/systemd/system/multi-user.target.wants/ntpd.service) and ubuntu 18.04 (/usr/lib/ntp/ntp-systemd-wrapper) This is currently restricted to Redhat based systems of version 7 and above and Ubuntu 18.04.
Data types
Ntp::Key_id
See http://doc.ntp.org/4.2.6/authopt.html#controlkey for documentation Alternatively: type Ntp::Key_id = Variant[Integer, Pattern['']]
Alias of
Integer[1, 65534]
Ntp::Poll_interval
See http://doc.ntp.org/4.2.6/clockopt.html#server for documentation Alternatively: type Ntp::Poll_interval = Variant[Integer, Pattern['']]
Alias of
Integer[4, 17]
Change log
All notable changes to this project will be documented in this file. The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
v9.1.0 (2021-08-26)
Added
- pdksync - (IAC-1709) - Add Support for Debian 11 #632 (david22swan)
Fixed
v9.0.1 (2021-03-29)
Fixed
v9.0.0 (2021-03-01)
Changed
- pdksync - Remove Puppet 5 from testing and bump minimal version to 6.0.0 #605 (carabasdaniel)
v8.5.0 (2020-12-16)
Added
- pdksync - (feat) - Add support for Puppet 7 #594 (daianamezdrea)
- (MAINT) Make mode for logfile configurable #590 (tmanninger)
- (IAC-997) Removal of inappropriate terminology #587 (pmcmaw)
v8.4.0 (2020-09-11)
Added
- pdksync - (IAC-973) - Update travis/appveyor to run on new default branch
main
#579 (david22swan) - (IAC-746) - Add ubuntu 20.04 support #575 (david22swan)
v8.3.0 (2020-04-01)
Added
- (MAINT) Add Solaris family Hiera data #554 (paescuj)
- pdksync - (FM-8581) - Debian 10 added to travis and provision file refactored #552 (david22swan)
- (MODULES-10413) Allow custom ntp user and daemon options #551 (david22swan)
v8.2.0 (2019-12-09)
Added
v8.1.0 (2019-09-23)
Added
Fixed
v8.0.0 (2019-05-14)
Changed
- pdksync - (MODULES-8444) - Raise lower Puppet bound #510 (david22swan)
Fixed
- Service hasstatus and hasrestart atributes #499 (ffapitalle)
7.4.0 (2019-02-01)
Added
- (MODULES-8139) - Add SLES 15 support #492 (eimlav)
- (MODULES-8098) - Add logconfig option to config file #491 (eimlav)
Fixed
- (FM-7719) - Remove Amazon Linux and Arch Linux testing/support for ntp module #498 (david22swan)
- pdksync - (FM-7655) Fix rubygems-update for ruby \< 2.3 #495 (tphoney)
7.3.0 (2018-09-27)
Added
- pdksync - (MODULES-6805) metadata.json shows support for puppet 6 #484 (tphoney)
- Add burst param #476 (kobybr)
- (MODULES-7465) Addition of support for Ubuntu 18.04 to NTP #475 (david22swan)
7.2.0 (2018-07-03)
Changed
- (FM-6955) Remove unsupported OS: F24, F25, Debian 7 #462 (david22swan)
Added
- Add SLES 15 hiera data #472 (mattiasgiese)
- (FM-7038) Add support for Debian 9 #470 (david22swan)
- add tos_orphan parameter #452 (disklord)
Fixed
- (MODULES-6363) fix disabling dhclient on redhat-derivatives #439 (sudodevnull)
7.1.1
Summary
This release includes updated Japanese translations.
Added
- Updating translations for readmes/README_ja_JP.md
7.1.0
Summary
This release uses the PDK convert functionality which in return makes the module PDK compliant. It also includes one feature and a roll up of maintenance changes.
Added
- PDK convert ntp (MODULES-6326).
- Create parameter for slewalways to be exposed in the ntp.conf template.
Fixed
is_virtual
fact is boolean and cant be given to str2bool.- Don't use 'inherits' in config, install and service.
- Roll up of modulesync changes.
- Make documentation more readable.
- Fix up rubocop errors (FM-6634).
- Strip data types out of puppet-strings comments.
7.0.0
Summary
Hiera 5 only works with Puppet 4.9.4 and above, we have bumped the Puppet requirement for the module accordingly.
Changed
- Update YAML to version 5 (PR 428)
- Updates the lower puppet version boundary to 4.9.4.
6.4.1
Summary
This release reverts a PR that implements Hiera 5. Issues have been seen due to compatibility issues. The issues that have been seen are (MODULES-5775) and (MODULES-5780).
Changed
- Reverts (PR 394)
6.4.0
Summary
This release is to both update the modules code so that it matches the set standards and make it so that all future prs are checked by Rubocop before release.
Added
- Rubocop is now enabled.
Changed
- All ruby code within module has been altered to match standards.
6.3.0
Summary
This is a feature release with some bugfixes and updated Japanese translations, too.
Added
enable_mode7
parameter (defaults tofalse
)- disable monitor availability while setting stat properties
Changed
- Lower bound of Puppet requirement from 4.5.0 to 4.7.0
- hiera.yaml to Hiera version 5 format
Removed
- Ubuntu 10.04 and 12.04, Debian 6, SLES 10 SP4, and Fedora 20-23 support from metadata.json (existing compatibility remains)
Fixed
- Path to driftfile on Suse (MODULES-4941)
- Whitespace issue in ntp.conf.epp with
tos
- Permissions on keys file
6.2.0
Summary
This is a small minor release that adds the pool
parameter and revises some Japanese translations.
Added
- The
pool
parameter
Fixed
- Japanese translations for the README
6.1.0
Summary
This release adds support for internationalization of the module. It also contains Japanese translations for the README, summary and description of the metadata.json and major cleanups in the README. Additional folders have been introduced called locales and readmes where translation files can be found. A number of features and bug fixes are also included in this release.
Features
- Addition of POT file for metadata translation for i18n.
- Multiple Gemfile updates for Ruby and Gems support.
- (MODULES-4225) Addition of Puppet strings to the ntp module.
- Implements beaker module install helper and cleanup spec helper acceptance.rb.
- (MODULES-4414) Allow NTP statistics if requested.
- (MODULES-4278) Addition of noselect feature.
- Addition of 'pool' parameter.
- Addition of Ubuntu Xenial Support.
Bugfixes
- Huge readme updates for adding tags to private classes, edits for localization and general cleanups.
- (MODULES-3397) Fix of the default Solaris settings.
- Changed 'service_ensure' data type to Enum.
- (MODULES-3396) remove superfluous empty lines in ntp.conf.
- (MODULES-4528) Replace Puppet.version.to_f version comparison from spec helper.
- Solaris data that was the wrong way round now fixed.
##s 5.0.0 and 6.0.0
Summary
This double release adds new Puppet 4 features: data in modules, EPP templates, the $facts hash, and data types. The 5.0.0 release is fully backwards compatible to existing Puppet 4 configurations and provides you with deprecation warnings for every argument that will not work as expected with the final 6.0.0 release. See the stdlib docs for an in-depth discussion of this.
If you want to learn more about the new features used, have a look at the NTP: A Puppet 4 language update blog post.
If you're still running Puppet 3, remain on the latest puppetlabs-ntp 4.x release for now, and see the documentation to upgrade to Puppet 4.
Changes
- Data in modules: Moves all distribution and OS-dependent defaults into YAML files in
data/
, alleviating the need for aparams
class. Note that while this feature is currently still classed as experimental, the final implementation will support the changes here. - EPP templating: Uses the Puppet language as a base for templates to create simpler and safer templates. No need for Ruby anymore! You can pass in EPP templates for the
ntp.conf
andstep-tickers
files using the newconfig_epp
andstep_tickers_epp
parameters. - The $facts hash: Makes facts visibly distinct from other variables for more readable and maintainable code. This helps eliminate confusion if you use a local variable whose name happens to match that of a common fact.
- Data types for validation: Helps you find and replace deprecated code in existing
validate_*
functions with stricter, more readable data type notation. First upgrade to the 5.0.0 release of this module, and address all deprecation warnings before upgrading to the final 6.0.0 release. Please see the stdlib docs for an in-depth discussion of this process.
4.2.0
Summary
A large release with many new features. Multiple additions to parameters and work contributed to OS compatibility. Also includes several bug fixes, including clean ups of code.
Features
- Updated spec helper for more consistency
- Addition of config_dir variable
- Addition of puppet TOS options
- Added support for disabling kernel time discipline in ntp.conf
- Update Solaris support for newer Facter, and Amazon for < 1.7.0 facter
- Added disable_dhclient parameter
- Added OpenSUSE 13.2 compatibility
- Parameterize file mode of config file
- Enhanced the default configuration
- Debian 8 compatibility
- Enabled usage of the $ntpsigndsocket parameter
- Added parameter for interfaces to ignore
- Added support for the authprov parameter
- Additional work done for SLES 12 compatibility
- Addition of key template options/ key distribution
Bugfixes
- Fix for strict variables and tests
- Fixed test with preferred server and iburst enabled
- Added logfile parameter test
- Cleaned out unused cleanup code and utilities from spec_helper
- Deprecated ntp_dirname function
- No longer manages the keys_file parent when it would be inappropriate to do so
- Converted license string to SPDX format
- Removed ruby 1.8.7 and puppet 2.7 from travis-ci jobs
4.1.2
###Summary
Small release for support of newer PE versions. This increments the version of PE in the metadata.json file.
4.1.1
Summary
This is a bugfix release to address security vulnerability CVE-2013-5211.
Bugfixes
- Changes the default behavior to disable monitoring as part of the solution for CVE-2013-5211.
2015-07-21 - Supported Release 4.1.0
Summary
This release updates metadata to support new version of puppet enterprise, as well as new features, bugfixes, and test improvements.
Features
- Adds Solaris 10 support
- Adds Fedora 20, 21, 22 compatibility
Bugfixes
- Fix default configuration for Debian (MODULES-2087)
- Fix to ensure log file is created before service starts
- Fixes SLES params for SLES 10, 11, 12
2015-05-26 - Supported Release 4.0.0
Summary
This release drops puppet 2.7 support and older stdlib support. It also includes the addition of 12 new properties, as well as numerous bug fixes and other improvements.
Backwards-incompatible changes
- UDLC (Undisciplined local clock) is now no longer enabled by default on anything (previous was enabled on non-virtual).
- Puppet 2.7 no longer supported
- puppetlabs-stdlib less than 4.5.0 no longer supported
Features
- Readme, Metadata, and Contribution documentation improvements
- Acceptance test improvements
- Added the
broadcastclient
property - Added the
disable_auth
property - Added
broadcastclient
property - Added
disable_auth
property - Added
fudge
property - Added
peers
property - Added
udlc_stratum
property - Added
tinker
property - Added
minpoll
property - Added
maxpoll
property - Added
stepout
property - Added
leapfile
property
Bugfixes
- Removing equal sign as delimiter in ntp.conf for the logfile parameter.
- Add package_manage parameter, which is set to false by default on FreeBSD
- Fixed an issue with the
is_virtual
property - Fixed debian wheezy issue
- Fix for Redhat to disable ntp restart due to dhcp ntp server updates
##2014-11-04 - Supported Release 3.3.0 ###Summary
This release adds support for SLES 12.
####Features
- Added support for SLES 12
##2014-10-02 - Supported Release 3.2.1 ###Summary
This is a bug-fix release addressing the security concerns of setting /etc/ntp to mode 0755 recursively.
####Bugfixes
- Do not recursively set ownership/mode of /etc/ntp
##2014-09-10 - Supported Release 3.2.0 ###Summary
This is primarily a feature release. It adds a few new parameters to class ntp
and adds support for Solaris 11.
####Features
- Add the
$interfaces
parameter tontp
- Add support for Solaris 10 and 11
- Synchronized files with modulesync
- Test updates
- Add the
$iburst_enable
parameter tontp
####Bugfixes
- Fixes for strict variables
- Remove dependency on stdlib4
##2014-06-06 - Release 3.1.2 ###Summary
This is a supported release. This release fixes a manifest typo.
##2014-06-06 - Release 3.1.1 ###Summary
This is a bugfix release to get around dependency issues in PMT 3.6. This version has a dependency on puppetlabs-stdlib >= 4 so PE3.2.x is no longer supported.
####Bugfixes
- Remove deprecated Modulefile as it was causing duplicate dependencies with PMT.
##2014-05-14 - Release 3.1.0 ###Summary
This release adds disable_monitor
so you can disable the monitor functionality
of NTP, which was recently used in NTP amplification attacks. It also adds
support for RHEL7 and Ubuntu 14.04.
####Features
- Add
disable_monitor
####Bugfixes
#####Known Bugs
- No known bugs
##2014-04-09 - Supported Release 3.0.4 ###Summary This is a supported release.
The only functional change in this release is to split up the restrict defaults to be per operating system so that we can provide safer defaults for AIX, to resolve cases where IPv6 are disabled.
####Features
- Rework restrict defaults.
####Bugfixes
- Fix up a comment.
- Fix a test to work better on PE.
#####Known Bugs
- No known bugs
##2014-03-04 - Supported Release 3.0.3 ###Summary This is a supported release. Correct stdlib compatibility
####Bugfixes
- Remove
dirname()
call for correct stdlib compatibility. - Improved tests
####Known Bugs
- No known bugs
2014-02-13 - Release 3.0.2
###Summary
No functional changes: Update the README and allow custom gem sources.
2013-12-17 - Release 3.0.1
Summary
Work around a packaging bug with symlinks, no other functional changes.
2013-12-13 - Release 3.0.0
Summary
Final release of 3.0, enjoy!
2013-10-14 - Version 3.0.0-rc1
###Summary
This release changes the behavior of restrict and adds AIX osfamily support.
####Backwards-incompatible Changes:
restrict
no longer requires you to pass in parameters as:
restrict => [ 'restrict x', 'restrict y' ]
but just as:
restrict => [ 'x', 'y' ]
As the template now prefixes each line with restrict.
####Features
- Change the behavior of
restrict
so you no longer need the restrict keyword. - Add
udlc
parameter to enable undisciplined local clock regardless of the machines status as a virtual machine. - Add AIX support.
####Fixes
- Use class{} instead of including and then anchoring. (style)
- Extend Gentoo coverage to Facter 1.7.
##2013-09-05 - Version 2.0.1
###Summary
Correct the LICENSE file.
####Bugfixes
- Add in the appropriate year and name in LICENSE.
##2013-07-31 - Version 2.0.0
###Summary
The 2.0 release focuses on merging all the distro specific templates into a single reusable template across all platforms.
To aid in that goal we now allow you to change the driftfile, ntp keys, and perferred_servers.
####Backwards-incompatible changes
As all the distro specific templates have been removed and a unified one created you may be missing functionality you previously relied on. Please test carefully before rolling out globally.
Configuration directives that might possibly be affected:
filegen
fudge
(for virtual machines)keys
logfile
restrict
restrictkey
statistics
trustedkey
####Features:
- All templates merged into a single template.
- NTP Keys support added.
- Add preferred servers support.
- Parameters in
ntp
class:driftfile
: path for the ntp driftfile.keys_enable
: Enable NTP keys feature.keys_file
: Path for the NTP keys file.keys_trusted
: Which keys to trust.keys_controlkey
: Which key to use for the control key.keys_requestkey
: Which key to use for the request key.preferred_servers
: Array of servers to prefer.restrict
: Array of restriction options to apply.
###2013-07-15 - Version 1.0.1 ####Bugfixes
- Fix deprecated warning in
autoupdate
parameter. - Correctly quote is_virtual fact.
##2013-07-08 - Version 1.0.0 ####Features
- Completely refactored to split across several classes.
- rspec-puppet tests rewritten to cover more options.
- rspec-system tests added.
- ArchLinux handled via osfamily instead of special casing.
- parameters in
ntp
class:autoupdate
: deprecated in favor of directly setting package_ensure.panic
: set to false if you wish to allow large clock skews.
##2011-11-10 Dan Bode dan@puppetlabs.com - 0.0.4
- Add Amazon Linux as a supported platform
- Add unit tests
##2011-06-16 Jeff McCune jeff@puppetlabs.com - 0.0.3
- Initial release under puppetlabs
* This Changelog was automatically generated by github_changelog_generator
Dependencies
- puppetlabs/stdlib (>= 4.13.1 < 9.0.0)
Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Quality checks
We run a couple of automated scans to help you assess a module’s quality. Each module is given a score based on how well the author has formatted their code and documentation and select modules are also checked for malware using VirusTotal.
Please note, the information below is for guidance only and neither of these methods should be considered an endorsement by Puppet.
Malware scan results
The malware detection service on Puppet Forge is an automated process that identifies known malware in module releases before they’re published. It is not intended to replace your own virus scanning solution.
Learn more about malware scans- Module name:
- puppetlabs-ntp
- Module version:
- 9.1.0
- Scan initiated:
- August 26th 2021, 3:16:17
- Detections:
- 0 / 56
- Scan stats:
- 56 undetected
- 0 harmless
- 0 failures
- 0 timeouts
- 0 malicious
- 0 suspicious
- 15 unsupported
- Scan report:
- View the detailed scan report