]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - 3rdparty/modules/keystone/manifests/db/postgresql.pp
try with modules from master
[dsa-puppet.git] / 3rdparty / modules / keystone / manifests / db / postgresql.pp
index 3d7eb73d785288cebaa7799de88b369d47029f3e..4bf5a6a75524970ae17392b9a3b09f64c4f38fad 100644 (file)
@@ -1,47 +1,57 @@
+# == Class: keystone::db::postgresql
 #
-# implements postgresql backend for keystone
+# Class that configures postgresql for keystone
+# Requires the Puppetlabs postgresql module.
 #
-# This class can be used to create tables, users and grant
-# privelege for a postgresql keystone database.
-#
-# Requires Puppetlabs Postgresql module.
+# == Authors
 #
-# [*Parameters*]
+#   Stackforge Contributors puppet-openstack@puppetlabs.com
+#   Etienne Pelletier epelletier@morphlabs.com
 #
-# [password] Password that will be used for the keystone db user.
-#   Optional. Defaults to: 'keystone_default_password'
+# == Copyright
 #
-# [dbname] Name of keystone database. Optional. Defaults to keystone.
+# Copyright 2013-2014 Stackforge Contributors
+# Copyright 2012 Etienne Pelletier, unless otherwise noted.
 #
-# [user] Name of keystone user. Optional. Defaults to keystone.
+# === Parameters
 #
-# == Dependencies
-#   Class['postgresql::server']
+# [*password*]
+#   (Required) Password to connect to the database.
 #
-# == Examples
-# == Authors
+# [*dbname*]
+#   (Optional) Name of the database.
+#   Defaults to 'keystone'.
 #
-#   Etienne Pelletier epelletier@morphlabs.com
+# [*user*]
+#   (Optional) User to connect to the database.
+#   Defaults to 'keystone'.
 #
-# == Copyright
+#  [*encoding*]
+#    (Optional) The charset to use for the database.
+#    Default to undef.
 #
-# Copyright 2012 Etienne Pelletier, unless otherwise noted.
+#  [*privileges*]
+#    (Optional) Privileges given to the database user.
+#    Default to 'ALL'
 #
 class keystone::db::postgresql(
   $password,
-  $dbname        = 'keystone',
-  $user          = 'keystone'
+  $dbname     = 'keystone',
+  $user       = 'keystone',
+  $encoding   = undef,
+  $privileges = 'ALL',
 ) {
 
   Class['keystone::db::postgresql'] -> Service<| title == 'keystone' |>
 
-  require postgresql::python
-
-  postgresql::db { $dbname:
-    user      => $user,
-    password  => $password,
+  ::openstacklib::db::postgresql { 'keystone':
+    password_hash => postgresql_password($user, $password),
+    dbname        => $dbname,
+    user          => $user,
+    encoding      => $encoding,
+    privileges    => $privileges,
   }
 
-  Postgresql::Db[$dbname] ~> Exec<| title == 'keystone-manage db_sync' |>
+  ::Openstacklib::Db::Postgresql['keystone'] ~> Exec<| title == 'keystone-manage db_sync' |>
 
 }