Функция get_hostname
не будет вызываться, если вы не укажете ее в аргументах fab, вызов ее в if __name__ == '__main__'
не будет делать то, что вы думаете, потому что fabfile не похож на обычный скрипт на python.
То, что вам нужно сделать, это вызвать ваш файл fabfile следующим образом: fab get_hostname run_cmd
, и для получения более последовательной ошибки вы можете использовать требуют функцию, подобную этой:
from fabric.api import require
def run_cmd():
require('hosts', provided_by=[get_hostname])