Due to a recent change in puppetlabs-mysql, the "host_access" call in
manifests/db/mysql/host_access.pp of the current puppet-ceilometer
module doesn't work anymore. The problem is obvious -- this is the
actual code:
mysql_grant { "${user}@${name}/${database}":
privileges => 'all',
provider => 'mysql',
table => "${database}.*",
user => "${user}@${name}",
require => Mysql_user["${user}@${name}"]
}
As you will notice, mysql_grant now performs this check (as in
https://github.com/puppetlabs/puppetlabs-mysql/commit/
07b661dcea926981cf5cd1c703a1c982d6eb6ef1):
fail('name must match user and table parameters') if self[:name] != "#{self[:user]}/#{self[:table]}
The problem here is that "${database}" is not equal to "${database}.*",
which will make the mysql_grant call fail. The fix simply is to change
the function's name:
mysql_grant { "${user}@${name}/${database}.*":
privileges => 'all',
provider => 'mysql',
table => "${database}.*",
user => "${user}@${name}",
require => Mysql_user["${user}@${name}"]
}
This commit conducts the proposed change.
Change-Id: Ic9457cb8ad96a0d39f7a29d3e593e788bbeb6d28
Closes-Bug:
1375233