Puppetlabs-mysql has been rewritten to be much cleaner. This patch adds a new parameter for the nova mysql and init classes allowing users to use the new version. Previous behavior will continue as normal when using the old version (0.9) Change-Id: I6d12a69180554348143f7f341f7570c52ecad140
30 lines
936 B
Puppet
30 lines
936 B
Puppet
# db/allowed_hosts.pp
|
|
define nova::db::mysql::host_access ($user, $password, $database, $mysql_module = '0.9') {
|
|
if ($mysql_module >= 2.2) {
|
|
mysql_user { "${user}@${name}":
|
|
password_hash => mysql_password($password),
|
|
require => Mysql_database[$database],
|
|
}
|
|
|
|
mysql_grant { "${user}@${name}/${database}.*":
|
|
privileges => ['ALL'],
|
|
options => ['GRANT'],
|
|
table => "${database}.*",
|
|
require => Mysql_user["${user}@${name}"],
|
|
user => "${user}@${name}"
|
|
}
|
|
} else {
|
|
database_user { "${user}@${name}":
|
|
password_hash => mysql_password($password),
|
|
provider => 'mysql',
|
|
require => Database[$database],
|
|
}
|
|
database_grant { "${user}@${name}/${database}":
|
|
# TODO figure out which privileges to grant.
|
|
privileges => 'all',
|
|
provider => 'mysql',
|
|
require => Database_user["${user}@${name}"]
|
|
}
|
|
}
|
|
}
|