O agente Puppet (v3.0.1) trava conectando-se ao mestre (v3.1.1) na VM por trás do firewall (com acesso baseado em NAT)

1

Estou usando o agente de marionetes v3.0.1 (no FreeBSD), tentando me conectar a um mestre de marionetes v3.1.1 (no Ubuntu) e o agente de marionetes trava com a seguinte saída de depuração:

puppet agent --debug --no-daemonize
...
Debug: /File[/var/puppet/ssl/private_keys]: Autorequiring File[/var/puppet/ssl]
Debug: /File[/var/puppet/ssl/private]: Autorequiring File[/var/puppet/ssl]
Debug: /File[/var/puppet/ssl/private_keys/zg-3.XXXX.ch.pem]: Autorequiring         File[/var/puppet/ssl/private_keys]
Debug: /File[/var/puppet/ssl/public_keys/zg-3.XXXX.ch.pem]: Autorequiring File[/var/puppet/ssl/public_keys]
Debug: Finishing transaction 17214983260
[hangs.. about two minutes..]
Error: Could not request certificate: execution expired
Error: Could not request certificate: execution expired

O mestre de marionetes é hospedado em uma máquina virtual e acessado por meio do encaminhamento de porta pela máquina host da VM. Eu testei o acesso ao mestre de outro nó atrás do firewall, que funciona corretamente.

Quando o agente é executado, não há indicação no mestre de marionetes de que uma conexão foi feita (embora não esteja claro que deveria haver).

  1. Eu verifiquei com o netcat & telnet e confirmou que eu posso iniciar uma conexão do agente para o servidor e trocar dados.

  2. O mesmo mestre de marionetes funcionou corretamente com um diferente Agente do FreeBSD executando o Puppet v3.0.2

  3. Executando o tcpdump durante o agente executar mostra que alguns pacotes estão indo e voltando entre o agente e servidor

  4. Eu corri truss no agente fantoche (FreeBSD) comando e viu que o agente está recebendo o seguinte erro (duas vezes):

    leia (6,0x80711c3c6,1854) ERR # 35 'Recurso temporariamente indisponível'

    O identificador de arquivo 6 é de uma chamada de sistema 'conectar' para o endereço IP correto e número da porta (8140) do sistema mestre.

Atualmente, suspeito que o problema possa ter sido causado por um dos itens a seguir:

  1. Um problema de compatibilidade de software de agente / master puppet

  2. Problema de compatibilidade de bibliotecas SSL

  3. Algum problema estranho de firewall ou NAT, que permite a comunicação netcat / telnet, mas não a comunicação Puppet. Uma conexão está sendo feita quando recebo um erro diferente quando executo o agente, mas não inicio o mestre

  4. Um erro de tempo ou condição de corrida

Eu não acho que o problema seja causado por:

  1. Problema de certificado SSL, pois há erros relacionados ao certificado de ano. Também tentei excluir o conteúdo do diretório ssl nos sistemas do agente e do mestre

  2. Problema de sincronização de horário, já que ambos os sistemas executam o NTP

Alguma dica sobre como depurar isso?

Agradecemos antecipadamente

Alan Hodgkinson

P.S. Por favor, peça qualquer informação adicional (config) necessária para ajudar a diagnosticar o problema.

    
por Alan Hodgkinson 10.05.2013 / 10:05

0 respostas