2016-08-25 6 views
-4

で作成されたインスタンスのIPアドレスを取得します。私は、AWS EC2インスタンスを作成するためにAnsibleの脚本

include: launch.yml 

を使用していますAnsibleの脚本を持っています。私はその後、私はIPアドレスを取得し、停止AWSインスタンスの役割に明示的にそれを送信するかどうかはわかりません

hosts: server-launch 
sudo: yes 
gather_facts: yes 
vars_files: 
    - vars.yml 

roles: 
    - { role: "role1" } 
    - { role: "role2" } 
    - { role: "stop aws instance", ip_address: "" } 

を持っています。これについてどうすればいいですか?これはAnsible v2.1.1.0用です。

+0

私はリテラルコードを投稿する自由がありませんが、必要な箇所を明確にすることができます。私が投稿したのは、名前を除いて、実際のコードとほとんど変わりません。 – danielhklein

+1

インスタンスを起動した後、どのようにIPアドレスを取得しますか? –

答えて

-1

この問題を解決するために、私はec2実装を使用していませんでした。代わりに、私は上記の「role2の」に以下の行を追加:

- name: restart machine 
    shell: sleep 2 && shutdown -r now "Ansible updates triggered" 
    async: 1 
    poll: 0 
    sudo: true 
    ignore_errors: true 

- name: waiting for server to come back 
    local_action: wait_for host={{ inventory_hostname }} state=started delay=30 timeout=300 
    sudo: false 

hereを見つけました。それはうまくいっています。

関連する問題