]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - 3rdparty/modules/keystone/manifests/db/mysql.pp
add stackforge/keystone to 3rdparty
[dsa-puppet.git] / 3rdparty / modules / keystone / manifests / db / mysql.pp
diff --git a/3rdparty/modules/keystone/manifests/db/mysql.pp b/3rdparty/modules/keystone/manifests/db/mysql.pp
new file mode 100644 (file)
index 0000000..3e046f4
--- /dev/null
@@ -0,0 +1,62 @@
+# The keystone::db::mysql class implements mysql backend for keystone
+#
+# This class can be used to create tables, users and grant
+# privelege for a mysql keystone database.
+#
+# == 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.
+#
+# [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
+#
+# [*mysql_module*] Deprecated. Does nothing.
+#
+# == Dependencies
+#   Class['mysql::server']
+#
+# == Examples
+# == Authors
+#
+#   Dan Bode dan@puppetlabs.com
+#
+# == Copyright
+#
+# Copyright 2012 Puppetlabs Inc, unless otherwise noted.
+#
+class keystone::db::mysql(
+  $password,
+  $dbname        = 'keystone',
+  $user          = 'keystone',
+  $host          = '127.0.0.1',
+  $charset       = 'utf8',
+  $collate       = 'utf8_unicode_ci',
+  $mysql_module  = undef,
+  $allowed_hosts = undef
+) {
+
+  if $mysql_module {
+    warning('The mysql_module parameter is deprecated. The latest 2.x mysql module will be used.')
+  }
+
+  validate_string($password)
+
+  ::openstacklib::db::mysql { 'keystone':
+    user          => $user,
+    password_hash => mysql_password($password),
+    dbname        => $dbname,
+    host          => $host,
+    charset       => $charset,
+    collate       => $collate,
+    allowed_hosts => $allowed_hosts,
+  }
+
+  ::Openstacklib::Db::Mysql['keystone'] ~> Exec<| title == 'keystone-manage db_sync' |>
+}