xci: Force sync time 51/33451/2
authorFatih Degirmenci <fatih.degirmenci@ericsson.com>
Tue, 18 Apr 2017 08:37:37 +0000 (10:37 +0200)
committerFatih Degirmenci <fatih.degirmenci@ericsson.com>
Tue, 18 Apr 2017 08:56:05 +0000 (10:56 +0200)
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 <fatih.degirmenci@ericsson.com>
prototypes/xci/file/ha/configure-targethosts.yml
prototypes/xci/file/mini/configure-targethosts.yml
prototypes/xci/file/noha/configure-targethosts.yml
prototypes/xci/playbooks/roles/synchronize-time/tasks/main.yml [new file with mode: 0644]

index cdbe390..b03891d 100644 (file)
@@ -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
index 8daf7d4..7a20c0f 100644 (file)
@@ -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
index cdbe390..b03891d 100644 (file)
@@ -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/prototypes/xci/playbooks/roles/synchronize-time/tasks/main.yml b/prototypes/xci/playbooks/roles/synchronize-time/tasks/main.yml
new file mode 100644 (file)
index 0000000..5c39d89
--- /dev/null
@@ -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"