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*[^ ]* [^ ]*)
93 description: Whether to deploy a LoadBalancer on the Controller
97 type: comma_delimited_list
98 description: List of resources managed by pacemaker
99 default: ['rabbitmq', 'galera']
103 description: Role data for the Pacemaker role.
105 service_name: pacemaker
106 monitoring_subscription: {get_param: MonitoringSubscriptionPacemaker}
109 logging_source: {get_param: PacemakerLoggingSource}
111 pacemaker::corosync::cluster_name: 'tripleo_cluster'
112 pacemaker::corosync::manage_fw: false
113 pacemaker::resource_defaults::defaults:
114 resource-stickiness: { value: INFINITY }
115 corosync_token_timeout: 10000
116 pacemaker::corosync::settle_tries: {get_param: CorosyncSettleTries}
117 tripleo.pacemaker.firewall_rules:
127 corosync_ipv6: {get_param: CorosyncIPv6}
128 tripleo::fencing::config: {get_param: FencingConfig}
129 enable_fencing: {get_param: EnableFencing}
132 expression: $.data.passwords.where($ != '').first()
135 - {get_param: PcsdPassword}
136 - {get_param: [DefaultPasswords, pcsd_password]}
137 tripleo::profile::base::pacemaker::remote_authkey: {get_param: PacemakerRemoteAuthkey}
139 include ::tripleo::profile::base::pacemaker
141 - name: Check pacemaker cluster running before upgrade
142 tags: step0,validation
143 pacemaker_cluster: state=online check_and_fail=true
144 - name: Stop pacemaker cluster
146 pacemaker_cluster: state=offline
147 - name: Start pacemaker cluster
149 pacemaker_cluster: state=online
150 - name: Check pacemaker resource
153 resource: "{{ item }}"
155 with_items: {get_param: PacemakerResources}
156 - name: Check pacemaker haproxy resource
161 when: {get_param: EnableLoadBalancer}