Get the current value of env.hosts list with Python Fabric Library

user402250 picture user402250 · Jul 26, 2010 · Viewed 17.1k times · Source

I've got this code (foo and bar are local servers):

env.hosts = ['foo', 'bar']

def mytask():
    print(env.hosts[0])

Which, of course prints foo every iteration.

As you probably know, Fabric iterates through the env.hosts list and executes mytask() on each of them this way:

fab mytask

does

task is executed on foo
task is executed on bar

I'm looking for a way to get the current host in every iteration.

Thanks,

Answer

Marcelo Cantos picture Marcelo Cantos · Jul 26, 2010

Use env.host_string. You can find a full list of env variables here.