Existe uma folha de dicas em Ruby / ERB para usuários fantoches que não estão familiarizados com Ruby em geral?

3

Ainda estou me envolvendo com fantoches e começando a mexer com a modelagem, que é baseada no sistema ERB da Ruby. Eu não estou familiarizado com Ruby em geral, alguém sabe de uma folha de cola para ERB ou eu vou precisar sujar as mãos e aprender algumas noções básicas de Ruby?

    
por ThatGraemeGuy 25.11.2010 / 15:05

1 resposta

2

Eu estava exatamente na mesma situação há algum tempo atrás. Basicamente, para modelos erb a serem usados pelo fantoche, você não precisa de muito conhecimento sobre Ruby. Mas, isso também depende da complexidade e propósito de seus módulos de fantoches.

Se, por exemplo, você vai usá-los principalmente para arquivos de configuração para gerenciamento de servidores, então, na maioria das vezes, você precisaria manipular as coisas como endereços IP e nomes de host. E as funções Ruby mais comumente usadas que você encontra são split e join .

A maneira mais fácil de mexer com essas e outras funções seria instalar o ruby e seu shell interativo, irb e testar seu código. Então ... uma folha de cola, eu não sei. Eu gritei pessoal no estouro de pilha e #ruby no irc! Eu tenho um monte de modelos aqui link (mal organizado!), Que pode ajudá-lo.

Com relação à consulta da instrução de caso, você pode ter algo assim (uma das abordagens possíveis):

$ip1=inline_template('<%= ipaddress.split(".")[0..2].collect{|x| x}.join(".") %>')

$source = $ip1 ? {
  "10.0.0" => "puppet:///your-module-name/resolv.conf.1",
  "10.0.1" => "puppet:///your-module-name/resolv.conf.2",
  }

file {"/etc/resolv.conf":
  ensure => present,
  source => $source,
  }

A parte do modelo é explicada como: dividir o ipaddress da máquina cliente obtida do facter em cada ocorrência de um DOT ".", coletar os três primeiros números e uni-los a um DOT entre cada elemento. Armazene isso como variável ip1 . De acordo com esse valor, atenda o arquivo resolv.conf necessário do servidor de arquivos do fantoche.

    
por 26.11.2010 / 08:09

Tags