Várias classes Puppet precisam acessar um recurso e acrescentar um valor a ele, para que outra classe possa iterá-lo depois que outras classes forem avaliadas

1

Sou relativamente novo no Puppet e herdei recentemente uma infraestrutura muito grande (o Puppet 3.6 em várias máquinas do RHEL 6).

Minha infra-estrutura de fantoches parece um pouco assim:

Eu tenho my_module :: mysql, que instala e configura o MySQL (baseado em parâmetros passados para ele do Dashboard ou outras classes que o incluem). Entre muitas outras coisas, ele define o local dos arquivos de log. (Há várias outras classes como essa e, às vezes, essa classe pode ser chamada de algumas maneiras diferentes no mesmo nó.)

Agora eu tenho o my_module :: flume, que instala e configura o Apache Flume para que eu possa enviar alguns logs em outro lugar.

Meu problema: eu preciso do my_module :: flume para saber onde cada instância do my_module :: mysql coloca seus arquivos de log, para que ele possa adicioná-los ao arquivo de configuração do Flume.

Qual é a melhor maneira de fazer isso? Eu acho que eu quero ser capaz de adicionar a algum tipo de recurso (uma variável global ou um arquivo) que cada classe pode adicionar um caminho de arquivo, assim my_module :: flume pode iterar através da lista e adicionar cada caminho para um arquivo de configuração , mas não sei como fazer isso enquanto ainda garanto que:

-A lista de arquivos de log é iniciada toda vez que o Puppet é executado (assim, por exemplo, arquivos de log que não existem mais ainda não estão na lista.)

-A classe Flume é avaliada somente depois que todas as outras classes adicionaram os caminhos à lista.

Qualquer entrada seria apreciada.

    
por mlb2101 24.08.2015 / 20:02

1 resposta

1

Você deve

  1. Gerenciar o arquivo de configuração usando um módulo de concat .
  2. Faça com que cada instância de my_module::mysql crie um snippet de concatenar virtual
  3. Tenha my_module::flume percebendo todos os snippets virtuais

Isso pode ser suficiente para resolver todo o problema.

    
por 26.08.2015 / 13:48

Tags