Newer
Older
class iaas::profile::haproxy (
$stats_enabled = undef,
$stats_ports = undef,
$stats_refresh = undef,
$stats_login = undef,
$stats_password = undef,
$stats_uri = undef,
$servers = undef,
Quentin MACHU
committed
class { '::haproxy':
defaults_options => {
'mode' => 'http',
'log' => 'global',
'option' => [
'tcplog',
'dontlognull',
'redispatch',
],
Quentin MACHU
committed
'retries' => '3',
'timeout' => [
'http-request 10s',
Quentin MACHU
committed
'queue 1m',
Quentin MACHU
committed
'connect 10s',
Quentin MACHU
committed
'client 1m',
'server 1m',
'http-keep-alive 10s',
Quentin MACHU
committed
'check 10s',
],
Quentin MACHU
committed
},
}
if stats_enabled {
haproxy::listen { 'stats':
ipaddress => '0.0.0.0',
mode => 'http',
ports => $stats_ports,
options => {
'stats' => [
'enable',
'hide-version',
"refresh ${stats_refresh}",
'show-node',
"auth ${stats_login}:${stats_password}",
"uri ${stats_uri}"
],
}
}
}
haproxy::listen { 'percona_cluster':
ipaddress => '0.0.0.0',
mode => 'tcp',
ports => '3306',
options => {
'option' => ['httpchk','tcpka'],
'balance' => 'leastconn',
if $servers != undef {
haproxy::balancermember { 'percona_cluster_prior':
listening_service => 'percona_cluster',
ports => '3307',
server_names => $servers[priority_hostname],
ipaddresses => $servers[priority_ip],
options => 'check port 9200',
}
haproxy::balancermember { 'percona_cluster_secondaries':
listening_service => 'percona_cluster',
ports => '3307',
server_names => $servers[hostnames],
ipaddresses => $servers[ips],
options => 'check port 9200 backup',
}
}
# haproxy::listen { 'rabbitmq':
# ipaddress => '0.0.0.0',
# mode => 'tcp',
# ports => '5672',
# options => {
# 'option' => ['tcpka'],
# 'timeout' => [
# 'client 7d',
# 'server 7d',
# ]
# }
# }
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
haproxy::listen { 'keystone_admin_cluster':
ipaddress => '0.0.0.0',
ports => '35357',
options => {
'option' => ['tcpka', 'httpchk', 'tcplog'],
}
}
haproxy::listen { 'keystone_public_internal_cluster':
ipaddress => '0.0.0.0',
ports => '5000',
options => {
'option' => ['tcpka', 'httpchk', 'tcplog'],
}
}
haproxy::listen { 'glance_api_cluster':
ipaddress => '0.0.0.0',
ports => '9292',
options => {
'option' => ['tcpka', 'httpchk', 'tcplog'],
}
}
haproxy::listen { 'glance_registry_cluster':
ipaddress => '0.0.0.0',
ports => '9191',
options => {
'option' => ['tcpka', 'httpchk', 'tcplog'],
Quentin MACHU
committed
'http-check' => 'expect status 401',
}
}
haproxy::listen { 'cinder_api_cluster':
ipaddress => '0.0.0.0',
ports => '8776',
options => {
'option' => ['tcpka', 'httpchk', 'tcplog'],
}
}
haproxy::listen { 'nova_api_cluster':
ipaddress => '0.0.0.0',
ports => '8774',
options => {
'option' => ['tcpka', 'httpchk', 'tcplog'],
}
}
haproxy::listen { 'nova_metadata_api_cluster':
ipaddress => '0.0.0.0',
ports => '8775',
options => {
'option' => ['tcpka', 'httpchk', 'tcplog'],
}
}
Quentin MACHU
committed
haproxy::listen { 'nova_novncproxy':
ipaddress => '0.0.0.0',
ports => '6080',
options => {
'option' => ['tcpka', 'tcplog'],
}
}
haproxy::listen { 'neutron_api_cluster':
ipaddress => '0.0.0.0',
ports => '9696',
options => {
'option' => ['tcpka', 'httpchk', 'tcplog'],
}
}
haproxy::listen { 'heat_api_cluster':
ipaddress => '0.0.0.0',
ports => '8004',
options => {
'option' => ['tcpka', 'httpchk', 'tcplog'],
}
}
haproxy::listen { 'heat_api_cfn_cluster':
ipaddress => '0.0.0.0',
ports => '8000',
options => {
'option' => ['tcpka', 'httpchk', 'tcplog'],
}
}
haproxy::listen { 'heat_api_cw_cluster':
ipaddress => '0.0.0.0',
ports => '8003',
options => {
'option' => ['tcpka', 'httpchk', 'tcplog'],
}
}
haproxy::listen { 'horizon_cluster':
ipaddress => '0.0.0.0',
ports => '80',
options => {
'option' => ['tcpka', 'httpchk', 'tcplog'],
}
}
haproxy::listen { 'ceilometer_api_cluster':
ipaddress => '0.0.0.0',
ports => '8777',
options => {
'option' => ['tcpka', 'httpchk', 'tcplog'],
'http-check' => 'expect status 401',
}
}