1 heat_template_version: pike
4 Pacemaker service configured with Puppet
9 description: Dictionary packing service data
13 description: Mapping of service_name -> network name. Typically set
14 via parameter_defaults in the resource registry. This
15 mapping overrides those in ServiceNetMapDefaults.
22 description: Role name on which the service is applied
26 description: Parameters specific to the role
30 description: Mapping of service endpoint -> protocol. Typically set
31 via parameter_defaults in the resource registry.
33 MonitoringSubscriptionPacemaker:
34 default: 'overcloud-pacemaker'
38 description: Enable IPv6 in Corosync
42 description: Whether to enable fencing in Pacemaker or not.
44 PacemakerRemoteAuthkey:
46 description: The authkey for the pacemaker remote service.
51 description: The password for the 'pcsd' user for pacemaker.
56 description: Number of tries for cluster settling. This has the
57 same default as the pacemaker puppet module. Override
58 to a smaller value when in need to replace a controller node.
63 Pacemaker fencing configuration. The JSON should have
64 the following structure:
68 "agent": "AGENT_NAME",
69 "host_mac": "HOST_MAC_ADDRESS",
70 "params": {"PARAM_NAME": "PARAM_VALUE"}
79 "host_mac": "52:54:00:aa:bb:cc",
81 "multicast_address": "225.0.0.12",
82 "port": "baremetal_0",
84 "manage_key_file": true,
85 "key_file": "/etc/fence_xvm.key",
86 "key_file_password": "abcdef"
92 PacemakerLoggingSource:
96 path: /var/log/pacemaker.log,/var/log/cluster/corosync.log
98 /^(?<time>[^ ]*\s*[^ ]* [^ ]*)
105 description: Whether to deploy a LoadBalancer on the Controller
110 description: Role data for the Pacemaker role.
112 service_name: pacemaker
113 monitoring_subscription: {get_param: MonitoringSubscriptionPacemaker}
116 logging_source: {get_param: PacemakerLoggingSource}
118 pacemaker::corosync::cluster_name: 'tripleo_cluster'
119 pacemaker::corosync::manage_fw: false
120 pacemaker::resource_defaults::defaults:
121 resource-stickiness: { value: INFINITY }
122 corosync_token_timeout: 10000
123 pacemaker::corosync::settle_tries: {get_param: CorosyncSettleTries}
124 tripleo.pacemaker.firewall_rules:
134 corosync_ipv6: {get_param: CorosyncIPv6}
135 tripleo::fencing::config: {get_param: FencingConfig}
136 enable_fencing: {get_param: EnableFencing}
139 expression: $.data.passwords.where($ != '').first()
142 - {get_param: PcsdPassword}
143 - {get_param: [DefaultPasswords, pcsd_password]}
144 tripleo::profile::base::pacemaker::remote_authkey: {get_param: PacemakerRemoteAuthkey}
146 include ::tripleo::profile::base::pacemaker
148 - name: Check pacemaker cluster running before upgrade
149 tags: step0,validation
150 pacemaker_cluster: state=online check_and_fail=true
153 - name: Stop pacemaker cluster
155 pacemaker_cluster: state=offline
156 - name: Start pacemaker cluster
158 pacemaker_cluster: state=online