Add host prep step for ntp time sync

Docker doesn't like it when the time shifts so if we're building
containers when the ntp time sync actually occurs it can lead to
deployment failures. To prevent this, let's force a ntpdate on the host
during step1 to ensure the hardware time is properly synced before
proceeding.

Change-Id: I812c7da90ae06120707fd8795a41e4fd867f510e
Closes-Bug: #1776869
(cherry picked from commit a866f55691)
This commit is contained in:
Alex Schultz 2018-06-20 08:54:57 -06:00
parent a5ce2a9843
commit d82b3d11ee
1 changed files with 18 additions and 1 deletions

View File

@ -46,7 +46,10 @@ parameters:
ntp will send a burst of eight packages instead of one. This ntp will send a burst of eight packages instead of one. This
is designed to speed up the initial syncrhonization. is designed to speed up the initial syncrhonization.
type: boolean type: boolean
EnablePackageInstall:
default: 'false'
description: Set to true to enable package installation at deploy time
type: boolean
outputs: outputs:
role_data: role_data:
@ -62,3 +65,17 @@ outputs:
proto: udp proto: udp
step_config: | step_config: |
include ::tripleo::profile::base::time::ntp include ::tripleo::profile::base::time::ntp
host_prep_tasks:
- 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