我是新來的傀儡,所以任何幫助,將不勝感激。我試圖根據操作系統發行版本將靜態數據傳入Puppet類中的變量apache_version
。這個變量稍後會在.erb
模板文件中用於根據版本配置apache。現在我的課看起來是這樣的:分配傀儡班內的變數
class some_class_name() {
case $::operatingsystem {
'RedHat' : {
case $::operatingsystemrelease {
/^7\..*/ : { }
/^6\..*/ : { }
}
}
}
}
我如何定義內部{}
括號這個變量?至於.erb
文件應該像這樣使用:
<%- if @apache_version >= '2.4' -%>
set something
<%- else -%>
set something else
<%- end -%>
我瞄準的是這樣的:
class some_class_name() {
case $::operatingsystem {
'RedHat' : {
case $::operatingsystemrelease {
/^7\..*/ : { $apache_version = '2.4' }
/^6\..*/ : { $apache_version = '2.2' }
}
}
}
}
,但它不工作。
工作正常,我。 「facter operatingsystem」和「facter operatingsystemrelease」輸出的是什麼?你包括'some_class_name'?你如何檢查'$ apache_version'的值?可能會添加'notify {「Version:$ {apache_version}」:}'。 –
'facter operatingsystem'給'RedHat' 'facter operatingsystemrelease'給出'7.2'(至少在我現在正在工作的系統上) ''some_class_name'正確包含在'init.pp'文件中。 至於檢查 - 我沒有檢查任何地方。我是不是該?它不應該這樣工作,一旦我將版本分配給變量,它應該在'.rb'文件中使用? – NRG
如果'template()'調用位於同一個作用域中,但可以在ERB模板中使用該變量,但所顯示的清單沒有模板()調用,因此很難說這是否正確。 –