web-dev-qa-db-fra.com

Les ordinateurs ne rapportent pas au paysage

J'avais travaillé Landscape après avoir installé Openstack avec openstack-installer. Après un certain temps, et après tout redémarrage, et après quelques difficultés avec juju ( Landscape ne fonctionne pas après un redémarrage avec juju-core 1.20.x ), Landscape fonctionne à nouveau, ainsi que Openstack.

Le problème est qu'aucun ordinateur ne signale à Landscape. Je reçois toutes les 5 minutes un e-mail avec le sujet " [Landscape Alert] 18 ordinateurs n'ont pas contacté Landscape au cours des 5 dernières minutes ", même si tous les serveurs sont opérationnels.

Je suis également confronté à de graves problèmes sur Openstack (je ne peux pas lancer de nouvelles instances, des volumes de sauvegarde, etc.) et je suppose que le problème est lié.

3
Sacha Yunusic

Après la session de débogage via des commentaires sur la question d'origine, nous avons découvert le problème.

Lors de l'utilisation d'un certificat auto-signé, le charme d'Apache2 avait un bug où il générerait un tel certificat avec seulement 30 jours de validité.

Ce qui s'est passé, c'est qu'elle a expiré. Cela a été corrigé dans une version plus récente du charme, donc ce que nous allons faire est de mettre à niveau vers cela et de déclencher une nouvelle génération de certificat.

Veuillez suivre ces étapes pour mettre à niveau le charme et régénérer le certificat:

  1. Exécutez 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. Exécutez juju upgrade-charm Apache2. Cela améliorera le charme et le nouveau charme, une fois qu'il verra qu'il n'y a pas de certificats (supprimés à la première étape), générera une nouvelle paire.
  3. Regardez la sortie de juju debug-log Jusqu'à ce qu'elle se calme.
  4. Exécutez juju ssh Apache2/0 'Sudo service Apache2 restart' (Je vais déposer un bogue à propos de cette étape: cela ne devrait pas être nécessaire, mais il est pour le moment)

Nous devons maintenant informer les clients de ce nouveau certificat. C'est un peu plus délicat, car les clients s'exécutent dans un autre environnement juju qui existe sur l'unité paysage/0, comme au début. Suivez ces étapes:

  1. Prenez le nouveau certificat: juju scp Apache2/0:/etc/ssl/certs/Apache2.cert .
  2. Assurez-vous que les autorisations sont 0644: chmod 0644 Apache2.cert
  3. Vérifiez qu'il expire dans 10 ans: openssl x509 -in Apache2.cert -noout -enddate
  4. Téléchargez-le dans le paysage/0: juju scp Apache2.cert landscape/0:/tmp
  5. Connectez-vous sur paysage/0: juju ssh landscape/0
  6. Changez le shell utilisateur du paysage: Sudo chsh -s /bin/bash landscape
  7. Devenez paysage: Sudo -u landscape -i
  8. Pointez sur l'environnement juju du cloud: export JUJU_HOME=/var/lib/landscape/juju-homes/$(ls -1t /var/lib/landscape/juju-homes/|head -n 1)
  9. Exécutez ceci pour confirmer que juju fonctionne dans cet environnement: juju status. Vous devriez voir beaucoup de services OpenStack
  10. Informez paysage-client du nouveau certificat: juju set landscape-client ssl-public-key="base64:$(cat /tmp/Apache2.cert|base64)"
  11. Regardez la sortie de juju debug-log Jusqu'à ce qu'elle se calme
  12. Redémarrez paysage-client partout: juju run --service landscape-client 'Sudo service landscape-client restart'
  13. Si la commande ci-dessus échoue avec quelque chose sur les services subordonnés non pris en charge, exécutez-le à la place: juju run --all 'Sudo service landscape-client restart'

Vous pouvez vous connecter sur un client et taper -f le fichier broker.log, voir si l'erreur SSL persiste.

5
Andreas Hasenack