cd331e44be
This change combines the previous puppet and docker files into a single file that performs the docker service installation and configuration. Change-Id: I6a9123627d754a153ab6cb68a33778a57846aeb7 Related-Blueprint: services-yaml-flattening
116 lines
4.0 KiB
YAML
116 lines
4.0 KiB
YAML
heat_template_version: rocky
|
|
|
|
description: >
|
|
NTP service deployment using puppet, this YAML file
|
|
creates the interface between the HOT template
|
|
and the puppet manifest that actually installs
|
|
and configure NTP.
|
|
|
|
parameters:
|
|
ServiceData:
|
|
default: {}
|
|
description: Dictionary packing service data
|
|
type: json
|
|
ServiceNetMap:
|
|
default: {}
|
|
description: Mapping of service_name -> network name. Typically set
|
|
via parameter_defaults in the resource registry. This
|
|
mapping overrides those in ServiceNetMapDefaults.
|
|
type: json
|
|
DefaultPasswords:
|
|
default: {}
|
|
type: json
|
|
RoleName:
|
|
default: ''
|
|
description: Role name on which the service is applied
|
|
type: string
|
|
RoleParameters:
|
|
default: {}
|
|
description: Parameters specific to the role
|
|
type: json
|
|
EndpointMap:
|
|
default: {}
|
|
description: Mapping of service endpoint -> protocol. Typically set
|
|
via parameter_defaults in the resource registry.
|
|
type: json
|
|
NtpServer:
|
|
default: ['0.pool.ntp.org', '1.pool.ntp.org', '2.pool.ntp.org', '3.pool.ntp.org']
|
|
description: NTP servers list. Defaulted to a set of pool.ntp.org servers
|
|
in order to have a sane default for Pacemaker deployments when
|
|
not configuring this parameter by default.
|
|
type: comma_delimited_list
|
|
NtpIburstEnable:
|
|
default: true
|
|
description: Specifies whether to enable the iburst option for every NTP
|
|
peer. If iburst is enabled, when the ntp server is unreachable
|
|
ntp will send a burst of eight packages instead of one. This
|
|
is designed to speed up the initial syncrhonization.
|
|
type: boolean
|
|
MaxPoll:
|
|
description: Specify maximum poll interval of upstream servers for NTP
|
|
messages, in seconds to the power of two.
|
|
The maximum poll interval defaults to 10 (1,024 s).
|
|
Allowed values are 4 to 17.
|
|
type: number
|
|
default: 10
|
|
constraints:
|
|
- range: { min: 4, max: 17 }
|
|
MinPoll:
|
|
description: Specify minimum poll interval of upstream servers for NTP
|
|
messages, in seconds to the power of two.
|
|
The minimum poll interval defaults to 6 (64 s).
|
|
Allowed values are 4 to 17.
|
|
type: number
|
|
default: 6
|
|
constraints:
|
|
- range: { min: 4, max: 17 }
|
|
EnablePackageInstall:
|
|
default: 'false'
|
|
description: Set to true to enable package installation at deploy time
|
|
type: boolean
|
|
|
|
outputs:
|
|
role_data:
|
|
description: Role ntp using composable services.
|
|
value:
|
|
service_name: ntp
|
|
config_settings:
|
|
ntp::servers: {get_param: NtpServer}
|
|
ntp::iburst_enable: {get_param: NtpIburstEnable}
|
|
ntp::maxpoll:: {get_param: MaxPoll}
|
|
ntp::minpoll:: {get_param: MinPoll}
|
|
tripleo::ntp::firewall_rules:
|
|
'105 ntp':
|
|
dport: 123
|
|
proto: udp
|
|
step_config: |
|
|
include ::tripleo::profile::base::time::ntp
|
|
host_prep_tasks:
|
|
- name: Populate service facts (ntp)
|
|
service_facts: # needed to make yaml happy
|
|
- name: Disable chronyd before configuring NTP
|
|
service:
|
|
name: chronyd
|
|
state: stopped
|
|
enabled: no
|
|
when: "'chronyd.service' in ansible_facts.services"
|
|
- name: Disable chrony-wait before configuring NTP
|
|
service:
|
|
name: chrony-wait
|
|
state: stopped
|
|
enabled: no
|
|
when: "'chrony-wait.service' in ansible_facts.services"
|
|
- name: NTP settings
|
|
set_fact:
|
|
ntp_servers: {get_param: NtpServer}
|
|
ntp_install_packages: {get_param: EnablePackageInstall}
|
|
- block:
|
|
- name: Install ntpdate
|
|
package:
|
|
name: ntpdate
|
|
state: present
|
|
when: ntp_install_packages|bool
|
|
- name: Ensure system is NTP time synced
|
|
command: ntpdate -u {{ ntp_servers | join(" ") }}
|
|
when: ntp_servers
|