From 77b4d6adcf7b1e022a6a64114bded00c980a3769 Mon Sep 17 00:00:00 2001 From: Fatih Degirmenci Date: Tue, 18 Apr 2017 10:37:37 +0200 Subject: xci: Force sync time For some reason, when the nodes are provisioned, they are out of sync time-wise. This prevents neutron agents on compute nodes from starting and then everything fails. This change restarts chrony after the network configuration is updated and the nodes have internet access and force synchs time on nodes. Change-Id: Ib27b1fa0313223b52fa2e6229d5a179581d62686 Signed-off-by: Fatih Degirmenci --- xci/file/ha/configure-targethosts.yml | 4 ++++ xci/file/mini/configure-targethosts.yml | 4 ++++ xci/file/noha/configure-targethosts.yml | 4 ++++ xci/playbooks/roles/synchronize-time/tasks/main.yml | 18 ++++++++++++++++++ 4 files changed, 30 insertions(+) create mode 100644 xci/playbooks/roles/synchronize-time/tasks/main.yml diff --git a/xci/file/ha/configure-targethosts.yml b/xci/file/ha/configure-targethosts.yml index cdbe390b..b03891d0 100644 --- a/xci/file/ha/configure-targethosts.yml +++ b/xci/file/ha/configure-targethosts.yml @@ -15,6 +15,8 @@ roles: # TODO: this only works for ubuntu/xenial and need to be adjusted for other distros - { role: configure-network, src: "../template/controller.interface.j2", dest: "/etc/network/interfaces" } + # we need to force sync time with ntp or the nodes will be out of sync timewise + - role: synchronize-time - hosts: compute remote_user: root @@ -24,6 +26,8 @@ roles: # TODO: this only works for ubuntu/xenial and need to be adjusted for other distros - { role: configure-network, src: "../template/compute.interface.j2", dest: "/etc/network/interfaces" } + # we need to force sync time with ntp or the nodes will be out of sync timewise + - role: synchronize-time - hosts: compute01 remote_user: root diff --git a/xci/file/mini/configure-targethosts.yml b/xci/file/mini/configure-targethosts.yml index 8daf7d44..7a20c0f6 100644 --- a/xci/file/mini/configure-targethosts.yml +++ b/xci/file/mini/configure-targethosts.yml @@ -15,6 +15,8 @@ roles: # TODO: this only works for ubuntu/xenial and need to be adjusted for other distros - { role: configure-network, src: "../template/controller.interface.j2", dest: "/etc/network/interfaces" } + # we need to force sync time with ntp or the nodes will be out of sync timewise + - role: synchronize-time - hosts: compute remote_user: root @@ -24,5 +26,7 @@ roles: # TODO: this only works for ubuntu/xenial and need to be adjusted for other distros - { role: configure-network, src: "../template/compute.interface.j2", dest: "/etc/network/interfaces" } + # we need to force sync time with ntp or the nodes will be out of sync timewise + - role: synchronize-time # TODO: this role is for configuring NFS on xenial and adjustment needed for other distros - role: configure-nfs diff --git a/xci/file/noha/configure-targethosts.yml b/xci/file/noha/configure-targethosts.yml index cdbe390b..b03891d0 100644 --- a/xci/file/noha/configure-targethosts.yml +++ b/xci/file/noha/configure-targethosts.yml @@ -15,6 +15,8 @@ roles: # TODO: this only works for ubuntu/xenial and need to be adjusted for other distros - { role: configure-network, src: "../template/controller.interface.j2", dest: "/etc/network/interfaces" } + # we need to force sync time with ntp or the nodes will be out of sync timewise + - role: synchronize-time - hosts: compute remote_user: root @@ -24,6 +26,8 @@ roles: # TODO: this only works for ubuntu/xenial and need to be adjusted for other distros - { role: configure-network, src: "../template/compute.interface.j2", dest: "/etc/network/interfaces" } + # we need to force sync time with ntp or the nodes will be out of sync timewise + - role: synchronize-time - hosts: compute01 remote_user: root diff --git a/xci/playbooks/roles/synchronize-time/tasks/main.yml b/xci/playbooks/roles/synchronize-time/tasks/main.yml new file mode 100644 index 00000000..5c39d897 --- /dev/null +++ b/xci/playbooks/roles/synchronize-time/tasks/main.yml @@ -0,0 +1,18 @@ +--- +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2017 Ericsson AB and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +# TODO: this role needs to be adjusted for different distros +- block: + - name: restart chrony + service: + name: chrony + state: restarted + - name: synchronize time + shell: "chronyc -a 'burst 4/4' && chronyc -a makestep" + when: ansible_distribution_release == "xenial" -- cgit 1.2.3-korg