2014-02-21 2 views
0

저는 파이썬 2.6/패브릭 1.8.0을 사용하며 다른 로컬 경로와 변수를 포함하는 여러 호스트가 있습니다.패브릭의 호스트 목록에 대해 작업을 실행하는 방법

import 
.... 

def vmm_two_a(): 
    env.hosts = 'xxx.xx.xx.xx' 
    env.user = 'tom' 
    env.password = password_from_netrc(env.hosts,env.user) 
    global local_path 
    local_path = '/home/vmm_two_a/binaries' 

def vmm_two_mgmt(): 
    env.hosts = 'xxx.xx.xx.xx' 
    env.user = 'john' 
    env.password = password_from_netrc(env.hosts,env.user) 
    global local_path 
    local_path = '/home/vmm_two_mgmt/binaries' 


def get_etc_binaries(): 
''' Get all etc binaries deployed ''' 
with hide('stderr','stdout','output','running', 'warnings'): 
    settings(warn_only=True) 
    get('/usr/local/etc', local_path) 

모든 호스트에 대해이 작업을 수행하는 방법은 무엇입니까? 나는 성공없이 fab -H를 시도했다. 당신은 ENV 설정 작업을 호출 할 필요가 거라고이 경우 당신의 도움이

답변

0

에 대한

덕분에 get_etc_binaries 작업하기 전에 각 시간을 바르. local_path를 env.local_path로 만들 수도 있으므로 더 쉽게 공유 할 수 있습니다.

다음과 같은 호출은 다음과 같이 표시됩니다. fab vmm_twomgmt get_etc_binaries vmm_two_a get_etc_binaries