d02d2dd124
... because the latest lint no longer allows usage of legacy facts and top scope fact. Change-Id: I3f17eb12408f4b88bf72f4de31cdf8f8fa008c2a
122 lines
3.9 KiB
Puppet
122 lines
3.9 KiB
Puppet
# Installs and configures the octavia health manager service
|
|
#
|
|
# == Parameters
|
|
#
|
|
# [*enabled*]
|
|
# (optional) Should the service be enabled.
|
|
# Defaults to true
|
|
#
|
|
# [*manage_service*]
|
|
# (optional) Whether the service should be managed by Puppet.
|
|
# Defaults to true.
|
|
#
|
|
# [*package_ensure*]
|
|
# (optional) ensure state for package.
|
|
# Defaults to 'present'
|
|
#
|
|
# [*ip*]
|
|
# (optional) The bind ip for the health manager
|
|
# Defaults to $facts['os_service_default']
|
|
#
|
|
# [*port*]
|
|
# (optional) The bind port for the health manager
|
|
# Defaults to $facts['os_service_default']
|
|
#
|
|
# [*health_update_threads*]
|
|
# (optional) Number of processes for amphora health update
|
|
# Defaults to $facts['os_workers']
|
|
#
|
|
# [*stats_update_threads*]
|
|
# (optional) Number of processes for amphora stats update
|
|
# Defaults to $facts['os_workers']
|
|
#
|
|
# [*failover_threads*]
|
|
# (optional) The number of threads performing amphora failovers.
|
|
# Defaults to $facts['os_service_default']
|
|
#
|
|
# [*heartbeat_timeout*]
|
|
# (optional) Interval, in seconds, to wait before failing over an amphora.
|
|
# Defaults to $facts['os_service_default']
|
|
#
|
|
# [*health_check_interval*]
|
|
# (optional) Sleep time between health checks in seconds.
|
|
# Defaults to $facts['os_service_default']
|
|
#
|
|
# [*sock_rlimit*]
|
|
# (optional) Sets the value of the heartbeat recv buffer
|
|
# Defaults to $facts['os_service_default']
|
|
#
|
|
# [*failover_threshold*]
|
|
# (optional) Stop failovers if the count of simultaneously failed amphora
|
|
# reaches this number.
|
|
# Defaults to $facts['os_service_default']
|
|
#
|
|
# DEPRECATED PARAMETERS
|
|
#
|
|
# [*workers*]
|
|
# (optional) The number of workers health_manager spawns
|
|
# Defaults to undef
|
|
#
|
|
class octavia::health_manager (
|
|
$manage_service = true,
|
|
$enabled = true,
|
|
$package_ensure = 'present',
|
|
$ip = $facts['os_service_default'],
|
|
$port = $facts['os_service_default'],
|
|
$health_update_threads = $facts['os_workers'],
|
|
$stats_update_threads = $facts['os_workers'],
|
|
$failover_threads = $facts['os_service_default'],
|
|
$heartbeat_timeout = $facts['os_service_default'],
|
|
$health_check_interval = $facts['os_service_default'],
|
|
$sock_rlimit = $facts['os_service_default'],
|
|
$failover_threshold = $facts['os_service_default'],
|
|
# DEPRECATED PARAMETERS
|
|
$workers = undef,
|
|
) inherits octavia::params {
|
|
|
|
include octavia::deps
|
|
include octavia::controller
|
|
|
|
package { 'octavia-health-manager':
|
|
ensure => $package_ensure,
|
|
name => $::octavia::params::health_manager_package_name,
|
|
tag => ['openstack', 'octavia-package'],
|
|
}
|
|
|
|
if $manage_service {
|
|
if $enabled {
|
|
$service_ensure = 'running'
|
|
} else {
|
|
$service_ensure = 'stopped'
|
|
}
|
|
|
|
service { 'octavia-health-manager':
|
|
ensure => $service_ensure,
|
|
name => $::octavia::params::health_manager_service_name,
|
|
enable => $enabled,
|
|
hasstatus => true,
|
|
hasrestart => true,
|
|
tag => ['octavia-service'],
|
|
}
|
|
}
|
|
|
|
if $workers != undef {
|
|
warning('The octavia::health_manager::workers parameter is deprecated. \
|
|
Use health_update_threads and stats_update_threads instead')
|
|
}
|
|
$health_update_threads_real = pick($workers, $health_update_threads)
|
|
$stats_update_threads_real = pick($workers, $stats_update_threads)
|
|
|
|
octavia_config {
|
|
'health_manager/bind_ip' : value => $ip;
|
|
'health_manager/bind_port' : value => $port;
|
|
'health_manager/health_update_threads' : value => $health_update_threads_real;
|
|
'health_manager/stats_update_threads' : value => $stats_update_threads_real;
|
|
'health_manager/failover_threads' : value => $failover_threads;
|
|
'health_manager/heartbeat_timeout' : value => $heartbeat_timeout;
|
|
'health_manager/health_check_interval' : value => $health_check_interval;
|
|
'health_manager/sock_rlimit' : value => $sock_rlimit;
|
|
'health_manager/failover_threshold' : value => $failover_threshold;
|
|
}
|
|
}
|