2015-04-29 46 views
3

我想用到處流浪,我定義了以下木偶文件: http://pastebin.com/GfJK1ziS流浪漢puppetlabs-mysql的Mysql_grant失敗

當流浪漢試圖安裝模塊,一切正常。但是,當它試圖配置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

我不知道我有什麼改變

回答

2

沒有與mysql_grants定義的問題。 它未能在下面的測試:

fail('name must match user and table parameters') if self[:name] != "#{self[:user]}/#{self[:table]}" 

錯誤消息究竟說明了什麼是錯的。授權資源的名稱必須匹配usertable。 因此改變:

'${username}@%/${db_name}.*' => { 
    ... 
    table  => "${db_name}.*", 
    user  => "${username}@%", 
    } 

"${username}@%/${db_name}.*" => { 
    ... 
    table  => "${db_name}.*", 
    user  => "${username}@%", 
    } 

Single quoted字符串傀儡不進行內插變量。

更新: 還有很多風格問題。您將單引號字符串與雙引號字符串混合在一起。使用puppet-lint可以改善代碼的風格。

+0

感謝您的更新說明,非常有幫助 – Ceryni