Computadores que não reportam a paisagem

3

Eu trabalhei no Landscape depois de instalar o Openstack com o openstack-installer. Depois de algum tempo, e depois de reiniciar tudo, e depois de alguns lutando com juju ( O Landscape não está rodando após uma reinicialização com o juju-core 1.20.x ), o Landscape está sendo executado novamente, assim como o Openstack.

O problema é que nenhum computador está reportando ao Landscape. Eu recebo a cada 5 minutos um e-mail com o assunto " [Alerta de paisagem] 18 computadores não entraram em contato com o Landscape nos últimos 5 minutos ", embora todos os servidores estejam ativos e funcionando.

Estou enfrentando sérios problemas no Openstack também (não consigo lançar novas instâncias, volumes de backup, etc.) e acho que o problema está relacionado.

    
por Sacha Yunusic 13.03.2015 / 18:11

1 resposta

5

Após a sessão de depuração por meio dos comentários da pergunta original, descobrimos qual é o problema.

Ao usar um certificado autoassinado, o encanto do apache2 tinha um bug no qual ele geraria um certificado com apenas 30 dias de validade.

O que aconteceu é que expirou. Isso foi corrigido em uma versão mais recente do charme, então o que faremos é atualizar para isso e acionar uma nova geração de certificados.

Siga estas etapas para atualizar o encanto e gerar novamente o certificado:

  1. Executar juju ssh apache2/0 'sudo rm -f /etc/ssl/certs/apache2.cert /etc/ssl/private/apache2.key /etc/ssl/certs/landscape_server_ca.crt' .
  2. Executar juju upgrade-charm apache2 . Isso irá atualizar o charme, e o novo charme, uma vez que não há certificados (excluídos no primeiro passo), irá gerar um novo par.
  3. Assista a saída de juju debug-log até que ela se acalme.
  4. Execute juju ssh apache2/0 'sudo service apache2 restart' (arquivarei um bug sobre esta etapa: não deve ser necessário, mas está agora)

Agora precisamos informar os clientes sobre esse novo certificado. Isso é um pouco mais complicado, porque os clientes estão rodando em outro ambiente de juju que existe na unidade landscape / 0, semelhante ao início. Siga estas etapas:

  1. Pegue o novo certificado: juju scp apache2/0:/etc/ssl/certs/apache2.cert .
  2. Verifique se as permissões são 0644: chmod 0644 apache2.cert
  3. Verifique se expira daqui a 10 anos: openssl x509 -in apache2.cert -noout -enddate
  4. Faça o upload para landscape / 0: juju scp apache2.cert landscape/0:/tmp
  5. Faça login no landscape / 0: juju ssh landscape/0
  6. Alterar o shell do usuário do paisagem: sudo chsh -s /bin/bash landscape
  7. Torne-se paisagem: sudo -u landscape -i
  8. Aponte para o ambiente cloud juju: export JUJU_HOME=/var/lib/landscape/juju-homes/$(ls -1t /var/lib/landscape/juju-homes/|head -n 1)
  9. Execute isto para confirmar que o juju está funcionando nesse ambiente: juju status . Você deve ver muitos serviços do OpenStack
  10. Diga ao cliente-paisagem sobre o novo certificado: juju set landscape-client ssl-public-key="base64:$(cat /tmp/apache2.cert|base64)"
  11. Assista a saída de juju debug-log até que ela se acalme
  12. Reinicie o cliente paisagem em todos os lugares: juju run --service landscape-client 'sudo service landscape-client restart'
  13. Se o comando acima falhar com algo sobre os serviços subordinados não serem suportados, execute isso: juju run --all 'sudo service landscape-client restart'

Você pode fazer o login em um cliente e ver o arquivo broker.log, ver se o erro SSL persiste.

    
por Andreas Hasenack 16.03.2015 / 21:45