1
我很努力地讓這個工作,並不明白我要去哪裏錯了,有人請指導我如何糾正?在節點定義中使用散列並將其傳遞給模板
基本上我想在我的nodes.pp,然後通過它循環和寫一行每個元素的使用我的模板文件,以獲得一個數組:
nodes.pp:
node test{
net::addr { 'routing':
$routes = {
route1 => {
address => '172.29.54.70',
netmask => '255.255.255.0',
gateway => '172.29.54.65',
dev => 'eth0',
},
route2 => {
address => '192.168.1.3',
netmask => '255.255.255.0',
gateway => '192.168.1.1',
dev => 'eth3',
},
}
}
}
當我運行客戶端木偶我繼續收到以下內容:
錯誤:無法從遠程服務器檢索目錄:SERVER上的錯誤400:無法解析環境生成:'='時出現語法錯誤;預期 '}' 在的/ etc /木偶/艙單/節點/ test.pp:3節點test.myincorp.net
addr.pp
define net::addr (
$address='',
$netmask='',
$gateway='',
$dev='',
) {
file { "route-${name}":
ensure => 'present',
mode => '0644',
owner => 'root',
group => 'root',
path => "/etc/sysconfig/network-scripts/route-${name}",
content => template('network/addr.erb'),
}
}
模板:addr.erb:
<% routes.each do |route| -%>
<%= route['address'] %> <%= route['netmask'] %> <%= route['gateway'] %> <%= route['dev'] %>
<% end -%>
<% end -%>
<% end -%>
有人可以幫我解決以上問題嗎?
感謝 丹