Puppet e templates: como fazer um loop sequencialmente e não aleatoriamente

7

Veja a configuração do meu nó:

 $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

No modelo, usei um loop com

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

... para gravar arquivos de configuração.

Mas, quando eu tenho várias "unidades" (unit_3, unit_4, etc.), o conteúdo do template é alterado toda vez que o daemon Puppet é executado.

Ele não teve nenhum impacto porque o arquivo de configuração está correto, mas eu gostaria de saber se o loop do template poderia gerar arquivos de configuração nesta ordem: unit_1 then unit_2, then unit_3, ... sem pegar uma unidade aleatoriamente .

Eu usei este tutorial: link

    
por Richi16 12.03.2012 / 12:52

1 resposta

9

Você deve poder usar o Ruby para classificar os valores em linha para fornecer resultados consistentes:

"<% property_name.sort_by {|key, value| key}.each do |key, value| -%>"
    
por 12.03.2012 / 14:06