summaryrefslogtreecommitdiffstats
path: root/extraconfig/tasks/post_puppet_pacemaker.j2.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'extraconfig/tasks/post_puppet_pacemaker.j2.yaml')
-rw-r--r--extraconfig/tasks/post_puppet_pacemaker.j2.yaml42
1 files changed, 42 insertions, 0 deletions
diff --git a/extraconfig/tasks/post_puppet_pacemaker.j2.yaml b/extraconfig/tasks/post_puppet_pacemaker.j2.yaml
new file mode 100644
index 00000000..7fc258d6
--- /dev/null
+++ b/extraconfig/tasks/post_puppet_pacemaker.j2.yaml
@@ -0,0 +1,42 @@
+heat_template_version: pike
+description: 'Post-Puppet Config for Pacemaker deployments'
+
+parameters:
+ servers:
+ type: json
+ input_values:
+ type: json
+ description: input values for the software deployments
+
+resources:
+
+{%- for role in roles -%}
+{% if "controller" in role.tags %}
+ {{role.name}}PostPuppetMaintenanceModeConfig:
+ 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
+
+ {{role.name}}PostPuppetMaintenanceModeDeployment:
+ type: OS::Heat::SoftwareDeployments
+ properties:
+ servers: {get_param: [servers, {{role.name}}]}
+ config: {get_resource: {{role.name}}PostPuppetMaintenanceModeConfig}
+ input_values: {get_param: input_values}
+
+ {{role.name}}PostPuppetRestart:
+ type: OS::TripleO::Tasks::{{role.name}}PostPuppetRestart
+ depends_on: {{role.name}}PostPuppetMaintenanceModeDeployment
+ properties:
+ servers: {get_param: [servers, {{role.name}}]}
+ input_values: {get_param: input_values}
+{%- endif -%}
+{% endfor %}
+