6b93ecf0e1
This refactors resource dependencies to improve the following points. - Avoid unnecessary dependencies across services. For example aodh service does not require cinder db. - Restart only api service when config files like paste.ini, which are used only be api service is changed. Also, guestagent.conf is not used by trove services but the overall file is loaded each time when trove launches an instance, so we don't have to restart trove services when guesagent.conf is updated. Change-Id: If3eb7e4d2e572735af67eb59f81f67af99527a92
69 lines
2.4 KiB
Puppet
69 lines
2.4 KiB
Puppet
# == Class: trove::db
|
|
#
|
|
# Configure the Trove database
|
|
#
|
|
# === Parameters
|
|
#
|
|
# [*database_connection*]
|
|
# Url used to connect to database.
|
|
# (Optional) Defaults to 'sqlite:////var/lib/trove/trove.sqlite'.
|
|
#
|
|
# [*database_connection_recycle_time*]
|
|
# Timeout when db connections should be reaped.
|
|
# (Optional) Defaults to 3600.
|
|
#
|
|
# [*database_max_retries*]
|
|
# Maximum number of database connection retries during startup.
|
|
# Setting -1 implies an infinite retry count.
|
|
# (Optional) Defaults to 10.
|
|
#
|
|
# [*database_retry_interval*]
|
|
# Interval between retries of opening a database connection.
|
|
# (Optional) Defaults to 10.
|
|
#
|
|
# [*database_max_pool_size*]
|
|
# Maximum number of SQL connections to keep open in a pool.
|
|
# (Optional) Defaults to 10.
|
|
#
|
|
# [*database_max_overflow*]
|
|
# If set, use this value for max_overflow with sqlalchemy.
|
|
# (Optional) Defaults to 20.
|
|
#
|
|
# [*database_pool_timeout*]
|
|
# (Optional) If set, use this value for pool_timeout with SQLAlchemy.
|
|
# Defaults to $facts['os_service_default']
|
|
#
|
|
# [*mysql_enable_ndb*]
|
|
# (Optional) If True, transparently enables support for handling MySQL
|
|
# Cluster (NDB).
|
|
# Defaults to $facts['os_service_default']
|
|
#
|
|
class trove::db (
|
|
$database_connection = 'sqlite:////var/lib/trove/trove.sqlite',
|
|
$database_connection_recycle_time = $facts['os_service_default'],
|
|
$database_max_pool_size = $facts['os_service_default'],
|
|
$database_max_retries = $facts['os_service_default'],
|
|
$database_retry_interval = $facts['os_service_default'],
|
|
$database_max_overflow = $facts['os_service_default'],
|
|
$database_pool_timeout = $facts['os_service_default'],
|
|
$mysql_enable_ndb = $facts['os_service_default'],
|
|
) {
|
|
|
|
include trove::deps
|
|
|
|
oslo::db { 'trove_config':
|
|
connection => $database_connection,
|
|
connection_recycle_time => $database_connection_recycle_time,
|
|
max_pool_size => $database_max_pool_size,
|
|
max_retries => $database_max_retries,
|
|
retry_interval => $database_retry_interval,
|
|
max_overflow => $database_max_overflow,
|
|
pool_timeout => $database_pool_timeout,
|
|
mysql_enable_ndb => $mysql_enable_ndb,
|
|
}
|
|
|
|
# all db settings should be applied and all packages should be installed
|
|
# before dbsync starts
|
|
Oslo::Db['trove_config'] -> Anchor['trove::dbsync::begin']
|
|
}
|