Redémarrer un host distant avec Fabric

Boris HUISGEN

Le redémarrage d’un host avec Fabric est parfois compliqué à gérer.
L’opération reboot
fournie par Fabric étant dysfonctionnelle et dépréciée, il convient d’utiliser une méthode manuelle et sûre :
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")
Le délai d’attente peut être adaptée au besoin, mais la déconnexion à l’hôte est requise pour que Fabric puisse ré-établir le tunnel SSH.