diff options
author | Jiri Stransky <jistr@redhat.com> | 2016-08-19 15:17:59 +0200 |
---|---|---|
committer | Jiri Stransky <jistr@redhat.com> | 2016-08-30 11:19:53 +0200 |
commit | da4bcee4d65cf2e0d48eab03a4a9582e3806238e (patch) | |
tree | d678f042c861e1529862bebd3603c015c011c560 /manifests/profile/pacemaker/database | |
parent | 66e52a73cf60c8972040929a19b4d56cd7c20737 (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.pp | 6 | ||||
-rw-r--r-- | manifests/profile/pacemaker/database/redis.pp | 8 |
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 { |