Puppet: constrói o arquivo DNS a partir da configuração do nó (ou: como faço iteração globalmente sobre as variáveis do nó)

1

Eu também uso fantoche para meus nós. Eu também estou executando um servidor DNS (BIND).

Seria possível usar a variável $aliases que tenho para cada nó em um modelo para o módulo DNS?

Meus nós são assim:

$ cat nodes/kayak.local.pp
node 'kayak.local' {
  include base
  $node_aliases = ['svn','puppet']
  $node_primaryip = '10.0.64.200'

  network::interface { 'eth0':
    ip      => $node_primaryip,
    gw      => '10.0.64.1',
    mac     => '00:50:00:00:00:3f',
    netmask => '255.255.255.0',
  }

}

O que estou procurando é poder criar um modelo como este:

$cat local.erb

<% scope.lookupvar('ALLNODES::aliases').each do |alias| -%>
<%= alias %> IN A <%= node_primaryip %>
<% end -%> 

quem pode me ajudar?

    
por Karlo 09.04.2013 / 12:52

1 resposta

2

Você pode usar recursos exportados para isso.

  • cria um tipo definido que gerencia uma linha no seu arquivo dns
  • em cada host, crie um recurso que use esse tipo definido. Use @@ antes do tipo para torná-lo exportado.
  • Colete esses recursos em seu servidor DNS com o operador da nave espacial.

Sidenote: use o Hiera para todos os dados em seu manifesto.

    
por 10.04.2013 / 04:53
yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warning – yii\base\ErrorException

PHP Startup: Unable to load dynamic library 'memcached.so' (tried: /usr/lib/php/20190902/memcached.so (/usr/lib/php/20190902/memcached.so: undefined symbol: igbinary_serialize), /usr/lib/php/20190902/memcached.so.so (/usr/lib/php/20190902/memcached.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '729905',
    'url' => 'puppet-build-dns-file-from-node-config-or-how-do-i-iterate-over-node-variable',
];

$_COOKIE = [
    'advanced-frontend' => 'g62i4h67nlj9l0641g402nlsb6',
    '_csrf-frontend' => '1826e5114573e6b213a62c0e5039404f0e4eacb42912bf307909afe6889ea41ca:2:{i:0;s:14:"_csrf-frontend";i:1;s:32:"xEQiNtrbjh-ysLvCglvxqmjI6w-l95Np";}',
];

$_SESSION = [
    '__flash' => [],
];