f918bdb048
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
38 lines
1.1 KiB
YAML
38 lines
1.1 KiB
YAML
heat_template_version: 2014-10-16
|
|
description: 'Post-Puppet Config for Pacemaker deployments'
|
|
|
|
parameters:
|
|
servers:
|
|
type: json
|
|
input_values:
|
|
type: json
|
|
description: input values for the software deployments
|
|
|
|
resources:
|
|
|
|
ControllerPostPuppetMaintenanceModeConfig:
|
|
type: OS::Heat::SoftwareConfig
|
|
properties:
|
|
group: script
|
|
config: |
|
|
#!/bin/bash
|
|
pacemaker_status=$(systemctl is-active pacemaker)
|
|
|
|
if [ "$pacemaker_status" = "active" ]; then
|
|
pcs property set maintenance-mode=false
|
|
fi
|
|
|
|
ControllerPostPuppetMaintenanceModeDeployment:
|
|
type: OS::Heat::SoftwareDeployments
|
|
properties:
|
|
servers: {get_param: servers}
|
|
config: {get_resource: ControllerPostPuppetMaintenanceModeConfig}
|
|
input_values: {get_param: input_values}
|
|
|
|
ControllerPostPuppetRestart:
|
|
type: OS::TripleO::Tasks::ControllerPostPuppetRestart
|
|
depends_on: ControllerPostPuppetMaintenanceModeDeployment
|
|
properties:
|
|
servers: {get_param: servers}
|
|
input_values: {get_param: input_values}
|