# # implements postgresql backend for keystone # # This class can be used to create tables, users and grant # privelege for a postgresql keystone database. # # Requires Puppetlabs Postgresql module. # # [*Parameters*] # # [password] Password that will be used for the keystone db user. # Optional. Defaults to: 'keystone_default_password' # # [dbname] Name of keystone database. Optional. Defaults to keystone. # # [user] Name of keystone user. Optional. Defaults to keystone_admin. # # [host] Host where user should be allowed all priveleges for database. # Optional. Defaults to 127.0.0.1. # # [allowed_hosts] Hosts allowed to use the database # # == Dependencies # Class['postgresql::server'] # # == Examples # == Authors # # Etienne Pelletier epelletier@morphlabs.com # # == Copyright # # Copyright 2012 Etienne Pelletier, unless otherwise noted. # class keystone::db::postgresql( $password = 'keystone_default_password', $dbname = 'keystone', $user = 'keystone_admin', ) { Class['keystone::db::postgresql'] -> Service<| title == 'keystone' |> require 'postgresql::python' postgresql::db { "${dbname}": user => "${user}", password => "${password}", } Postgresql::Db[$dbname] ~> Exec<| title == 'keystone-manage db_sync' |> }