env.hosts와 작동하게하는 방법이 있습니까? 수동으로 루프를 돌릴 때마다 여러 개의 호스트를 실행해야 할 때마다 반대가됩니까? 파이썬 패브릭을 찾을 수 없습니다. 'env.host_string'을 수동으로 설정해야합니다.
나는 매우 불편하고 kludgey 패브릭 명령 행 호출을 사용 할 필요가 없게하는, 직물 API를 사용하는 것을 시도하고있다. 하나의 모듈/클래스에 env.hosts 변수를 설정 한 다음 다른 클래스 인스턴스 메소드를 호출하여 패브릭 명령을 실행합니다. 호출 된 클래스 인스턴스에서 env.hosts 목록을 출력 할 수 있습니다. 그러나 명령을 실행하려고하면 호스트를 찾을 수 없다고 알려줍니다. I 상기 env.hosts 배열을 반복하고 수동이 env.hosts 배열의 각 호스트에 대한 env.host 변수를 설정하면 , 나는 실행 명령이 작동 할 수 있습니다. 이상하게도 나는 호출 클래스에서 env.user 변수를 설정했고 은입니다.이에서
def upTest(self):
print('env.hosts = ' + str(env.hosts))
for host in env.hosts:
env.host_string = host
print('env.host_string = ' + env.host_string)
run("uptime")
출력 :이 작품
env.hosts = ['ec2-....amazonaws.com']
env.host_string = ec2-....amazonaws.com
[ec2-....amazonaws.com] run: uptime
[ec2-....amazonaws.com] out: 18:21:15 up 2 days, 2:13, 1 user, load average: 0.00, 0.01, 0.05
[ec2-....amazonaws.com] out:
이 작동하지 않습니다 ...하지만 당신이 "공장"파일을 실행하면 작동합니까 ... 어떤 의미로하지 않습니다 나를.
No hosts found. Please specify (single) host string for connection:
나는 방법상의 @task의 장식을 넣어 (그리고 장식은 그렇게하지 않았다 때문에 '자기'참조를 제거) 시도했다 :
def upTest(self):
print('env.hosts = ' + str(env.hosts))
run("uptime")
이
이 출력됩니다. 그러나 아무 도움도.env.hosts와 작동하게하는 방법이 있습니까? 수동으로 루프를 돌릴 때마다 여러 개의 호스트를 실행해야 할 때마다 반대가됩니까?