vagrant puppetlabs-mysql Mysql_grant 失败
vagrant puppetlabs-mysql Mysql_grant failed
我想使用 vagrant,我定义了以下 puppet 文件:
http://pastebin.com/GfJK1ziS
当 vagrant 尝试安装模块时,一切都按预期进行。但是当它尝试配置 mysql
时,它总是得到这个错误:
Error: Validation of Mysql_grant[${username}@%/${db_name}.*] failed: name must match user and table parameters
我能做什么?
据我所知,这是由于 puppetlabs_mysql
模块中的这一行
https://github.com/puppetlabs/puppetlabs-mysql/commit/07b661dcea926981cf5cd1c703a1c982d6eb6ef1
我不知道我必须改变什么
mysql_grants
定义有问题。
它在以下测试中失败:
fail('name must match user and table parameters') if self[:name] != "#{self[:user]}/#{self[:table]}"
错误消息准确说明了问题所在。授权资源的名称必须匹配 user
和 table
。
所以改变:
'${username}@%/${db_name}.*' => {
...
table => "${db_name}.*",
user => "${username}@%",
}
到
"${username}@%/${db_name}.*" => {
...
table => "${db_name}.*",
user => "${username}@%",
}
Single quoted 字符串不会在 puppet 中插入变量。
更新:
还有很多风格问题。您将单引号字符串与双引号字符串混合在一起。使用 puppet-lint 改进代码风格。
我想使用 vagrant,我定义了以下 puppet 文件: http://pastebin.com/GfJK1ziS
当 vagrant 尝试安装模块时,一切都按预期进行。但是当它尝试配置 mysql
时,它总是得到这个错误:
Error: Validation of Mysql_grant[${username}@%/${db_name}.*] failed: name must match user and table parameters
我能做什么?
据我所知,这是由于 puppetlabs_mysql
模块中的这一行
https://github.com/puppetlabs/puppetlabs-mysql/commit/07b661dcea926981cf5cd1c703a1c982d6eb6ef1
我不知道我必须改变什么
mysql_grants
定义有问题。
它在以下测试中失败:
fail('name must match user and table parameters') if self[:name] != "#{self[:user]}/#{self[:table]}"
错误消息准确说明了问题所在。授权资源的名称必须匹配 user
和 table
。
所以改变:
'${username}@%/${db_name}.*' => {
...
table => "${db_name}.*",
user => "${username}@%",
}
到
"${username}@%/${db_name}.*" => {
...
table => "${db_name}.*",
user => "${username}@%",
}
Single quoted 字符串不会在 puppet 中插入变量。
更新: 还有很多风格问题。您将单引号字符串与双引号字符串混合在一起。使用 puppet-lint 改进代码风格。