aboutsummaryrefslogtreecommitdiffstats
path: root/manifests/profile/pacemaker/database
diff options
context:
space:
mode:
authorJiri Stransky <jistr@redhat.com>2016-08-19 15:17:59 +0200
committerJiri Stransky <jistr@redhat.com>2016-08-30 11:19:53 +0200
commitda4bcee4d65cf2e0d48eab03a4a9582e3806238e (patch)
treed678f042c861e1529862bebd3603c015c011c560 /manifests/profile/pacemaker/database
parent66e52a73cf60c8972040929a19b4d56cd7c20737 (diff)
Write restart flags to restart services only when necessary
Write restart flag file for services managed by Pacemaker into /var/lib/tripleo/pacemaker-restarts directory. The name of the file must match the name of the clone resource defined in pacemaker. The post-puppet restart script will restart each service having a restart flag file and remove those files. This approach focuses on $pacemaker_master only (we don't want to restart the pacemaker services 3 times when we have 3 controllers), so it relies on the assumption that we're making the matching config changes across the pacemaker nodes. Change-Id: I6369ab0c82dbf3c8f21043f8aa9ab810744ddc12
Diffstat (limited to 'manifests/profile/pacemaker/database')
-rw-r--r--manifests/profile/pacemaker/database/mysql.pp6
-rw-r--r--manifests/profile/pacemaker/database/redis.pp8
2 files changed, 14 insertions, 0 deletions
diff --git a/manifests/profile/pacemaker/database/mysql.pp b/manifests/profile/pacemaker/database/mysql.pp
index fceb415..4e60f2f 100644
--- a/manifests/profile/pacemaker/database/mysql.pp
+++ b/manifests/profile/pacemaker/database/mysql.pp
@@ -71,6 +71,12 @@ class tripleo::profile::pacemaker::database::mysql (
mysql_server_options => $mysqld_options,
}
+ if $step >= 1 and $pacemaker_master and hiera('stack_action') == 'UPDATE' {
+ tripleo::pacemaker::resource_restart_flag { 'galera-master':
+ subscribe => File['mysql-config-file'],
+ }
+ }
+
if $step >= 2 {
if $pacemaker_master {
pacemaker::resource::ocf { 'galera' :
diff --git a/manifests/profile/pacemaker/database/redis.pp b/manifests/profile/pacemaker/database/redis.pp
index 8a37ce9..e081516 100644
--- a/manifests/profile/pacemaker/database/redis.pp
+++ b/manifests/profile/pacemaker/database/redis.pp
@@ -44,6 +44,14 @@ class tripleo::profile::pacemaker::database::redis (
if $step >= 1 {
include ::redis
+
+ if $pacemaker_master and hiera('stack_action') == 'UPDATE' {
+ tripleo::pacemaker::resource_restart_flag { 'redis-master':
+ # ouch, but trying to stay close how notification works in
+ # puppet-redis when pacemaker is not being used
+ subscribe => Exec["cp -p ${::redis::config_file_orig} ${::redis::config_file}"]
+ }
+ }
}
if $step >= 2 and $pacemaker_master {