Назад | Перейти на главную страницу

Марионетка и шаблоны: как зацикливаться последовательно, а не случайно

См. Конфигурацию моего узла:

 $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| -%>"