aboutsummaryrefslogtreecommitdiffstats
path: root/manifests
diff options
context:
space:
mode:
authorEmilien Macchi <emilien@redhat.com>2016-05-25 16:24:51 -0400
committerEmilien Macchi <emilien@redhat.com>2016-05-30 17:42:38 -0400
commitb0ec457332912476618c55752041f4440dd2cf68 (patch)
treeb472998acc49dac1585d23dbce3a902ba9d5f2aa /manifests
parent7b355dcc63e24dbb730e135b4148e500e6de4233 (diff)
Update profiles for loadbalancer split
Update loadbalancer (nonha and ha) and midonet profiles to consume new tripleo::haproxy class. Keep it backward compatible with old interface until we update THT by using stdlib function: pick. So we first try to get new parameters otherwise we fallback to the old interface. Change-Id: I46ed8348dc990d9aa0d896e1abea3b30a8292634
Diffstat (limited to 'manifests')
-rw-r--r--manifests/profile/base/loadbalancer.pp15
-rw-r--r--manifests/profile/base/neutron/midonet.pp4
-rw-r--r--manifests/profile/pacemaker/loadbalancer.pp54
3 files changed, 52 insertions, 21 deletions
diff --git a/manifests/profile/base/loadbalancer.pp b/manifests/profile/base/loadbalancer.pp
index 2a961c4..e5a0f48 100644
--- a/manifests/profile/base/loadbalancer.pp
+++ b/manifests/profile/base/loadbalancer.pp
@@ -44,9 +44,18 @@ class tripleo::profile::base::loadbalancer (
if $step >= 1 {
if $enable_load_balancer {
- class { '::tripleo::loadbalancer':
- controller_hosts => $controller_node_ips,
- controller_hosts_names => $controller_node_names,
+ # TODO(emilien): remove this conditional once
+ # https://review.openstack.org/#/c/320411/ is merged.
+ if hiera('tripleo::loadbalancer::keystone_admin', undef) {
+ class { '::tripleo::loadbalancer':
+ controller_hosts => $controller_node_ips,
+ controller_hosts_names => $controller_node_names,
+ }
+ } else {
+ class { '::tripleo::haproxy':
+ controller_hosts => $controller_node_ips,
+ controller_hosts_names => $controller_node_names,
+ }
}
}
}
diff --git a/manifests/profile/base/neutron/midonet.pp b/manifests/profile/base/neutron/midonet.pp
index 7374c57..60aa006 100644
--- a/manifests/profile/base/neutron/midonet.pp
+++ b/manifests/profile/base/neutron/midonet.pp
@@ -20,7 +20,7 @@
#
# [*vip*]
# (Optional) Public Virtual IP Address for this cloud
-# Defaults to hiera('tripleo::loadbalancer::public_virtual_ip')
+# Defaults to hiera('public_virtual_ip')
#
# [*keystone_admin_token*]
# (Optional) The Keystone Admin Token
@@ -68,7 +68,7 @@
# Defaults to hiera('step')
#
class tripleo::profile::base::neutron::midonet (
- $vip = hiera('tripleo::loadbalancer::public_virtual_ip', ''),
+ $vip = hiera('public_virtual_ip', 'tripleo::loadbalancer::public_virtual_ip'),
$keystone_admin_token = hiera('keystone::admin_token', ''),
$zookeeper_client_ip = hiera('neutron::bind_host', ''),
$zookeeper_hostnames = hiera('controller_node_names', ''),
diff --git a/manifests/profile/pacemaker/loadbalancer.pp b/manifests/profile/pacemaker/loadbalancer.pp
index 926b482..2f41769 100644
--- a/manifests/profile/pacemaker/loadbalancer.pp
+++ b/manifests/profile/pacemaker/loadbalancer.pp
@@ -46,7 +46,7 @@ class tripleo::profile::pacemaker::loadbalancer (
}
if $step >= 2 and $pacemaker_master and $enable_load_balancer {
- # FIXME: we should not have to access tripleo::loadbalancer class
+ # FIXME: we should not have to access tripleo::haproxy class
# parameters here to configure pacemaker VIPs. The configuration
# of pacemaker VIPs could move into puppet-tripleo or we should
# make use of less specific hiera parameters here for the settings.
@@ -54,45 +54,67 @@ class tripleo::profile::pacemaker::loadbalancer (
clone_params => true,
}
- $control_vip = hiera('tripleo::loadbalancer::controller_virtual_ip')
+ # TODO(emilien): clean-up old parameter references when
+ # https://review.openstack.org/#/c/320411/ is merged.
+ if hiera('tripleo::loadbalancer::controller_virtual_ip', undef) {
+ $control_vip_real = hiera('tripleo::loadbalancer::controller_virtual_ip')
+ } else {
+ $control_vip_real = hiera('controller_virtual_ip')
+ }
tripleo::pacemaker::haproxy_with_vip { 'haproxy_and_control_vip':
vip_name => 'control',
- ip_address => $control_vip,
+ ip_address => $control_vip_real,
}
- $public_vip = hiera('tripleo::loadbalancer::public_virtual_ip')
+ if hiera('tripleo::loadbalancer::public_virtual_ip', undef) {
+ $public_vip_real = hiera('tripleo::loadbalancer::public_virtual_ip')
+ } else {
+ $public_vip_real = hiera('public_virtual_ip')
+ }
tripleo::pacemaker::haproxy_with_vip { 'haproxy_and_public_vip':
- ensure => $public_vip and $public_vip != $control_vip,
+ ensure => $public_vip_real and $public_vip_real != $control_vip_real,
vip_name => 'public',
- ip_address => $public_vip,
+ ip_address => $public_vip_real,
}
$redis_vip = hiera('redis_vip')
tripleo::pacemaker::haproxy_with_vip { 'haproxy_and_redis_vip':
- ensure => $redis_vip and $redis_vip != $control_vip,
+ ensure => $redis_vip and $redis_vip != $control_vip_real,
vip_name => 'redis',
ip_address => $redis_vip,
}
- $internal_api_vip = hiera('tripleo::loadbalancer::internal_api_virtual_ip')
+ if hiera('tripleo::loadbalancer::internal_api_virtual_ip', undef) {
+ $internal_api_vip_real = hiera('tripleo::loadbalancer::internal_api_virtual_ip')
+ } else {
+ $internal_api_vip_real = hiera('internal_api_virtual_ip')
+ }
tripleo::pacemaker::haproxy_with_vip { 'haproxy_and_internal_api_vip':
- ensure => $internal_api_vip and $internal_api_vip != $control_vip,
+ ensure => $internal_api_vip_real and $internal_api_vip_real != $control_vip_real,
vip_name => 'internal_api',
- ip_address => $internal_api_vip,
+ ip_address => $internal_api_vip_real,
}
- $storage_vip = hiera('tripleo::loadbalancer::storage_virtual_ip')
+ if hiera('tripleo::loadbalancer::storage_virtual_ip', undef) {
+ $storage_vip_real = hiera('tripleo::loadbalancer::storage_virtual_ip')
+ } else {
+ $storage_vip_real = hiera('storage_virtual_ip')
+ }
tripleo::pacemaker::haproxy_with_vip { 'haproxy_and_storage_vip':
- ensure => $storage_vip and $storage_vip != $control_vip,
+ ensure => $storage_vip_real and $storage_vip_real != $control_vip_real,
vip_name => 'storage',
- ip_address => $storage_vip,
+ ip_address => $storage_vip_real,
}
- $storage_mgmt_vip = hiera('tripleo::loadbalancer::storage_mgmt_virtual_ip')
+ if hiera('tripleo::loadbalancer::storage_mgmt_virtual_ip', undef) {
+ $storage_mgmt_vip_real = hiera('tripleo::loadbalancer::storage_mgmt_virtual_ip')
+ } else {
+ $storage_mgmt_vip_real = hiera('storage_mgmt_virtual_ip')
+ }
tripleo::pacemaker::haproxy_with_vip { 'haproxy_and_storage_mgmt_vip':
- ensure => $storage_mgmt_vip and $storage_mgmt_vip != $control_vip,
+ ensure => $storage_mgmt_vip_real and $storage_mgmt_vip_real != $control_vip_real,
vip_name => 'storage_mgmt',
- ip_address => $storage_mgmt_vip,
+ ip_address => $storage_mgmt_vip_real,
}
}