0b60cdd6a1
'apache' module is needed by 'horizon' 4.1.0 173967ab8dd21a93d6f2b47ff2641d0092f729b1 v 1.2.0 Fuel-CI: disable Partial blueprint: merge-openstack-puppet-modules Change-Id: I0f5ff2fafe058c0263c2ace4bc0ce8f7828d3be0
83 lines
2.5 KiB
Puppet
83 lines
2.5 KiB
Puppet
# == Define Resource Type: apache::balancer
|
|
#
|
|
# This type will create an apache balancer cluster file inside the conf.d
|
|
# directory. Each balancer cluster needs one or more balancer members (that can
|
|
# be declared with the apache::balancermember defined resource type). Using
|
|
# storeconfigs, you can export the apache::balancermember resources on all
|
|
# balancer members, and then collect them on a single apache load balancer
|
|
# server.
|
|
#
|
|
# === Requirement/Dependencies:
|
|
#
|
|
# Currently requires the puppetlabs/concat module on the Puppet Forge and uses
|
|
# storeconfigs on the Puppet Master to export/collect resources from all
|
|
# balancer members.
|
|
#
|
|
# === Parameters
|
|
#
|
|
# [*name*]
|
|
# The namevar of the defined resource type is the balancer clusters name.
|
|
# This name is also used in the name of the conf.d file
|
|
#
|
|
# [*proxy_set*]
|
|
# Hash, default empty. If given, each key-value pair will be used as a ProxySet
|
|
# line in the configuration.
|
|
#
|
|
# [*collect_exported*]
|
|
# Boolean, default 'true'. True means 'collect exported @@balancermember
|
|
# resources' (for the case when every balancermember node exports itself),
|
|
# false means 'rely on the existing declared balancermember resources' (for the
|
|
# case when you know the full set of balancermembers in advance and use
|
|
# apache::balancermember with array arguments, which allows you to deploy
|
|
# everything in 1 run)
|
|
#
|
|
#
|
|
# === Examples
|
|
#
|
|
# Exporting the resource for a balancer member:
|
|
#
|
|
# apache::balancer { 'puppet00': }
|
|
#
|
|
define apache::balancer (
|
|
$proxy_set = {},
|
|
$collect_exported = true,
|
|
) {
|
|
include ::apache::mod::proxy_balancer
|
|
|
|
$target = "${::apache::params::confd_dir}/balancer_${name}.conf"
|
|
|
|
concat { $target:
|
|
owner => '0',
|
|
group => '0',
|
|
mode => '0644',
|
|
notify => Service['httpd'],
|
|
}
|
|
|
|
concat::fragment { "00-${name}-header":
|
|
ensure => present,
|
|
target => $target,
|
|
order => '01',
|
|
content => "<Proxy balancer://${name}>\n",
|
|
}
|
|
|
|
if $collect_exported {
|
|
Apache::Balancermember <<| balancer_cluster == $name |>>
|
|
}
|
|
# else: the resources have been created and they introduced their
|
|
# concat fragments. We don't have to do anything about them.
|
|
|
|
concat::fragment { "01-${name}-proxyset":
|
|
ensure => present,
|
|
target => $target,
|
|
order => '19',
|
|
content => inline_template("<% @proxy_set.keys.sort.each do |key| %> Proxyset <%= key %>=<%= @proxy_set[key] %>\n<% end %>"),
|
|
}
|
|
|
|
concat::fragment { "01-${name}-footer":
|
|
ensure => present,
|
|
target => $target,
|
|
order => '20',
|
|
content => "</Proxy>\n",
|
|
}
|
|
}
|