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).
Eu verifiquei com o netcat & telnet e confirmou que eu posso iniciar uma conexão do agente para o servidor e trocar dados.
O mesmo mestre de marionetes funcionou corretamente com um diferente Agente do FreeBSD executando o Puppet v3.0.2
Executando o tcpdump durante o agente executar mostra que alguns pacotes estão indo e voltando entre o agente e servidor
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:
Um problema de compatibilidade de software de agente / master puppet
Problema de compatibilidade de bibliotecas SSL
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
Um erro de tempo ou condição de corrida
Eu não acho que o problema seja causado por:
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
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.