117 lines
3.9 KiB
Puppet
117 lines
3.9 KiB
Puppet
# == Class: fm
|
|
#
|
|
# Full description of class fm here.
|
|
#
|
|
# === Parameters
|
|
#
|
|
# [*package_ensure*]
|
|
# (optional) The state of fm packages
|
|
# Defaults to 'present'
|
|
#
|
|
# [*log_dir*]
|
|
# (optional) Directory where logs should be stored.
|
|
# If set to boolean false or the $::os_service_default, it will not log to
|
|
# any directory.
|
|
# Defaults to undef.
|
|
#
|
|
# [*debug*]
|
|
# (optional) Set log output to debug output.
|
|
# Defaults to undef
|
|
#
|
|
# [*use_syslog*]
|
|
# (optional) Use syslog for logging
|
|
# Defaults to undef
|
|
#
|
|
# [*use_stderr*]
|
|
# (optional) Use stderr for logging
|
|
# Defaults to undef
|
|
#
|
|
# [*log_facility*]
|
|
# (optional) Syslog facility to receive log lines.
|
|
# Defaults to undef
|
|
#
|
|
# [*database_connection*]
|
|
# (optional) Connection url for the fm database.
|
|
# Defaults to undef.
|
|
#
|
|
# [*database_max_retries*]
|
|
# (optional) Maximum database connection retries during startup.
|
|
# Defaults to undef.
|
|
#
|
|
# [*database_idle_timeout*]
|
|
# (optional) Timeout before idle database connections are reaped.
|
|
# Defaults to undef.
|
|
#
|
|
# [*database_retry_interval*]
|
|
# (optional) Interval between retries of opening a database connection.
|
|
# Defaults to undef.
|
|
#
|
|
# [*database_min_pool_size*]
|
|
# (optional) Minimum number of SQL connections to keep open in a pool.
|
|
# Defaults to undef.
|
|
#
|
|
# [*database_max_pool_size*]
|
|
# (optional) Maximum number of SQL connections to keep open in a pool.
|
|
# Defaults to undef.
|
|
#
|
|
# [*database_max_overflow*]
|
|
# (optional) If set, use this value for max_overflow with sqlalchemy.
|
|
# Defaults to: undef.
|
|
#
|
|
class fm (
|
|
$package_ensure = 'present',
|
|
$debug = undef,
|
|
$use_syslog = undef,
|
|
$use_stderr = undef,
|
|
$log_facility = undef,
|
|
$log_dir = undef,
|
|
$database_connection = undef,
|
|
$database_idle_timeout = undef,
|
|
$database_min_pool_size = undef,
|
|
$database_max_pool_size = undef,
|
|
$database_max_retries = undef,
|
|
$database_retry_interval = undef,
|
|
$database_max_overflow = undef,
|
|
$event_log_max_size = 4000,
|
|
$system_name = undef,
|
|
$region_name = undef,
|
|
$trap_destinations = undef,
|
|
$sysinv_catalog_info = undef,
|
|
) inherits fm::params {
|
|
|
|
include ::fm::deps
|
|
include ::fm::logging
|
|
|
|
# set up the connection string for FM Manager, remove psycopg2 if it exists
|
|
$sql_connection = regsubst($database_connection,'^postgresql+psycopg2:','postgresql:')
|
|
fm_config {
|
|
'DEFAULT/sql_connection': value => $sql_connection, secret => true;
|
|
'DEFAULT/event_log_max_size': value => $event_log_max_size;
|
|
'DEFAULT/system_name': value => $system_name;
|
|
'DEFAULT/region_name': value => $region_name;
|
|
'DEFAULT/trap_destinations': value => $trap_destinations;
|
|
}
|
|
|
|
# Automatically add psycopg2 driver to postgresql (only does this if it is missing)
|
|
$real_connection = regsubst($database_connection,'^postgresql:','postgresql+psycopg2:')
|
|
fm_config {
|
|
'database/connection': value => $real_connection, secret => true;
|
|
'database/idle_timeout': value => $database_idle_timeout;
|
|
'database/max_pool_size': value => $database_max_pool_size;
|
|
'database/max_overflow': value => $database_max_overflow;
|
|
}
|
|
|
|
fm_config {
|
|
'sysinv/catalog_info': value => $sysinv_catalog_info;
|
|
'sysinv/os_region_name': value => $region_name;
|
|
}
|
|
|
|
fm_api_paste_ini {
|
|
'pipeline:fm-api/pipeline': value => 'request_id authtoken api_v1';
|
|
'filter:request_id/paste.filter_factory': value => 'oslo_middleware:RequestId.factory';
|
|
'filter:authtoken/acl_public_routes': value => '/, /v1';
|
|
'filter:authtoken/paste.filter_factory': value => 'fm.api.middleware.auth_token:AuthTokenMiddleware.factory';
|
|
'app:api_v1/paste.app_factory': value => 'fm.api.app:app_factory';
|
|
}
|
|
}
|