puppet-octavia/manifests/db/mysql.pp
Takashi Kajinami 1a02a99fc4 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: Ie6e0bd0ef7ab3793f97361b8e61a81ca1bd92cce
2020-05-19 20:31:28 +09:00

65 lines
1.5 KiB
Puppet

# The octavia::db::mysql class implements mysql backend for octavia
#
# This class can be used to create tables, users and grant
# privilege for a mysql octavia database.
#
# == Parameters
#
# [*password*]
# (Required) Password to connect to the database.
#
# [*dbname*]
# (Optional) Name of the database.
# Defaults to 'octavia'.
#
# [*user*]
# (Optional) User to connect to the database.
# Defaults to 'octavia'.
#
# [*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 octavia::db::mysql(
$password,
$dbname = 'octavia',
$user = 'octavia',
$host = '127.0.0.1',
$charset = 'utf8',
$collate = 'utf8_general_ci',
$allowed_hosts = undef
) {
include octavia::deps
validate_legacy(String, 'validate_string', $password)
::openstacklib::db::mysql { 'octavia':
user => $user,
password => $password,
dbname => $dbname,
host => $host,
charset => $charset,
collate => $collate,
allowed_hosts => $allowed_hosts,
}
Anchor['octavia::db::begin']
~> Class['octavia::db::mysql']
~> Anchor['octavia::db::end']
}