Como obter o botão Executar Marionete trabalhando no Foreman?

6

Primeiro de tudo, eu sei que já existe uma pergunta muito semelhante aqui no serverfault, mas isso não responde ao meu problema.

Então, minha configuração é a seguinte: Eu tenho um servidor, executando o Ubuntu 14.04 LTS e o Puppet Master 3.4.3 com o foreman 1.6. O cliente é um computador com Windows 7 executando o agente fantoche 3.7.0.

As execuções automáticas funcionam bem, eu só tenho problemas para obter o botão Run Puppet funcionando. Eu sempre recebo esta sobreposição vermelha com esta mensagem:

failed to execute puppetrun: ERF12-4252 [ProxyAPI::ProxyException]: Unable to execute Puppet run ([RestClient::InternalServerError]: 500 Internal Server Error) for proxy https://puppetmaster:8443/puppet

Eu segui as instruções do wiki e adicionei no nó o arquivo auth.conf, que não existia antes. Eu coloquei em C:\ProgramData\PuppetLabs\puppet\etc\ , onde o arquivo puppet.conf reside. Eu também adicionei um namespaceauth.conf vazio a este diretório. No nó e no servidor, ativei listen = true. Eu adicionei o foreman-proxy ao arquivo sudoers. Eu reiniciei o serviço do nó e o puppetmaster várias vezes. Este é o lugar onde todas as outras postagens que encontrei disseram "agora você tem um botão de fantoche de funcionamento". Exceto por mim, não está funcionando.

A única entrada de log que encontrei foi em /var/log/foreman-proxy/proxy.log:

E, [2014-10-20T17:50:53.051681 #1119] ERROR -- : Failed puppet run: Check Log files

Eu verifiquei todos os arquivos de log que encontrei, mas não consegui encontrar nenhuma informação adicional sobre o que esse erro poderia ser. Editar: adicionado link para o wiki 2ª Edição: Também verifiquei os códigos de erro do Foreman , mas infelizmente o código que obtive não tem qualquer informação ligada a ela. (sim, verifiquei erros de comunicação de proxy - não há nenhum)

    
por Florian 20.10.2014 / 17:58

3 respostas

1

Finalmente consegui fazê-lo funcionar! Parece que o código de erro ( ERF12-4252 ) corresponde a erros diferentes. Eu tinha diferentes configurações incorretas que retornavam diferentes erros no console, mas Foreman sempre relatava a mesma mensagem.

A maneira de resolver o problema para mim foi usar o comando puppet kick <mynode> na linha de comando. Lá, descobri que meu certificado de cliente tinha um erro de digitação em seu nome e, portanto, não se encaixava no nome do host.

No cliente Windows, fiz o mesmo (parando o serviço de janelas de fantoches e iniciando o agente na janela de linha de comando do boneco com puppet agent --debug --no-daemonize para verificar se algo acontecia no agente.

Isso também ajudou a encontrar o diretório correto para o arquivo auth.conf. Ao instalar o agente no Windows, o arquivo auth.conf é colocado no diretório de instalação (geralmente C:\Program Files\PuppetLabs\Puppet\puppet\conf ), mas é esperado em C:\ProgramData\PuppetLabs\puppet\etc !

Então, copiar o arquivo para esse local e adicionar as linhas necessárias resolveu o problema.

path /run
allow puppetmaster.dev.nextgen.local

Depois disso, eu só tive que deletar o host antigo no capataz, criar um novo certificado no agente, assiná-lo no mestre de fantoches e adicionar o novo host no capataz.

    
por 21.10.2014 / 13:24
1

A documentação sobre como definir métodos diferentes para fazer o trabalho "Executar marionetes" está aqui:

Seção de fantoches (4.3.7) do manual do Foreman

Atualmente, as execuções remotas podem ser configuradas através de 'MCollective', 'Puppetssh' e 'puppetrun (ou kick)' (descontinuadas).

    
por 25.02.2015 / 08:54
1

funcionou para mim i optou por fonte puppetssh

siga que uma instrução do link acima sob o conteúdo puppshsh agora edite a seguinte linha no arquivo.

/etc/foreman-proxy/settings.d/puppet

:puppetssh_command: /usr/bin/puppet agent --onetime --no-usecacheonfailure

converta para

:puppetssh_command: /usr/bin/puppet agent --test

agora ele vai funcionar como charme, sinta-se à vontade para responder se não der certo.

    
por 14.04.2016 / 09:26