Я не совсем уверен, что remoteRun();
должен делать в вашем примере.
Это часть вашего fabfile или ваша терминальная команда для запуска скрипта?
В вашей оболочке будет правильная команда:
fab remoteRun
Как правило, лучше указать конкретные хосты, на которых ваша команда должна работать, так:
def localhost():
env.hosts = [ '127.0.0.1']
def remoteRun():
print "ENV %s" %(env.hosts)
out = run('uname -r')
print "Output %s"%(out)
Вы можете запустить его так из терминала (при условии, что вы находитесь в каталоге, в котором находится ваш файл):
fab localhost remoteRun
В качестве альтернативы вы можете указать хост с параметром -H:
fab -H 127.0.0.1 remoteRun
Если у вас есть список хостов, для которых вы хотите вызвать команду, сделайте это следующим образом:
http://readthedocs.org/docs/fabric/latest/usage/execution.html
С учетом вашего примера:
env.hosts = [ 'localhost', '127.0.0.1']
def remoteRun():
print "ENV %s" %(env.hosts)
out = run('uname -r')
print "Output %s"%(out)
И звонил через: fab remoteRun
Таким образом, remoteRun
выполняется на всех хостах в env.hosts
.