aboutsummaryrefslogtreecommitdiffstats
path: root/puppet/manifests/overcloud_controller.pp
diff options
context:
space:
mode:
authorGiulio Fidente <gfidente@redhat.com>2015-04-17 20:19:36 +0200
committerGiulio Fidente <gfidente@redhat.com>2015-04-20 15:43:28 -0400
commitf7826b8a3a083a1776c5f1f02526232a3bf32d4d (patch)
tree7ee78b8b5a03438ac52641866328c83ab2541436 /puppet/manifests/overcloud_controller.pp
parent40148f70d0bc1d41e65f16928fa47723e4541e15 (diff)
Perform basic setup of Pacemaker cluster using puppet-pacemaker
Depends-On: Ia1bbf53c674e34ba7c70249895b106ec0af3c249 Change-Id: Ifa9f579d26a3cba9f8705226984c7b987ae0ad1c
Diffstat (limited to 'puppet/manifests/overcloud_controller.pp')
-rw-r--r--puppet/manifests/overcloud_controller.pp38
1 files changed, 23 insertions, 15 deletions
diff --git a/puppet/manifests/overcloud_controller.pp b/puppet/manifests/overcloud_controller.pp
index 0d57dc6f..08f9d427 100644
--- a/puppet/manifests/overcloud_controller.pp
+++ b/puppet/manifests/overcloud_controller.pp
@@ -27,25 +27,33 @@ if !str2bool(hiera('enable_package_install', 'false')) {
if hiera('step') >= 1 {
$controller_node_ips = split(hiera('controller_node_ips'), ',')
+ $enable_pacemaker = str2bool(hiera('enable_pacemaker'))
+ $enable_keepalived = !$enable_pacemaker
+
class { '::tripleo::loadbalancer' :
controller_hosts => $controller_node_ips,
}
- class { '::corosync':
- quorum_members => $controller_node_ips,
- }
- corosync::service { 'pacemaker':
- version => '0',
- }
- service { 'pacemaker':
- ensure => running,
- require => Service['corosync'],
- }
- cs_property { 'stonith-enabled':
- value => 'false',
- }
- cs_property { 'no-quorum-policy':
- value => 'ignore',
+ if $enable_pacemaker {
+ $pacemaker_cluster_members = regsubst(hiera('controller_node_ips'), ',', ' ', 'G')
+ if $::hostname == downcase(hiera('bootstrap_nodeid')) {
+ $pacemaker_master = true
+ } else {
+ $pacemaker_master = false
+ }
+ user { 'hacluster':
+ ensure => present,
+ } ->
+ class { '::pacemaker':
+ hacluster_pwd => hiera('hacluster_pwd'),
+ } ->
+ class { '::pacemaker::corosync':
+ cluster_members => $pacemaker_cluster_members,
+ setup_cluster => $pacemaker_master,
+ }
+ class { '::pacemaker::stonith':
+ disable => true,
+ }
}
}