У меня есть скрипт, который создает AWS экземпляров и использует fabric == 2.5.0 для их настройки. Вот моя проблема с использованием экземпляра Fabric2 Connection в сценарии:
def setup_site(self, ip, name):
connection = Connection(ip, user='toolman')
# If I put ipdb here, just continuing it will work.
# If take the debug line out, it will fail
# with "NoValidConnectionsError: [Errno None] Unable to connect to port 22 on ..."
# import ipdb; ipdb.set_trace()
connection.put(self.create_setup_file(name), 'setup.yaml')
Я могу просто нажать 'c', чтобы продолжить отладчик, и все работает каждый раз. Если у меня нет строки отладчика, вызов connection.put завершается ошибкой каждый раз с «NoValidConnectionsError: [Errno None] Невозможно подключиться к порту 22 на ...».
AWS экземпляр, в который он помещает файл, работает (instance.wait_until_running () возвращается в коде, вызывающем setup_site).