]> git.donarmstrong.com Git - dsa-puppet.git/blob - 3rdparty/modules/keystone/manifests/db/postgresql.pp
3d7eb73d785288cebaa7799de88b369d47029f3e
[dsa-puppet.git] / 3rdparty / modules / keystone / manifests / db / postgresql.pp
1 #
2 # implements postgresql backend for keystone
3 #
4 # This class can be used to create tables, users and grant
5 # privelege for a postgresql keystone database.
6 #
7 # Requires Puppetlabs Postgresql module.
8 #
9 # [*Parameters*]
10 #
11 # [password] Password that will be used for the keystone db user.
12 #   Optional. Defaults to: 'keystone_default_password'
13 #
14 # [dbname] Name of keystone database. Optional. Defaults to keystone.
15 #
16 # [user] Name of keystone user. Optional. Defaults to keystone.
17 #
18 # == Dependencies
19 #   Class['postgresql::server']
20 #
21 # == Examples
22 # == Authors
23 #
24 #   Etienne Pelletier epelletier@morphlabs.com
25 #
26 # == Copyright
27 #
28 # Copyright 2012 Etienne Pelletier, unless otherwise noted.
29 #
30 class keystone::db::postgresql(
31   $password,
32   $dbname        = 'keystone',
33   $user          = 'keystone'
34 ) {
35
36   Class['keystone::db::postgresql'] -> Service<| title == 'keystone' |>
37
38   require postgresql::python
39
40   postgresql::db { $dbname:
41     user      => $user,
42     password  => $password,
43   }
44
45   Postgresql::Db[$dbname] ~> Exec<| title == 'keystone-manage db_sync' |>
46
47 }