Fabric : redémarrer un host distant

Boris HUISGEN
Boris HUISGEN
|

Le redémarrage d’un host avec Fabric est parfois compliqué à gérer.

Voici la méthode que j’utilise pour redémarrer convenablement un hôte en lieu et place de la méthode reboot fournie par l’API :

1from fabric.state import *
2
3def mytask:
4    sudo("shutdown -r +1")
5    time.sleep(120)
6    connections[env.host_string].get_transport().close()
7    run("uptime")

Cette méthode est fonctionnelle avec une instance EC2 sous systemd. Le délai d’attente peut être adaptée au besoin, mais la déconnexion à l’hôte est forcée pour que Fabric puisse ré-établir le tunnel SSH.

Boris HUISGEN
Boris HUISGEN
Blog owner
  • #fabric