When I run this fabfile.py
...
from fabric.api import env, run, local, cd
def setenv(foo):
env.hosts = ['myhost']
def mycmd(foo):
setenv(foo)
print(env.hosts)
run('ls')
with this command fab mycmd:bar
. I get this output...
['myhost']
No hosts found. Please specify (single) host string for connection:
What, what?! I don't get it? I've set the env.hosts
and it seems to be valid "inside" the mycmd
function, but for some reason that run
command doesn't know about the hosts
I've specified.
Color me confused. Any help would be appreciated!