Allow to manually disable post-puppet restarts

Restarting services after Puppet is vital to ensure that config changes
go applied. However, it can be sometimes desirable to prevent these
restarts to avoid downtime, if the operator is sure that no config
changes need applying. This can be a case e.g. when scaling compute
nodes. Passing the puppet-pacemaker-no-restart.yaml environment file *in
addition* to puppet-pacemaker.yaml should allow this.

This is a stop gap solution before we have proper communication between
Puppet and Pacemaker to allow selective restarts.

Change-Id: I9c3c5c10ed6ecd5489a59d7e320c3c69af9e19f4
This commit is contained in:
Jiri Stransky 2016-06-07 12:15:04 +02:00
parent eef24da485
commit f918bdb048
4 changed files with 34 additions and 13 deletions

View File

@ -0,0 +1,3 @@
# use this file *in addition* to puppet-pacemaker.yaml
resource_registry:
OS::TripleO::Tasks::ControllerPostPuppetRestart: OS::Heat::None

View File

@ -4,6 +4,7 @@ resource_registry:
OS::TripleO::ControllerConfig: ../puppet/controller-config-pacemaker.yaml OS::TripleO::ControllerConfig: ../puppet/controller-config-pacemaker.yaml
OS::TripleO::Tasks::ControllerPrePuppet: ../extraconfig/tasks/pre_puppet_pacemaker.yaml OS::TripleO::Tasks::ControllerPrePuppet: ../extraconfig/tasks/pre_puppet_pacemaker.yaml
OS::TripleO::Tasks::ControllerPostPuppet: ../extraconfig/tasks/post_puppet_pacemaker.yaml OS::TripleO::Tasks::ControllerPostPuppet: ../extraconfig/tasks/post_puppet_pacemaker.yaml
OS::TripleO::Tasks::ControllerPostPuppetRestart: ../extraconfig/tasks/post_puppet_pacemaker_restart.yaml
# custom pacemaker services # custom pacemaker services
# NOTE: For now we will need to specify overrides to all services # NOTE: For now we will need to specify overrides to all services

View File

@ -29,20 +29,9 @@ resources:
config: {get_resource: ControllerPostPuppetMaintenanceModeConfig} config: {get_resource: ControllerPostPuppetMaintenanceModeConfig}
input_values: {get_param: input_values} input_values: {get_param: input_values}
ControllerPostPuppetRestartConfig: ControllerPostPuppetRestart:
type: OS::Heat::SoftwareConfig type: OS::TripleO::Tasks::ControllerPostPuppetRestart
properties:
group: script
config:
list_join:
- ''
- - get_file: pacemaker_common_functions.sh
- get_file: pacemaker_resource_restart.sh
ControllerPostPuppetRestartDeployment:
type: OS::Heat::SoftwareDeployments
depends_on: ControllerPostPuppetMaintenanceModeDeployment depends_on: ControllerPostPuppetMaintenanceModeDeployment
properties: properties:
servers: {get_param: servers} servers: {get_param: servers}
config: {get_resource: ControllerPostPuppetRestartConfig}
input_values: {get_param: input_values} input_values: {get_param: input_values}

View File

@ -0,0 +1,28 @@
heat_template_version: 2014-10-16
description: 'Post-Puppet restart config for Pacemaker deployments'
parameters:
servers:
type: json
input_values:
type: json
description: input values for the software deployments
resources:
ControllerPostPuppetRestartConfig:
type: OS::Heat::SoftwareConfig
properties:
group: script
config:
list_join:
- ''
- - get_file: pacemaker_common_functions.sh
- get_file: pacemaker_resource_restart.sh
ControllerPostPuppetRestartDeployment:
type: OS::Heat::SoftwareDeployments
properties:
servers: {get_param: servers}
config: {get_resource: ControllerPostPuppetRestartConfig}
input_values: {get_param: input_values}