From d82b3d11eebe952e0fabd915730d6f5d1f8187ef Mon Sep 17 00:00:00 2001 From: Alex Schultz Date: Wed, 20 Jun 2018 08:54:57 -0600 Subject: [PATCH] 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 a866f55691c5871db335cd976c71d3429dbf62b1) --- puppet/services/time/ntp.yaml | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/puppet/services/time/ntp.yaml b/puppet/services/time/ntp.yaml index 41df19a0b9..bea3ba32e1 100644 --- a/puppet/services/time/ntp.yaml +++ b/puppet/services/time/ntp.yaml @@ -46,7 +46,10 @@ parameters: ntp will send a burst of eight packages instead of one. This is designed to speed up the initial syncrhonization. type: boolean - + EnablePackageInstall: + default: 'false' + description: Set to true to enable package installation at deploy time + type: boolean outputs: role_data: @@ -62,3 +65,17 @@ outputs: proto: udp step_config: | 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