私は、私たちは ファブRUN_SCRIPTを行う際には、いくつかの他のクライアント・システム上でテストケースを実行する(launch_process.sh経由)ファブリックスクリプトPythonの生地:トリッキーなSSHの問題
@task
@hosts('controller')
def run_script():
run('/test/launch_process.sh')
#below line didn't work
check_ps()
@task
@hosts('clients')
def check_ps():
run('ps aux | grep myprocess')
を実行するために使用するシステムを持っています
他のマシンでプロセスを起動します(machine2、machine3と仮定します)。 ここでは、プロセスの実行を確認するために 'ps'コマンドを使用します。 しかし、check_ps()は 'コントローラ'自体で動作します。クライアントでは動作しません。
これを達成する方法についてのご意見はありますか?
(passwdlessログインとのpopenまたはparamikoを使用せずに、解決策を探して)
なぜあなたは@hosts()に対して異なる引数を持っていますか? –
あなたの答えを見てください:http://stackoverflow.com/questions/5346135/can-a-python-fabric-task-invoke-other-tasks-and-respect-their-hosts-lists – FatBusinessman
THanks a lot !! :-) – Aravindh