我有一个使用
的Ansible剧本include: launch.yml
创建AWS EC2实例。然后我
hosts: server-launch
sudo: yes
gather_facts: yes
vars_files:
- vars.yml
roles:
- { role: "role1" }
- { role: "role2" }
- { role: "stop aws instance", ip_address: "" }
我不确定如何获取IP地址并将其明确发送到stop aws实例角色。我怎么能这样做?这适用于Ansible v2.1.1.0。
答案 0 :(得分:-1)
我最终没有在Ansible中使用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。这一直运作良好。