Takashi Kajinami ce663a7718 Remove password hash generation in each puppet modules
... and migrate it to openstacklib so that all logics about database
configuration are implemented in one common place.

Depends-on: https://review.opendev.org/#/c/728595/
Change-Id: I96f0496889fe6fa349259689f2a46ac5e029c46d
2020-05-20 08:35:22 +09:00

65 lines
1.5 KiB
Puppet

# The watcher::db::mysql class implements mysql backend for watcher
#
# This class can be used to create tables, users and grant
# privilege for a mysql watcher database.
#
# == Parameters
#
# [*password*]
# (Required) Password to connect to the database.
#
# [*dbname*]
# (Optional) Name of the database.
# Defaults to 'watcher'.
#
# [*user*]
# (Optional) User to connect to the database.
# Defaults to 'watcher'.
#
# [*host*]
# (Optional) The default source host user is allowed to connect from.
# Defaults to '127.0.0.1'
#
# [*allowed_hosts*]
# (Optional) Other hosts the user is allowed to connect from.
# Defaults to 'undef'.
#
# [*charset*]
# (Optional) The database charset.
# Defaults to 'utf8'
#
# [*collate*]
# (Optional) The database collate.
# Only used with mysql modules >= 2.2.
# Defaults to 'utf8_general_ci'
#
class watcher::db::mysql(
$password,
$dbname = 'watcher',
$user = 'watcher',
$host = '127.0.0.1',
$charset = 'utf8',
$collate = 'utf8_general_ci',
$allowed_hosts = undef
) {
include watcher::deps
validate_legacy(String, 'validate_string', $password)
::openstacklib::db::mysql { 'watcher':
user => $user,
password => $password,
dbname => $dbname,
host => $host,
charset => $charset,
collate => $collate,
allowed_hosts => $allowed_hosts,
}
Anchor['watcher::db::begin']
~> Class['watcher::db::mysql']
~> Anchor['watcher::db::end']
}