puppet-keystone/manifests/db/postgresql.pp
Matt Fischer a5da52ec52 Keystone hooks support
This code moves all deps to an external class so that Keystone can be
installed with mechanisms besides packages (like venv or docker). This
also cleans-up the dependency tree by removing false or confusing
dependencies.

Change-Id: If69cd7cba267f75faad51fdbc80a58b24d2095d8
Co-Author: Clayton O'Neill <clayton.oneill@twcable.com>
2016-03-15 20:11:25 -06:00

59 lines
1.3 KiB
Puppet

# == Class: keystone::db::postgresql
#
# Class that configures postgresql for keystone
# Requires the Puppetlabs postgresql module.
#
# == Authors
#
# Stackforge Contributors puppet-openstack@puppetlabs.com
# Etienne Pelletier epelletier@morphlabs.com
#
# == Copyright
#
# Copyright 2013-2014 Stackforge Contributors
# Copyright 2012 Etienne Pelletier, unless otherwise noted.
#
# === Parameters
#
# [*password*]
# (Required) Password to connect to the database.
#
# [*dbname*]
# (Optional) Name of the database.
# Defaults to 'keystone'.
#
# [*user*]
# (Optional) User to connect to the database.
# Defaults to 'keystone'.
#
# [*encoding*]
# (Optional) The charset to use for the database.
# Default to undef.
#
# [*privileges*]
# (Optional) Privileges given to the database user.
# Default to 'ALL'
#
class keystone::db::postgresql(
$password,
$dbname = 'keystone',
$user = 'keystone',
$encoding = undef,
$privileges = 'ALL',
) {
include ::keystone::deps
::openstacklib::db::postgresql { 'keystone':
password_hash => postgresql_password($user, $password),
dbname => $dbname,
user => $user,
encoding => $encoding,
privileges => $privileges,
}
Anchor['keystone::db::begin']
~> Class['keystone::db::postgresql']
~> Anchor['keystone::db::end']
}