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/pacemaker | |
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/pacemaker')
-rw-r--r-- | manifests/pacemaker/resource_restart_flag.pp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/manifests/pacemaker/resource_restart_flag.pp b/manifests/pacemaker/resource_restart_flag.pp new file mode 100644 index 0000000..aded802 --- /dev/null +++ b/manifests/pacemaker/resource_restart_flag.pp @@ -0,0 +1,35 @@ +# Copyright 2016 Red Hat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# == Define: tripleo::pacemaker::resource_restart_flag +# +# Creates a flag file on the filesystem to signify that a pacemaker +# resource needs restarting (usually to pick up config changes after +# they've been written on all nodes). +# +# === Parameters +# +# [*title*] +# The resource name in Pacemaker to restart. If it's a cloned +# resource, the name should include the '-clone' part. +# +define tripleo::pacemaker::resource_restart_flag() { + + exec { "${title} resource restart flag": + command => "touch /var/lib/tripleo/pacemaker-restarts/${title}", + path => ['/bin','/usr/bin','/sbin','/usr/sbin'], + refreshonly => true, + } + +} |