From: Martin Gerhard Loschwitz Date: Mon, 29 Sep 2014 12:10:17 +0000 (+0200) Subject: Fix the mysql_grant call to not fail with puppetlabs-mysql 2.3 X-Git-Tag: 4.2.0~6 X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=0d724878bdb9d2dbc1262d40da23f18d3c2c0b8a;p=puppet-modules%2Fpuppet-ceilometer.git Fix the mysql_grant call to not fail with puppetlabs-mysql 2.3 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 --- diff --git a/manifests/db/mysql/host_access.pp b/manifests/db/mysql/host_access.pp index 9869f99..7fe7adb 100644 --- a/manifests/db/mysql/host_access.pp +++ b/manifests/db/mysql/host_access.pp @@ -22,7 +22,7 @@ define ceilometer::db::mysql::host_access ($user, $password, $database, $mysql_m require => Mysql_database[$database], } - mysql_grant { "${user}@${name}/${database}": + mysql_grant { "${user}@${name}/${database}.*": privileges => 'all', provider => 'mysql', table => "${database}.*",