49 lines
1.1 KiB
Puppet
49 lines
1.1 KiB
Puppet
notice('MODULAR: detach-haproxy/add_to_hiera.pp')
|
|
|
|
$plugin_name = 'detach_haproxy'
|
|
$network_metadata = hiera_hash('network_metadata', {})
|
|
$haproxy_roles = ['primary-standalone-haproxy', 'standalone-haproxy']
|
|
$haproxy_nodes = get_nodes_hash_by_roles($network_metadata, $haproxy_roles)
|
|
|
|
$mgmt_ip = $network_metadata['vips']['haproxy']['ipaddr']
|
|
$public_ip = $network_metadata['vips']['haproxy_public']['ipaddr']
|
|
|
|
if roles_include($haproxy_roles){
|
|
$haproxy = true
|
|
} else {
|
|
$haproxy = false
|
|
}
|
|
|
|
file {"/etc/hiera/plugins/${plugin_name}.yaml":
|
|
ensure => file,
|
|
content => inline_template("# Created by puppet, please do not edit manually
|
|
network_metadata:
|
|
vips:
|
|
<% unless @haproxy -%>
|
|
haproxy:
|
|
namespace: false
|
|
haproxy_public:
|
|
namespace: false
|
|
<% end -%>
|
|
management:
|
|
ipaddr: <%= @mgmt_ip %>
|
|
<% if @haproxy -%>
|
|
namespace: haproxy
|
|
<% else -%>
|
|
namespace: false
|
|
<% end -%>
|
|
public:
|
|
ipaddr: <%= @public_ip %>
|
|
<% if @haproxy -%>
|
|
namespace: haproxy
|
|
<% else -%>
|
|
namespace: false
|
|
<% end -%>
|
|
<% if @haproxy -%>
|
|
corosync_roles: <%= @haproxy_roles %>
|
|
<% end -%>
|
|
run_ping_checker: false
|
|
")
|
|
}
|
|
|