Como identificar qual mestre de marionetes foi usado em uma corrida de agente?

2

Atualmente, estou executando vários mestres com balanceamento de carga e preciso depurar algumas diferenças entre eles.

Existe uma boa maneira de incluir o nome do host ou algum outro ID do mestre de marionetes nos relatórios do agente? (Colocar um código ligeiramente diferente em cada mestre não é uma opção para mim)

    
por splenetic 12.07.2016 / 10:53

2 respostas

2

O mestre de marionetes injetará variáveis como $servername na compilação do catálogo, que estão listadas em Variáveis mestre de marionetes .

Você pode incluí-los em relatórios usando notify { "Compiled on $servername": } em um de seus manifestos ou adicionando-o a um modelo de arquivo (por exemplo, MOTD).

Outro mecanismo seria alterar o config_version - um nome / número exclusivo dado a cada compilação do catálogo, geralmente usado para mostrar a revisão atual do git / SCM dos manifestos que estão sendo construídos. Por padrão, mostra a época atual do Unix. Você pode alterar isso para retornar a epoch e o hostname mestre.

config_version é normalmente definido por ambiente, por ex. usando o environment.conf: config_version no environment.conf , e pode apontar para um script que você implanta em todo mestre e gera uma string incluindo o nome do host do servidor.

    
por 12.07.2016 / 11:41
0

Ligando seus clientes com uma entrada em / etc / hosts diretamente a um dos seus puppet master, você pode testar um certo puppetmaster.

    
por 12.07.2016 / 11:00