Puppet: fonte de arquivo condicional com base na convenção de nomenclatura

3

Estou colocando a bola no fantoche para o meu ambiente - e gostaria de ter um recurso file condicional com base no fato de o próprio módulo conter ou não um arquivo baseado em uma convenção de nomenclatura.

Então, visualmente, assuma um módulo chamado 'mysql' e seu layout:

mysql/
    /files
        /etc/
            my.cnf
            my.hostname1.cnf
            my.hostname2.cnf
     /manifests
            init.pp
...

Portanto, gostaria que o bloco verifique se o recurso do módulo existe ou não e tome as medidas necessárias em termos pseudo:

file { '/etc/my.cnf':

  if -f 'puppet:///mysql/etc/my.$hostname.cnf' {
      source => 'puppet:///mysql/etc/my.$hostname.cnf'
  }
  else {
      source => 'puppet:///mysql/etc/my.cnf'
  }
}

Dessa forma, não é necessário gerenciar um arquivo csv ou o arquivo .pp com uma instrução de caso específica do host - isso é possível?

    
por thinice 01.06.2012 / 23:21

1 resposta

7
O

link especifica que você pode fazer file{'/etc/my.cnf': source => [ "puppet:///mysql/etc/my.$hostname.cnf" , "puppet:///mysql/etc/my.cnf" ] }

    
por 01.06.2012 / 23:29