--- /dev/null
+# == Class: nova::db::mysql
+#
+# Class that configures mysql for nova
+#
+# === Parameters:
+#
+# [*password*]
+# Password to use for the nova user
+#
+# [*dbname*]
+# (optional) The name of the database
+# Defaults to 'nova'
+#
+# [*user*]
+# (optional) The mysql user to create
+# Defaults to 'nova'
+#
+# [*host*]
+# (optional) The IP address of the mysql server
+# Defaults to '127.0.0.1'
+#
+# [*charset*]
+# (optional) The charset to use for the nova database
+# Defaults to 'utf8'
+#
+# [*collate*]
+# (optional) The collate to use for the nova database
+# Defaults to 'utf8_general_ci'
+#
+# [*allowed_hosts*]
+# (optional) Additional hosts that are allowed to access this DB
+# Defaults to undef
+#
+# [*cluster_id*]
+# (optional) Deprecated. Does nothing
+# Defaults to 'localzone'
+#
+# [*mysql_module*]
+# (optional) Deprecated. Does nothing.
+#
+class nova::db::mysql(
+ $password,
+ $dbname = 'nova',
+ $user = 'nova',
+ $host = '127.0.0.1',
+ $charset = 'utf8',
+ $collate = 'utf8_general_ci',
+ $allowed_hosts = undef,
+ $mysql_module = undef,
+ $cluster_id = undef
+) {
+
+ if $cluster_id {
+ warning('The cluster_id parameter is deprecated and has no effect.')
+ }
+
+ if $mysql_module {
+ warning('The mysql_module parameter is deprecated. The latest 2.x mysql module will be used.')
+ }
+
+ ::openstacklib::db::mysql { 'nova':
+ user => $user,
+ password_hash => mysql_password($password),
+ dbname => $dbname,
+ host => $host,
+ charset => $charset,
+ collate => $collate,
+ allowed_hosts => $allowed_hosts,
+ }
+
+ ::Openstacklib::Db::Mysql['nova'] ~> Exec<| title == 'nova-db-sync' |>
+}