1 heat_template_version: ocata
4 Pacemaker service configured with Puppet
9 description: Mapping of service_name -> network name. Typically set
10 via parameter_defaults in the resource registry. This
11 mapping overrides those in ServiceNetMapDefaults.
18 description: Mapping of service endpoint -> protocol. Typically set
19 via parameter_defaults in the resource registry.
21 MonitoringSubscriptionPacemaker:
22 default: 'overcloud-pacemaker'
26 description: Enable IPv6 in Corosync
30 description: Whether to enable fencing in Pacemaker or not.
32 PacemakerRemoteAuthkey:
34 description: The authkey for the pacemaker remote service.
39 description: The password for the 'pcsd' user for pacemaker.
44 description: Number of tries for cluster settling. This has the
45 same default as the pacemaker puppet module. Override
46 to a smaller value when in need to replace a controller node.
51 Pacemaker fencing configuration. The JSON should have
52 the following structure:
56 "agent": "AGENT_NAME",
57 "host_mac": "HOST_MAC_ADDRESS",
58 "params": {"PARAM_NAME": "PARAM_VALUE"}
67 "host_mac": "52:54:00:aa:bb:cc",
69 "multicast_address": "225.0.0.12",
70 "port": "baremetal_0",
72 "manage_key_file": true,
73 "key_file": "/etc/fence_xvm.key",
74 "key_file_password": "abcdef"
80 PacemakerLoggingSource:
84 path: /var/log/pacemaker.log,/var/log/cluster/corosync.log
86 /^(?<time>[^ ]*\s*[^ ]* [^ ]*)
91 type: comma_delimited_list
92 description: List of resources managed by pacemaker
93 default: ['rabbitmq','haproxy']
97 description: Role data for the Pacemaker role.
99 service_name: pacemaker
100 monitoring_subscription: {get_param: MonitoringSubscriptionPacemaker}
103 logging_source: {get_param: PacemakerLoggingSource}
105 pacemaker::corosync::cluster_name: 'tripleo_cluster'
106 pacemaker::corosync::manage_fw: false
107 pacemaker::resource_defaults::defaults:
108 resource-stickiness: { value: INFINITY }
109 corosync_token_timeout: 10000
110 pacemaker::corosync::settle_tries: {get_param: CorosyncSettleTries}
111 tripleo.pacemaker.firewall_rules:
121 corosync_ipv6: {get_param: CorosyncIPv6}
122 tripleo::fencing::config: {get_param: FencingConfig}
123 enable_fencing: {get_param: EnableFencing}
126 expression: $.data.passwords.where($ != '').first()
129 - {get_param: PcsdPassword}
130 - {get_param: [DefaultPasswords, pcsd_password]}
131 tripleo::profile::base::pacemaker::remote_authkey: {get_param: PacemakerRemoteAuthkey}
133 include ::tripleo::profile::base::pacemaker
135 - name: Check pacemaker cluster running before upgrade
136 tags: step0,validation
137 pacemaker_cluster: state=online check_and_fail=true
138 - name: Stop pacemaker cluster
140 pacemaker_cluster: state=offline
141 - name: Start pacemaker cluster
143 pacemaker_cluster: state=online
144 - name: Check pacemaker resource
146 pacemaker_resource: state=started resource={{item}} check_mode=true wait_for_resource=true timeout=200
147 with_items: {get_param: PacemakerResources}