How do I get No hosts found. Please specify (single) host string for connection: ?
How to a resolve with fabric?
def bootstrap():
host = \'ec2-54-xx
Instead of setting hosts inside your task, do it before it gets called with a decorator:
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"
For more information on this, check out Defining host lists - there are a lot of different ways to do it depending on what you need.
Also you can use env.host_string instead of 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"
Alternatevly you can set env settings in outside your functions
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')