これを行うことで、ホストにファブリックを割り当てることができることを知っています:
env.hosts = ['host1', 'host2']
しかし、私はこれを行うことができますか?
myList = ['host1', 'host2']
env.hosts = myList
Boto (Amazon AWS から) を使用して「public_dns_name」のリストを取得し、それらのサーバーでコマンドを実行したいと考えています。サーバー リストは動的になる可能性があるため、ホスト環境変数を静的ではなく割り当てることができる必要があります。誰でも解決策を提案できますか?
myHosts = []
for i in myInstances:
publicDnsAddress = i.public_dns_name
myHosts.append(i.public_dns_name)
print ("public dns address: " + publicDnsAddress)
print ("myHosts = " + str(myHosts))
env.hosts=myHosts
env.user='myUser'
run("/scripts/remote_script.py")
次のエラーが表示されます。
No hosts found. Please specify (single) host string for connection:
ホスト名が悪い場合、ホストが見つからないというメッセージではなく、少なくとも接続エラーが発生することが予想されます。確かに、私はこのことを間違っていると呼んでいるかもしれませんが、繰り返しになりますが、それが私が助けを求めている理由です.