Фабрика ждет ввода в хосты Amazon Linux и не продолжается

Я пытаюсь использовать инструмент развертывания, ткань. Мне удалось выполнить команду fab для хостов CentOS и Ubuntu EC2. Но я не смог выполнить для хостов инстанса Amazon Linux EC2.

Команда, которую я выполнил, следующая:

$ fab -f fab_test.py getHostname

fab_test.py:

$ cat fab_test.py
from fabric.api import run, env

env.hosts = ["*** host ip addr ***"]
env.user = "ec2-user" # clduser for CentOS and ubuntu for UbuntuOS
env.port = "*** port number ***"
env.key_filename = "/path/to/clduser.pem"

def getHostname():
    run("hostname")

успешный результат:

[*** host ip addr ***] Executing task 'getHostname'
[*** host ip addr ***] run: hostname
[*** host ip addr ***] out: host-name
[*** host ip addr ***] out:


Done.

неудачный результат:

[*** host ip addr ***] Executing task 'getHostname'
[*** host ip addr ***] run: hostname
[*** host ip addr ***] out: [ec2-user@host-name ~]$

"fail" означает, что матрица ожидает ввода и не выполняет команду "hostname". Когда я ввожу какую-либо команду для запроса, она выполняется правильно на удаленном хосте. Поэтому я думаю, что установление соединения ssh - это нормально Экземпляры Amazon Linux только что созданы, и ничего не установлено. Гостевая машина также является EC2 экземпляром Amazon Linux.

Кто-нибудь может решить эту проблему? Я не мог найти решение, выполнив поиск в Google. Спасибо.

0 ответов

Другие вопросы по тегам