Python Fabric - нет хостов. Укажите (единственную) строку хоста для подключения:
Как мне получить Не найдено хостов. Укажите (единственную) строку хоста для соединения:?
Как разрешить работу с тканью?
def bootstrap():
host = 'ec2-54-xxx.xxx.xxx.compute-1.amazonaws.com'
env.hosts = [host]
env.user = "ubuntu"
env.key_filename = "/home/ubuntu/omg.pem"
fab boostrap
No hosts found. Please specify (single) host string for connection:
Ответы
Ответ 1
Вместо того, чтобы устанавливать хосты внутри вашей задачи, сделайте это, прежде чем он будет вызван с помощью декоратора:
from fabric.api import hosts, env
@hosts(['ec2-54-xxx.xxx.xxx.compute-1.amazonaws.com'])
def bootstrap():
env.user = "ubuntu"
env.key_filename = "/home/ubuntu/omg.pem"
Для получения дополнительной информации об этом, Определение списков хостов - есть много разных способов сделать это в зависимости от того, что вам нужно.
Ответ 2
Также вы можете использовать env.host_string вместо env.hosts:
def bootstrap():
env.host_string # 'ec2-54-xxx.xxx.xxx.compute-1.amazonaws.com'
env.user = "ubuntu"
env.key_filename = "/home/ubuntu/omg.pem"
Ответ 3
Альтернативно вы можете установить настройки env вне своих функций
from fabric.api import env, run
host = 'ec2-54-xxx.xxx.xxx.compute-1.amazonaws.com'
env.hosts = [host]
env.user = "ubuntu"
env.key_filename = "/home/ubuntu/omg.pem"
def test():
run('ls -la')