Puppet

木偶和模板:如何順序循環而不是隨機循環

  • March 12, 2012

查看我的節點配置:

$property_name = {
    "unit_1"  => { host => [ "dns_name1/192.168.0.1/25" ,"dns_name2/192.168.0.2/25" ] 
                 },
    "unit_2"  => { host => [ "dns_name3/192.168.0.3/25", "dns_name4/192.168.0.4/25" ] 
                 },
}
include class::property

在模板中,我使用了一些循環

"<% property_name.each do |key,value| -%>", 
"<%= value['host'][id_host].split("/")[0] %>", 
<%= value['host'][id_host].split("/")[1] %>,

…編寫配置文件。

但是,當我有很多“單元”(unit_3、unit_4 等)時,每次 Puppet 的守護程序執行時模板的內容都會發生變化。

它沒有任何影響,因為配置文件是正確的,但我想知道模板的循環是否可以按以下順序生成配置文件:unit_1 然後 unit_2,然後 unit_3,…而不是隨機取一些單元。

我使用了本教程:http ://www.krzywanski.net/archives/703

您應該能夠使用 Ruby 對值進行內聯排序以提供一致的結果:

"<% property_name.sort_by {|key, value| key}.each do |key, value| -%>"

引用自:https://serverfault.com/questions/368784