summaryrefslogtreecommitdiffstats
path: root/extraconfig/tasks/post_puppet_pacemaker.j2.yaml
blob: 4d34aedf8155629ca67629f11ada748c6c82766a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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:
      name: {{role.name}}PostPuppetMaintenanceModeDeployment
      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 %}