summaryrefslogtreecommitdiffstats
path: root/manifests/network
diff options
context:
space:
mode:
authorSofer Athlan-Guyot <sathlang@redhat.com>2016-11-08 16:44:26 +0100
committerSofer Athlan-Guyot <sathlang@redhat.com>2016-11-09 10:50:24 +0100
commitb9dcee028795bb1132176df7ef3f435039cc20cb (patch)
treee2372e8545b4150f515e8cd6a9d6b7ba92fdb552 /manifests/network
parentb11d048e55fc20a90bcf11eed0f4cea5e1b45f7c (diff)
Ensure keepalived is restarted when necessary.
If os-collect-config/config.json is updated before an upgrade/update, then the os-net-config run will automatically erase the keepalived managed ips. This is a hackish way to ensure that keepalived is restarted during the next phase in order to have the ip recreated. It basically adds a comment line to the keepalived.conf file (making it different than the puppet one) if it's there. This will force a puppet restart of the keepalive service puting the ips back on the undercloud. Change-Id: I56b706ff44ba31aa87a63f870940831ce02a6e77 Closes-Bug: #1640213 Related-Bug: #1638029
Diffstat (limited to 'manifests/network')
-rw-r--r--manifests/network/os_net_config.pp11
1 files changed, 11 insertions, 0 deletions
diff --git a/manifests/network/os_net_config.pp b/manifests/network/os_net_config.pp
index 7e07f6c..3283b5f 100644
--- a/manifests/network/os_net_config.pp
+++ b/manifests/network/os_net_config.pp
@@ -30,6 +30,17 @@ class tripleo::network::os_net_config {
Package['openvswitch'],
Service['openvswitch'],
],
+ notify => Exec['trigger-keepalived-restart'],
}
+ # By modifying the keepalived.conf file we ensure that puppet will
+ # trigger a restart of keepalived during the main stage. Adding back
+ # any lost conf during the os-net-config step.
+ exec { 'trigger-keepalived-restart':
+ command => '/usr/bin/echo "# Restart keepalived" >> /etc/keepalived/keepalived.conf',
+ path => '/usr/bin:/bin',
+ refreshonly => true,
+ # Only if keepalived is installed
+ onlyif => 'test -e /etc/keepalived/keepalived.conf',
+ }
}